Gromacs  2024.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions
gmx::FreeEnergyPerturbationData Class Referencefinal

#include <gromacs/modularsimulator/freeenergyperturbationdata.h>

Description

The free energy perturbation data.

The lambda vector and the current FEP state are held by the FreeEnergyPerturbationData, offering access to its values via getter functions. The FreeEnergyPerturbationData::Element is responsible for lambda update (if applicable) and checkpointing.

Classes

class  Element
 The free energy perturbation data element. More...
 

Public Member Functions

 FreeEnergyPerturbationData (FILE *fplog, const t_inputrec &inputrec, MDAtoms *mdAtoms, gmx_ekindata_t *ekindata)
 Constructor.
 
ArrayRef< reallambdaView ()
 Get a view of the current lambda vector.
 
ArrayRef< const realconstLambdaView () const
 Get a const view of the current lambda vector.
 
int currentFEPState () const
 Get the current FEP state.
 
FepStateSettingenableExternalFepStateSetting () const
 Enable setting of the FEP state by an external object. More...
 
Elementelement ()
 Get pointer to element (whose lifetime is managed by this)
 

Static Public Member Functions

static void readCheckpointToTrxFrame (t_trxframe *trxFrame, std::optional< ReadCheckpointData > readCheckpointData)
 Read everything that can be stored in t_trxframe from a checkpoint file.
 
static const std::string & checkpointID ()
 CheckpointHelper identifier.
 

Member Function Documentation

FepStateSetting * gmx::FreeEnergyPerturbationData::enableExternalFepStateSetting ( ) const

Enable setting of the FEP state by an external object.

Currently, this can only be called once, usually during setup time. Having more than one object setting the FEP state would require additional bookkeeping.

Returns
Pointer to an object allowing to set new FEP state

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