Gromacs  2026.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
embedded_system_preprocessing.h File Reference
#include <set>
#include <vector>
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/real.h"
#include "gromacs/utility/vectypes.h"
+ Include dependency graph for embedded_system_preprocessing.h:
+ This graph shows which files directly or indirectly include this file:

Description

Collection of topology preprocessing functions responsible for all modifications of the topology during input pre-processing when a part of the system is handled outside the classical MM approximation (e.g. QM/MM or neural-network/MM).

Author
Lukas Müllender lukas.nosp@m..mue.nosp@m.llend.nosp@m.er@g.nosp@m.mail..nosp@m.com

Classes

class  gmx::LinkFrontierAtom
 Helper class with indexes of broken bonds between embedded and MM. More...
 

Functions

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...
 
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...
 
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...