Gromacs  2024.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::anonymous_namespace{qmmm.cpp}::QMMM Class Referencefinal
+ Inheritance diagram for gmx::anonymous_namespace{qmmm.cpp}::QMMM:
+ Collaboration diagram for gmx::anonymous_namespace{qmmm.cpp}::QMMM:

Description

QMMM module.

Class that implements the QMMM forces and potential

Note
the virial calculation is not yet implemented

Public Member Functions

 QMMM ()=default
 Construct the QMMM module.
 
void subscribeToPreProcessingNotifications (MDModulesNotifiers *notifier) override
 Requests to be notified during pre-processing. More...
 
void subscribeToSimulationSetupNotifications (MDModulesNotifiers *notifier) override
 Requests to be notified during simulation setup. The QMMM code subscribes to these notifications: More...
 
IMdpOptionProvidermdpOptionProvider () override
 From IMDModule.
 
void initForceProviders (ForceProviders *forceProviders) override
 Add this module to the force providers if active.
 
IMDOutputProvideroutputProvider () override
 QMMM Module should not use OutputProvider as it will be removed in the future.
 

Member Function Documentation

void gmx::anonymous_namespace{qmmm.cpp}::QMMM::subscribeToPreProcessingNotifications ( MDModulesNotifiers notifier)
inlineoverridevirtual

Requests to be notified during pre-processing.

Parameters
[in]notifierallows the module to subscribe to notifications from MdModules.

The QMMM code subscribes to these notifications:

  • setting atom group indices in the qmmmOptions_ from an index group string by taking a parmeter const IndexGroupsAndNames &
  • storing its internal parameters in a tpr file by writing to a key-value-tree during pre-processing by a function taking a KeyValueTreeObjectBuilder as parameter
  • Modify topology according to QMMM rules using gmx_mtop_t notification and utilizing QMMMTopologyPreprocessor class
  • Access MDLogger for notifications output
  • Access warninp for for grompp warnings output
  • Coordinates, PBC and box for CP2K input generation
  • QM Input file provided with -qmi option of grompp

Implements gmx::IMDModule.

void gmx::anonymous_namespace{qmmm.cpp}::QMMM::subscribeToSimulationSetupNotifications ( MDModulesNotifiers notifier)
inlineoverridevirtual

Requests to be notified during simulation setup. The QMMM code subscribes to these notifications:

  • reading its internal parameters from a key-value-tree during simulation setup by taking a const KeyValueTreeObject & parameter
  • *.tpr filename for CP2K input generation
  • constructing local atom sets in the simulation parameter setup by taking a LocalAtomSetManager * as parameter
  • the type of periodic boundary conditions that are used by taking a PeriodicBoundaryConditionType as parameter
  • Access MDLogger for notifications output
  • Disable PME-only ranks for QMMM runs
  • Request QM energy output to md.log

Implements gmx::IMDModule.


The documentation for this class was generated from the following file: