Gromacs  2026.0-dev-20251119-5f0a571d
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
gmx::anonymous_namespace{nnpotoptions.cpp} Namespace Reference

Functions

std::string moduleName ()
 Helper function to make a std::string containing the module name.
 
std::vector< LinkFrontierAtompreprocessNNPotTopology (gmx_mtop_t *mtop, ArrayRef< const Index > nnpIndices, const NNPotEmbedding &embedding, const real &nnpCharge, const MDLogger &logger, WarningHandler *wi)
 Helper function to preprocess topology for NNP. More...
 

Variables

const std::string c_activeTag_ = "active"
 Following Tags denote names of parameters from .mdp file. More...
 
const std::string c_modelFileNameTag_ = "modelfile"
 
const std::string c_inputGroupTag_ = "input-group"
 
const std::string c_linkTypeTag_ = "link-type"
 
const std::string c_linkDistanceTag_ = "link-distance"
 
const std::string c_pairCutoffTag_ = "pair-cutoff"
 
const std::string c_nnpChargeTag_ = "nnp-charge"
 
const std::string c_embeddingTag_ = "embedding"
 
const EnumerationArray
< NNPotEmbedding, const char * > 
c_embeddingSchemeNames
 The names of the supported embedding schemes. More...
 
const std::string c_modelInput1Tag_ = "model-input1"
 User defined input to NN model. More...
 
const std::string c_modelInput2Tag_ = "model-input2"
 
const std::string c_modelInput3Tag_ = "model-input3"
 
const std::string c_modelInput4Tag_ = "model-input4"
 
const std::string c_modelInput5Tag_ = "model-input5"
 
const std::string c_modelInput6Tag_ = "model-input6"
 
const std::string c_modelInput7Tag_ = "model-input7"
 
const std::string c_modelInput8Tag_ = "model-input8"
 
const std::string c_modelInput9Tag_ = "model-input9"
 
const std::string c_mmGroupTag_ = "mm-group"
 Following tags are needed to write parameters generated during preprocessing (grompp) to the .tpr file via KVT.
 
const std::string c_nnpLinkTag_ = "nnp-link"
 
const std::string c_mmLinkTag_ = "mm-link"
 

Function Documentation

std::vector<LinkFrontierAtom> gmx::anonymous_namespace{nnpotoptions.cpp}::preprocessNNPotTopology ( gmx_mtop_t *  mtop,
ArrayRef< const Index >  nnpIndices,
const NNPotEmbedding &  embedding,
const real nnpCharge,
const MDLogger &  logger,
WarningHandler wi 
)

Helper function to preprocess topology for NNP.

This function performs the following modifications:

  • Excludes non-bonded interactions between NNP atoms (LJ and Coulomb)
  • In case of electrostatic embedding: removes classical charges on NNP atoms
  • Removes bonds containing 1 or more NNP atoms
  • Removes angles and settles containing 2 or more NNP atoms
  • Removes dihedrals containing 3 or more NNP atoms

Variable Documentation

const std::string gmx::anonymous_namespace{nnpotoptions.cpp}::c_activeTag_ = "active"

Following Tags denote names of parameters from .mdp file.

Note
Changing these strings will break .tpr backwards compability
const EnumerationArray<NNPotEmbedding, const char*> gmx::anonymous_namespace{nnpotoptions.cpp}::c_embeddingSchemeNames
Initial value:
= {
{ "mechanical", "electrostatic-model" }
}

The names of the supported embedding schemes.

const std::string gmx::anonymous_namespace{nnpotoptions.cpp}::c_modelInput1Tag_ = "model-input1"

User defined input to NN model.

Possible values:

  • "atom-positions" vector of atom positions
  • "atom-numbers" vector of atom numbers
  • "atom-pairs" list of atom pairs within cutoff set by user
  • "pair-shifts" list of periodic shifts for atom pairs
  • "box" unit vectors of simulation box
  • "pbc" boolean vector indicating periodic boundary conditions
  • "atom-positions-mm" vector of atom positions
  • "atom-charges-mm" vector of atomic charges
  • "nnp-charge" charge of the NNP region