Gromacs
2024.4
|
#include "gmxpre.h"
#include "gromacs/domdec/computemultibodycutoffs.h"
#include <vector>
#include "gromacs/domdec/options.h"
#include "gromacs/domdec/reversetopology.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/pbcutil/mshift.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/topology/mtop_util.h"
#include "gromacs/topology/topology.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/logger.h"
This file defines functions used by the domdec module while managing the construction, use and error checking for topologies local to a DD rank.
Functions | |
static void | update_max_bonded_distance (real r2, int ftype, int a1, int a2, bonded_distance_t *bd) |
Compare distance^2 r2 against the distance in bd and if larger store it along with ftype and atom indices a1 and a2 . | |
template<bool usePbc> | |
static real | distanceSquared (const t_pbc *pbc, const RVec &x1, const RVec &x2) |
Returns the squared distance between two atoms, with or without PBC correction. | |
template<bool usePbc> | |
static void | bonded_cg_distance_mol (const gmx_moltype_t *molt, const DDBondedChecking ddBondedChecking, gmx_bool bExcl, const t_pbc *pbc, ArrayRef< const RVec > x, bonded_distance_t *bd_2b, bonded_distance_t *bd_mb) |
Set the distance, function type and atom indices for the longest distance between atoms of molecule type molt for two-body and multi-body bonded interactions. | |
static void | bonded_distance_intermol (const InteractionLists &ilists_intermol, const DDBondedChecking ddBondedChecking, ArrayRef< const RVec > x, PbcType pbcType, const matrix box, bonded_distance_t *bd_2b, bonded_distance_t *bd_mb) |
Set the distance, function type and atom indices for the longest atom distance involved in intermolecular interactions for two-body and multi-body bonded interactions. | |
static bool | moltypeHasVsite (const gmx_moltype_t &molt) |
Returns whether molt has at least one virtual site. | |
static void | getWholeMoleculeCoordinates (const gmx_moltype_t *molt, const gmx_ffparams_t *ffparams, PbcType pbcType, t_graph *graph, const matrix box, ArrayRef< const RVec > x, ArrayRef< RVec > xs) |
Returns coordinates not broken over PBC for a molecule. | |
void | dd_bonded_cg_distance (const gmx::MDLogger &mdlog, const gmx_mtop_t &mtop, const t_inputrec &inputrec, ArrayRef< const RVec > x, const matrix box, const DDBondedChecking ddBondedChecking, real *r_2b, real *r_mb) |