Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes | Static Public Attributes
gmx::DensityFittingForceProviderState Struct Reference

#include <gromacs/applied_forces/densityfitting/densityfittingforceprovider.h>

+ Collaboration diagram for gmx::DensityFittingForceProviderState:

Description

Parameters defining the internal density fitting force provider state.

Public Member Functions

void writeState (KeyValueTreeObjectBuilder kvtBuilder, const std::string &identifier) const
 Write internal density fitting data into a key value tree. The entries to the kvt are identified with identifier, so that a variable is indentified with the key "identifier-variablename". More...
 
void readState (const KeyValueTreeObject &kvtData, const std::string &identifier)
 Read the internal parameters from the checkpoint file on main. More...
 
void broadcastState (MPI_Comm communicator, bool isParallelRun)
 Broadcast the internal parameters. More...
 

Public Attributes

std::int64_t stepsSinceLastCalculation_ = 0
 The steps since the last force calculation. Used if density fitting is to be calculated every N steps.
 
ExponentialMovingAverageState exponentialMovingAverageState_ = {}
 The state of the exponential moving average of the similarity measure.
 
real adaptiveForceConstantScale_ = 1.0_real
 An additional factor scaling the force for adaptive force scaling.
 

Static Public Attributes

static const std::string stepsSinceLastCalculationName_
 String naming variable holding the steps since last calculation. More...
 
static const std::string exponentialMovingAverageStateName_
 String naming variable holding the exponential moving average. More...
 
static const std::string adaptiveForceConstantScaleName_
 String naming variable holding the adaptive force constant scale. More...
 

Member Function Documentation

void gmx::DensityFittingForceProviderState::broadcastState ( MPI_Comm  communicator,
bool  isParallelRun 
)

Broadcast the internal parameters.

Parameters
[in]communicatorto broadcast the state information
[in]isParallelRunto determine if anything has to be broadcast at all
void gmx::DensityFittingForceProviderState::readState ( const KeyValueTreeObject &  kvtData,
const std::string &  identifier 
)

Read the internal parameters from the checkpoint file on main.

Parameters
[in]kvtDataholding the checkpoint information
[in]identifieridentifies the data in a key-value-tree
void gmx::DensityFittingForceProviderState::writeState ( KeyValueTreeObjectBuilder  kvtBuilder,
const std::string &  identifier 
) const

Write internal density fitting data into a key value tree. The entries to the kvt are identified with identifier, so that a variable is indentified with the key "identifier-variablename".

Parameters
[in]kvtBuilderenables writing to the Key-Value-Tree the state is written to
[in]identifierdenotes the module that is checkpointing the data

Member Data Documentation

const std::string gmx::DensityFittingForceProviderState::adaptiveForceConstantScaleName_
static
Initial value:
=
"adaptiveForceConstantScale"

String naming variable holding the adaptive force constant scale.

Note
Changing this name will break backwards compatibility for checkpoint file writing.
const std::string gmx::DensityFittingForceProviderState::exponentialMovingAverageStateName_
static
Initial value:
=
"exponentialMovingAverageState"

String naming variable holding the exponential moving average.

Note
Changing this name will break backwards compatibility for checkpoint file writing.
const std::string gmx::DensityFittingForceProviderState::stepsSinceLastCalculationName_
static
Initial value:
=
"stepsSinceLastCalculation"

String naming variable holding the steps since last calculation.

Note
Changing this name will break backwards compatibility for checkpoint file writing.

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