Gromacs  2025.0-dev-20241009-5c23d5f
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
#include "gmxpre.h"
#include "gromacs/domdec/reversetopology.h"
#include <cstdio>
#include <algorithm>
#include <memory>
#include <vector>
#include "gromacs/domdec/domdec_constraints.h"
#include "gromacs/domdec/domdec_internal.h"
#include "gromacs/domdec/domdec_struct.h"
#include "gromacs/domdec/domdec_vsite.h"
#include "gromacs/domdec/options.h"
#include "gromacs/math/vec.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdlib/gmx_omp_nthreads.h"
#include "gromacs/mdlib/vsite.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/md_enums.h"
#include "gromacs/topology/atoms.h"
#include "gromacs/topology/ifunc.h"
#include "gromacs/topology/mtop_util.h"
#include "gromacs/topology/topology.h"
#include "gromacs/topology/topology_enums.h"
#include "gromacs/topology/topsort.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxassert.h"
+ Include dependency graph for reversetopology.cpp:

Description

This file defines functions used in making the reverse topology.

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se

Classes

struct  gmx_reverse_top_t::Impl
 Struct for the reverse topology: links bonded interactions to atoms. More...
 

Functions

int nral_rt (int ftype)
 Returns the number of atom entries for il in gmx_reverse_top_t.
 
bool dd_check_ftype (const int ftype, const ReverseTopOptions &rtOptions)
 Return whether interactions of type ftype need to be assigned exactly once.
 
MolecularTopologyAtomIndices globalAtomIndexToMoltypeIndices (const gmx::ArrayRef< const MolblockIndices > molblockIndices, const int globalAtomIndex)
 Return global topology molecule information for global atom index globalAtomIndex.
 
static int getMaxNumExclusionsPerAtom (const ListOfLists< int > &excls)
 Returns the maximum number of exclusions per atom.
 
static void low_make_reverse_ilist (const InteractionLists &il_mt, const t_atom *atom, int *count, const ReverseTopOptions &rtOptions, gmx::ArrayRef< const int > r_index, gmx::ArrayRef< int > r_il, const AtomLinkRule atomLinkRule, const bool assignReverseIlist)
 Run the reverse ilist generation and store it in r_il when bAssign = TRUE.
 
void make_reverse_ilist (const InteractionLists &ilist, const t_atoms *atoms, const ReverseTopOptions &rtOptions, const AtomLinkRule atomLinkRule, reverse_ilist_t *ril_mt)
 Make the reverse ilist: a list of bonded interactions linked to atoms.
 
void dd_make_reverse_top (FILE *fplog, gmx_domdec_t *dd, const gmx_mtop_t &mtop, const gmx::VirtualSitesHandler *vsite, const t_inputrec &inputrec, const DDBondedChecking ddBondedChecking)