Gromacs  2026.4
 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 *notifiers) override
 Requests to be notified during pre-processing. More...
 
void subscribeToSimulationSetupNotifications (MDModulesNotifiers *notifiers) override
 Requests to be notified during simulation setup. The QMMM code subscribes to these notifications: More...
 
void subscribeToSimulationRunNotifications (MDModulesNotifiers *) override
 No subscriptions to run notifications.
 
IMdpOptionProvider * mdpOptionProvider () override
 From IMDModule.
 
void initForceProviders (ForceProviders *forceProviders) override
 Add this module to the force providers if active.
 
IMDOutputProvider * outputProvider () 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 *  notifiers)
inlineoverridevirtual

Requests to be notified during pre-processing.

Parameters
[in]notifiersallows 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
  • 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 *  notifiers)
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
  • Access MPI communicator for simulation
  • 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: