|
Gromacs
2026.0-dev-20251119-5f0a571d
|
#include "gmxpre.h"#include "gromacs/domdec/computemultibodycutoffs.h"#include <cmath>#include <memory>#include <optional>#include <vector>#include "gromacs/domdec/options.h"#include "gromacs/domdec/reversetopology.h"#include "gromacs/mdlib/vsite.h"#include "gromacs/mdtypes/inputrec.h"#include "gromacs/mdtypes/md_enums.h"#include "gromacs/pbcutil/mshift.h"#include "gromacs/pbcutil/pbc.h"#include "gromacs/topology/forcefieldparameters.h"#include "gromacs/topology/idef.h"#include "gromacs/topology/ifunc.h"#include "gromacs/topology/mtop_util.h"#include "gromacs/topology/topology.h"#include "gromacs/utility/arrayref.h"#include "gromacs/utility/basedefinitions.h"#include "gromacs/utility/enumerationhelpers.h"#include "gromacs/utility/gmxassert.h"#include "gromacs/utility/listoflists.h"#include "gromacs/utility/logger.h"#include "gromacs/utility/vec.h"
Include dependency graph for computemultibodycutoffs.cpp: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 (const real r2, const std::optional< InteractionFunction > ftype, const int a1, const int a2, std::optional< 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, std::optional< bonded_distance_t > *bd_2b, std::optional< 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, std::optional< bonded_distance_t > *bd_2b, std::optional< 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) |
1.8.5