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
ekinstate_t Class Reference

#include <gromacs/mdtypes/state.h>

Description

Struct used for checkpointing only.

This struct would not be required with unlimited precision. But because of limited precision, the COM motion removal implementation can cause the kinetic energy in the MD loop to differ by a few bits from the kinetic energy one would determine from state.v.

Public Member Functions

template<gmx::CheckpointDataOperation operation>
void doCheckpoint (gmx::CheckpointData< operation > checkpointData)
 Allows to read and write checkpoint within modular simulator. More...
 

Public Attributes

bool bUpToDate
 Test if all data is up to date.
 
int ekin_n
 The number of tensors.
 
tensor * ekinh
 Half step Ekin, size ekin_n.
 
tensor * ekinf
 Full step Ekin, size ekin_n.
 
tensor * ekinh_old
 Half step Ekin of the previous step, size ekin_n.
 
tensor ekin_total
 Total kinetic energy.
 
std::vector< double > ekinscalef_nhc
 Nose-Hoover Ekin scaling factors for full step Ekin.
 
std::vector< double > ekinscaleh_nhc
 Nose-Hoover Ekin scaling factors for half step Ekin.
 
std::vector< double > vscale_nhc
 Nose-Hoover velocity scaling factors.
 
real dekindl
 dEkin/dlambda, with free-energy
 
real mvcos
 Cosine(z) component of the momentum, for viscosity calculations.
 
bool hasReadEkinState
 Whether KE terms have been read from the checkpoint. More...
 

Member Function Documentation

template<gmx::CheckpointDataOperation operation>
template void ekinstate_t::doCheckpoint ( gmx::CheckpointData< operation >  checkpointData)

Allows to read and write checkpoint within modular simulator.

Template Parameters
operationWhether we're reading or writing
Parameters
checkpointDataThe CheckpointData object

Member Data Documentation

bool ekinstate_t::hasReadEkinState

Whether KE terms have been read from the checkpoint.

Only used for managing whether the call to compute_globals before we enter the MD loop should compute these quantities fresh, or not.


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