Gromacs  2025.0-dev-20241011-013a99c
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions
gmx::ForceElement Class Referencefinal

#include <gromacs/modularsimulator/forceelement.h>

+ Inheritance diagram for gmx::ForceElement:
+ Collaboration diagram for gmx::ForceElement:

Description

Force element.

The force element manages the call to either do_force(...) or relax_shell_flexcon(...)

Public Member Functions

 ForceElement (StatePropagatorData *statePropagatorData, EnergyData *energyData, FreeEnergyPerturbationData *freeEnergyPerturbationData, bool isVerbose, bool isDynamicBox, FILE *fplog, const t_commrec *cr, const t_inputrec *inputrec, const MDModulesNotifiers &mdModulesNotifiers, const MDAtoms *mdAtoms, t_nrnb *nrnb, t_forcerec *fr, gmx_wallcycle *wcycle, MdrunScheduleWorkload *runScheduleWork, VirtualSitesHandler *vsite, ImdSession *imdSession, pull_t *pull_work, Constraints *constr, const gmx_mtop_t &globalTopology, gmx_enfrot *enforcedRotation)
 Constructor.
 
 ~ForceElement ()
 Destructor.
 
void scheduleTask (Step step, Time time, const RegisterRunFunction &registerRunFunction) override
 Register force calculation for step / time. More...
 
void elementSetup () override
 Check that we got the local topology.
 
void elementTeardown () override
 Print some final output.
 
DomDecCallback registerDomDecCallback () override
 Callback on domain decomposition repartitioning.
 
- Public Member Functions inherited from gmx::ISimulatorElement
virtual ~ISimulatorElement ()=default
 Standard virtual destructor.
 
- Public Member Functions inherited from gmx::ITopologyHolderClient
virtual ~ITopologyHolderClient ()=default
 Standard virtual destructor.
 
- Public Member Functions inherited from gmx::INeighborSearchSignallerClient
virtual ~INeighborSearchSignallerClient ()=default
 Standard virtual destructor.
 
- Public Member Functions inherited from gmx::IEnergySignallerClient
virtual ~IEnergySignallerClient ()=default
 Standard virtual destructor.
 
- Public Member Functions inherited from gmx::IDomDecHelperClient
virtual ~IDomDecHelperClient ()=default
 Standard virtual destructor.
 

Static Public Member Functions

static ISimulatorElementgetElementPointerImpl (LegacySimulatorData *legacySimulatorData, ModularSimulatorAlgorithmBuilderHelper *builderHelper, StatePropagatorData *statePropagatorData, EnergyData *energyData, FreeEnergyPerturbationData *freeEnergyPerturbationData, GlobalCommunicationHelper *globalCommunicationHelper, ObservablesReducer *observablesReducer)
 Factory method implementation. More...
 

Additional Inherited Members

Member Function Documentation

ISimulatorElement * gmx::ForceElement::getElementPointerImpl ( LegacySimulatorData legacySimulatorData,
ModularSimulatorAlgorithmBuilderHelper builderHelper,
StatePropagatorData statePropagatorData,
EnergyData energyData,
FreeEnergyPerturbationData freeEnergyPerturbationData,
GlobalCommunicationHelper globalCommunicationHelper,
ObservablesReducer observablesReducer 
)
static

Factory method implementation.

Parameters
legacySimulatorDataPointer allowing access to simulator level data
builderHelperModularSimulatorAlgorithmBuilder helper object
statePropagatorDataPointer to the StatePropagatorData object
energyDataPointer to the EnergyData object
freeEnergyPerturbationDataPointer to the FreeEnergyPerturbationData object
globalCommunicationHelperPointer to the GlobalCommunicationHelper object
observablesReducerPointer to the ObservablesReducer object
Returns
Pointer to the element to be added. Element needs to have been stored using storeElement
void gmx::ForceElement::scheduleTask ( Step  step,
Time  time,
const RegisterRunFunction registerRunFunction 
)
overridevirtual

Register force calculation for step / time.

Parameters
stepThe step number
timeThe time
registerRunFunctionFunction allowing to register a run function

Implements gmx::ISimulatorElement.


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