Gromacs
2026.0-dev-20241213-9ac17bb
|
#include <gromacs/applied_forces/nnpot/nnpottopologypreprocessor.h>
Class responsible for all modifications of the topology during input pre-processing.
Inherits from QMMMTopologyPreprocessor and performs the following modifications for a scheme analoguous to mechanical embedding in QMMM: 1) Split molecules containing NNP input atoms from other molecules in blocks 2) Exclude non-bonded interactions between NNP atoms. 3) Build vector with atomic numbers of all atoms. 4) Make F_CONNBOND between atoms within NNP region. 5) Remove angles and settles containing 2 or more NNP atoms. 6) Remove dihedrals containing 3 or more NNP atoms.
Public Member Functions | |
NNPotTopologyPreprocessor (ArrayRef< const Index > inputIndices) | |
Constructor for NNPotTopologyPreprocessor from its parameters. More... | |
void | preprocess (gmx_mtop_t *mtop) |
Process mtop topology and builds topInfo_ containing information about topology modifications. More... | |
Public Member Functions inherited from gmx::QMMMTopologyPreprocessor | |
QMMMTopologyPreprocessor (ArrayRef< const Index > qmIndices) | |
Constructor for QMMMTopologyPreprocessor from its parameters. More... | |
void | preprocess (gmx_mtop_t *mtop) |
Pocesses mtop topology and prepares atomNumbers_ and linkFrontier_ vectors Builds topInfo_ containing information about topology modifications. More... | |
const QMMMTopologyInfo & | topInfo () const |
Returns data about modifications made via QMMMTopologyInfo. | |
ArrayRef< const int > | atomNumbers () const |
Returns view of atomic numbers for all atoms in the processed topology. | |
ArrayRef< const real > | atomCharges () const |
Returns view of point charges for all atoms in the processed topology. | |
ArrayRef< const LinkFrontier > | linkFrontier () const |
Returns view of the whole Link Frontier for the processed topology. | |
Additional Inherited Members | |
Protected Member Functions inherited from gmx::QMMMTopologyPreprocessor | |
bool | isQMAtom (Index globalAtomIndex) |
Retruns true if globalAtomIndex belongs to QM region. | |
void | splitQMblocks (gmx_mtop_t *mtop) |
Splits QM containing molecules out of MM blocks in topology Modifies blocks in topology Updates bQMBlock vector containing QM flags of all blocks in modified mtop. | |
void | removeQMClassicalCharges (gmx_mtop_t *mtop) |
Removes classical charges from QM atoms Provides data about removed charge via topInfo_. | |
void | addQMLJExclusions (gmx_mtop_t *mtop) |
Build exlusion list for LJ interactions between QM atoms. | |
void | buildQMMMAtomNumbers (gmx_mtop_t *mtop) |
Builds atomNumbers_ vector Provides data about total number of QM and MM atoms via topInfo_. | |
void | modifyQMMMTwoCenterInteractions (gmx_mtop_t *mtop) |
Modifies pairwise bonded interactions Removes any other pairwise bonded interactions between QM-QM atoms Creates F_CONNBOND between QM atoms Any restraints and constraints will be kept Provides data about modifications via topInfo_. | |
void | buildQMMMLink (gmx_mtop_t *mtop) |
Builds link_ vector with pairs of atoms indicting broken QM - MM chemical bonds. Also performs search of constrained bonds within QM subsystem. | |
void | modifyQMMMThreeCenterInteractions (gmx_mtop_t *mtop) |
Modifies three-centers interactions (i.e. Angles, Settles) Removes any other three-centers bonded interactions including 2 or more QM atoms Any restraints and constraints will be kept Any F_SETTLE containing QM atoms will be converted to the pair of F_CONNBONDS Provides data about modifications via topInfo_. | |
void | modifyQMMMFourCenterInteractions (gmx_mtop_t *mtop) |
Modifies four-centers interactions Removes any other four-centers bonded interactions including 3 or more QM atoms Any restraints and constraints will be kept Provides data about modifications via topInfo_. | |
void | modifyQMMMVirtualSites (gmx_mtop_t *mtop) |
Removes charge from all virtual sites which are consists of only QM atoms. | |
Constructor for NNPotTopologyPreprocessor from its parameters.
[in] | inputIndices | Array with global indices of NN input atoms |
void gmx::NNPotTopologyPreprocessor::preprocess | ( | gmx_mtop_t * | mtop | ) |
Process mtop topology and builds topInfo_ containing information about topology modifications.
[in,out] | mtop | Topology that needs to be modified |