Gromacs  2025-dev-20240718-982dfdc
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Enumerations | Functions
#include <cstdio>
#include <memory>
#include <vector>
#include "gromacs/mdlib/vsite.h"
#include "gromacs/topology/idef.h"
#include "gromacs/utility/listoflists.h"
+ Include dependency graph for reversetopology.h:
+ This graph shows which files directly or indirectly include this file:


This file makes declarations used for building the reverse topology.


struct  thread_work_t
 Struct for thread local work data for local topology generation. More...
struct  ReverseTopOptions
 Options for setting up gmx_reverse_top_t. More...
class  gmx_reverse_top_t
 Reverse topology class. More...
struct  MolecularTopologyAtomIndices
 Molecular topology indices of a global molecule a global atom belongs to. More...


enum  AtomLinkRule { AtomLinkRule::FirstAtom, AtomLinkRule::AllAtomsInBondeds }
 Options for linking atoms in make_reverse_ilist. More...


int nral_rt (int ftype)
 Returns the number of atom entries for il in gmx_reverse_top_t.
bool dd_check_ftype (int ftype, const ReverseTopOptions &rtOptions)
 Return whether interactions of type ftype need to be assigned exactly once.
MolecularTopologyAtomIndices globalAtomIndexToMoltypeIndices (gmx::ArrayRef< const MolblockIndices > molblockIndices, int globalAtomIndex)
 Return global topology molecule information for global atom index globalAtomIndex.
void make_reverse_ilist (const InteractionLists &ilist, const t_atoms *atoms, const ReverseTopOptions &rtOptions, 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, gmx::DDBondedChecking ddBondedChecking)
 Generate and store the reverse topology.

Enumeration Type Documentation

enum AtomLinkRule

Options for linking atoms in make_reverse_ilist.


Link all interactions to the first atom in the atom list.


Link bonded interactions to all atoms involved, don't link vsites.