Gromacs  2026.0-dev-20251119-5f0a571d
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
embedded_system_preprocessing.cpp File Reference
#include "gromacs/topology/embedded_system_preprocessing.h"
#include "gromacs/fileio/warninp.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/selection/indexutil.h"
#include "gromacs/topology/atoms.h"
#include "gromacs/topology/idef.h"
#include "gromacs/topology/ifunc.h"
#include "gromacs/topology/mtop_atomloops.h"
#include "gromacs/topology/mtop_lookup.h"
#include "gromacs/topology/mtop_util.h"
#include "gromacs/topology/topology.h"
#include "gromacs/utility/enumerationhelpers.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/logger.h"
+ Include dependency graph for embedded_system_preprocessing.cpp:

Description

Implements embedded system topology preprocessing functions.

Author
Lukas Müllender lukas.nosp@m..mue.nosp@m.llend.nosp@m.er@g.nosp@m.mail..nosp@m.com
Dmitry Morozov dmitr.nosp@m.y.mo.nosp@m.rozov.nosp@m.@jyu.nosp@m..fi

Functions

static bool gmx::isEmbeddedAtom (Index globalAtomIndex, const std::set< int > &embeddedIndices)
 
std::vector< bool > gmx::splitEmbeddedBlocks (gmx_mtop_t *mtop, const std::set< int > &embeddedIndices)
 Splits embedded atom containing molecules out of MM blocks in topology. More...
 
std::vector< realgmx::removeEmbeddedClassicalCharges (gmx_mtop_t *mtop, const std::set< int > &embeddedIndices, const std::vector< bool > &isEmbeddedBlock, real refQ, const MDLogger &logger, WarningHandler *wi)
 Removes classical charges from embedded atoms and virtual sites. More...
 
void gmx::addEmbeddedNBExclusions (gmx_mtop_t *mtop, const std::set< int > &embeddedIndices, const MDLogger &logger)
 Build exclusion list for non-bonded interactions between embedded atoms. More...
 
std::vector< int > gmx::buildEmbeddedAtomNumbers (const gmx_mtop_t &mtop)
 Builds and returns a vector of atom numbers for all atoms in mtop. More...
 
void gmx::modifyEmbeddedTwoCenterInteractions (gmx_mtop_t *mtop, const std::set< int > &embeddedIndices, const std::vector< bool > &isEmbeddedBlock, const MDLogger &logger)
 Modifies pairwise bonded interactions. More...
 
std::vector< LinkFrontierAtom > gmx::buildLinkFrontier (gmx_mtop_t *mtop, const std::set< int > &embeddedIndices, const std::vector< bool > &isEmbeddedBlock, const MDLogger &logger)
 Builds link frontier vector with pairs of atoms indicting broken embedded - MM chemical bonds. More...
 
void gmx::modifyEmbeddedThreeCenterInteractions (gmx_mtop_t *mtop, const std::set< int > &embeddedIndices, const std::vector< bool > &isEmbeddedBlock, const MDLogger &logger)
 Modifies three-centers interactions (i.e. Angles, Settles) More...
 
void gmx::modifyEmbeddedFourCenterInteractions (gmx_mtop_t *mtop, const std::set< int > &embeddedIndices, const std::vector< bool > &isEmbeddedBlock, const MDLogger &logger)
 Modifies four-centers interactions. More...
 
void gmx::checkConstrainedBonds (gmx_mtop_t *mtop, const std::set< int > &embeddedIndices, const std::vector< bool > &isEmbeddedBlock, WarningHandler *wi)
 Checks for constrained bonds within embedded subsystem. More...