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
* 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.
*