Gromacs  2025-dev-20241002-88a4191
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::IForceProvider Class Referenceabstract

#include <gromacs/mdtypes/iforceprovider.h>

+ Inheritance diagram for gmx::IForceProvider:

Description

Interface for a component that provides forces during MD.

Modules implementing IMDModule generally implement this internally, and use IMDModule::initForceProviders() to register their implementation in ForceProviders.

The interface most likely requires additional generalization for use in other modules than the current electric field implementation.

The forces that are produced by force providers are not taken into account in the calculation of the virial. When applicable, the provider should compute its own virial contribution.

Public Member Functions

virtual void calculateForces (const ForceProviderInput &forceProviderInput, ForceProviderOutput *forceProviderOutput)=0
 Computes forces. More...
 

Member Function Documentation

virtual void gmx::IForceProvider::calculateForces ( const ForceProviderInput forceProviderInput,
ForceProviderOutput forceProviderOutput 
)
pure virtual

Computes forces.

Parameters
[in]forceProviderInputstruct that collects input data for the force providers
[in,out]forceProviderOutputstruct that collects output data of the force providers

Implemented in gmx::RestraintForceProvider, gmx::ColvarsForceProvider, gmx::anonymous_namespace{electricfield.cpp}::ElectricField, gmx::DensityFittingForceProvider, gmx::QMMMForceProvider, and gmx::PlumedForceProvider.


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