Gromacs
2024.3
|
#include <gromacs/applied_forces/qmmm/qmmmtopologypreprocessor.h>
Class implementing gmx_mtop_t QMMM modifications during preprocessing 1) Split QM-containing molecules from other molecules in blocks 2) Nullify charges on all virtual sites consisting of QM only atoms 3) Nullifies charges on all QM atoms 4) Excludes LJ interactions between QM atoms 5) Builds vector with atomic numbers of all atoms 6) Makes F_CONNBOND between atoms within QM region 7) Removes angles and settles containing 2 or more QM atoms 8) Removes dihedrals containing 3 or more QM atoms 9) Builds vector containing pairs of bonded QM - MM atoms (Link frontier)
Public Member Functions | |
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. | |
Constructor for QMMMTopologyPreprocessor from its parameters.
[in] | qmIndices | Array with global indicies of QM atoms |
void gmx::QMMMTopologyPreprocessor::preprocess | ( | gmx_mtop_t * | mtop | ) |
Pocesses mtop topology and prepares atomNumbers_ and linkFrontier_ vectors Builds topInfo_ containing information about topology modifications.
[in,out] | mtop | Topology that needs to be modified |