Moving put_atoms_in_box_omp() to pbc.h
[alexxy/gromacs.git] / src / gromacs / pbcutil / pbc.h
index ad8d41ff05d8ead686d2a8f25d5c97489cb4d61f..dc70f22994e26a4cfc44d2f1d861dbb794f0d959 100644 (file)
@@ -306,12 +306,24 @@ int *compact_unitcell_edges();
  * These routines puts ONE or ALL atoms in the box, not caring
  * about charge groups!
  * Also works for triclinic cells.
- * \param[in]    ePBC   The pbc type
- * \param[in]    box    The simulation box
+ * \param[in]     ePBC   The pbc type
+ * \param[in]     box    The simulation box
  * \param[in,out] x      The coordinates of the atoms
  */
 void put_atoms_in_box(int ePBC, const matrix box, gmx::ArrayRef<gmx::RVec> x);
 
+/*! \brief Parallellizes put_atoms_in_box()
+ *
+ * This wrapper function around put_atoms_in_box() with the ugly manual
+ * workload splitting is needed to avoid silently introducing multithreading
+ * in tools.
+ * \param[in]     ePBC       The pbc type
+ * \param[in]     box        The simulation box
+ * \param[in,out] x          The coordinates of the atoms
+ * \param[in]     nth        number of threads to be used in the given module
+ */
+void put_atoms_in_box_omp(int ePBC, const matrix box, gmx::ArrayRef<gmx::RVec> x, gmx_unused int nth);
+
 /*! \brief Put atoms inside triclinic box
  *
  * This puts ALL atoms in the triclinic unit cell, centered around the