Add margin as input to pullGroupObeysPbcRestrictions
[alexxy/gromacs.git] / src / gromacs / pulling / pull.h
index ccb7cb8ab0c71b1745529374d75189bf387de020..9ea3eefe200d4d5b768c31ba4d5f4d85d6fcd990 100644 (file)
@@ -288,7 +288,7 @@ void pull_calc_coms(const t_commrec *cr,
                     const rvec       x[],
                     rvec            *xp);
 
-/*! \brief Margin for checking PBC distances compared to half the box size in pullCheckPbcWithinGroups() */
+/*! \brief Margin for checking pull group PBC distances compared to half the box size */
 static constexpr real c_pullGroupPbcMargin = 0.9;
 
 /*! \brief Checks whether all groups that use a reference atom are within PBC restrictions
@@ -297,19 +297,22 @@ static constexpr real c_pullGroupPbcMargin = 0.9;
  * atoms within half the box size from the PBC atom. The box size is used
  * per dimension for rectangular boxes, but can be a combination of
  * dimensions for triclinic boxes, depending on which dimensions are
- * involved in the pull coordinates a group is involved in.
+ * involved in the pull coordinates a group is involved in. A margin is specified
+ * to ensure that atoms are not too close to the maximum distance.
  *
  * Should be called without MPI parallelization and after pull_calc_coms()
  * has been called at least once.
  *
- * \param[in] pull  The pull data structure
- * \param[in] x     The coordinates
- * \param[in] pbc   Information struct about periodicity
+ * \param[in] pull       The pull data structure
+ * \param[in] x          The coordinates
+ * \param[in] pbc        Information struct about periodicity
+ * \param[in] pbcMargin  The minimum margin (as a fraction) to half the box size
  * \returns -1 when all groups obey PBC or the first group index that fails PBC
  */
 int pullCheckPbcWithinGroups(const pull_t &pull,
                              const rvec   *x,
-                             const t_pbc  &pbc);
+                             const t_pbc  &pbc,
+                             real          pbcMargin);
 
 /*! \brief Returns if we have pull coordinates with potential pulling.
  *