This file defines functions used by the domdec module while building topologies local to a domain.
- Author
- Berk Hess hess@.nosp@m.kth..nosp@m.se
|
static void | add_ifunc_for_vsites (t_iatom *tiatoms, const gmx_ga2la_t &ga2la, int nral, gmx_bool bHomeA, int a, int a_gl, int a_mol, const t_iatom *iatoms, InteractionList *il) |
| Store a vsite interaction at the end of il . More...
|
|
static void | add_posres (int mol, int a_mol, int numAtomsInMolecule, const gmx_molblock_t &molb, gmx::ArrayRef< int > iatoms, const t_iparams *ip_in, InteractionDefinitions *idef) |
| Store a position restraint in idef and iatoms, complex because the parameters are different for each entry.
|
|
static void | add_fbposres (int mol, int a_mol, int numAtomsInMolecule, const gmx_molblock_t &molb, gmx::ArrayRef< int > iatoms, const t_iparams *ip_in, InteractionDefinitions *idef) |
| Store a flat-bottomed position restraint in idef and iatoms, complex because the parameters are different for each entry.
|
|
static void | add_vsite (const gmx_ga2la_t &ga2la, gmx::ArrayRef< const int > index, gmx::ArrayRef< const int > rtil, int ftype, int nral, gmx_bool bHomeA, int a, int a_gl, int a_mol, const t_iatom *iatoms, InteractionDefinitions *idef) |
| Store a virtual site interaction, complex because of PBC and recursion.
|
|
static real | dd_dist2 (const t_pbc *pbc_null, ArrayRef< const RVec > coordinates, const int i, const int j) |
| Returns the squared distance between atoms i and j .
|
|
static void | combine_idef (InteractionDefinitions *dest, gmx::ArrayRef< const thread_work_t > src) |
| Append t_idef structures 1 to nsrc in src to *dest.
|
|
template<InteractionConnectivity interactionConnectivity> |
static int | assignInteractionsForAtom (const int atomIndex, const int globalAtomIndex, const int atomIndexInMolecule, gmx::ArrayRef< const int > index, gmx::ArrayRef< const int > rtil, const int ind_start, const int ind_end, const gmx_ga2la_t &ga2la, const gmx_domdec_zones_t *zones, const bool checkDistanceMultiBody, const ivec rcheck, const bool checkDistanceTwoBody, const real cutoffSquared, const t_pbc *pbc_null, ArrayRef< const RVec > coordinates, InteractionDefinitions *idef, const int iz, const DDBondedChecking ddBondedChecking) |
| Determine whether the local domain has responsibility for any of the bonded interactions for local atom atomIndex and assign those to the local domain. More...
|
|
static int | assignPositionRestraintsForAtom (const int atomIndex, const int mol, const int atomIndexInMolecule, const int numAtomsInMolecule, gmx::ArrayRef< const int > rtil, const int ind_start, const int ind_end, const gmx_molblock_t &molb, const t_iparams *ip_in, InteractionDefinitions *idef) |
| Determine whether the local domain has responsibility for any of the position restraints for local atom atomIndex and assign those to the local domain. More...
|
|
static int | make_bondeds_zone (gmx_reverse_top_t *rt, ArrayRef< const int > globalAtomIndices, const gmx_ga2la_t &ga2la, const gmx_domdec_zones_t *zones, const std::vector< gmx_molblock_t > &molb, const bool checkDistanceMultiBody, const ivec rcheck, const bool checkDistanceTwoBody, const real cutoffSquared, const t_pbc *pbc_null, ArrayRef< const RVec > coordinates, const t_iparams *ip_in, InteractionDefinitions *idef, int izone, const gmx::Range< int > &atomRange) |
| This function looks up and assigns bonded interactions for zone iz. More...
|
|
static void | make_exclusions_zone (ArrayRef< const int > globalAtomIndices, const gmx_ga2la_t &ga2la, gmx_domdec_zones_t *zones, ArrayRef< const MolblockIndices > molblockIndices, const std::vector< gmx_moltype_t > &moltype, gmx::ArrayRef< const int64_t > atomInfo, ListOfLists< int > *lexcls, int iz, int at_start, int at_end, const gmx::ArrayRef< const int > intermolecularExclusionGroup) |
| Set the exclusion data for i-zone iz .
|
|
static int | make_local_bondeds_excls (gmx_domdec_t *dd, gmx_domdec_zones_t *zones, const gmx_mtop_t &mtop, ArrayRef< const int64_t > atomInfo, const bool checkDistanceMultiBody, const ivec rcheck, const gmx_bool checkDistanceTwoBody, const real cutoff, const t_pbc *pbc_null, ArrayRef< const RVec > coordinates, InteractionDefinitions *idef, ListOfLists< int > *lexcls) |
| Generate and store all required local bonded interactions in idef and local exclusions in lexcls . More...
|
|
int | dd_make_local_top (gmx_domdec_t *dd, gmx_domdec_zones_t *zones, int npbcdim, matrix box, rvec cellsize_min, const ivec npulse, t_forcerec *fr, ArrayRef< const RVec > coordinates, const gmx_mtop_t &mtop, gmx::ArrayRef< const int64_t > atomInfo, gmx_localtop_t *ltop) |
|