Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
edsam.h File Reference
#include <memory>
#include "gromacs/math/vectypes.h"
+ Include dependency graph for edsam.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares functions to calculate both essential dynamics constraints as well as flooding potentials and forces.

Authors
Bert de Groot bgroo.nosp@m.t@gw.nosp@m.dg.de, Oliver Lange olive.nosp@m.r.la.nosp@m.nge@t.nosp@m.um.d.nosp@m.e, Carsten Kutzner ckutz.nosp@m.ne@g.nosp@m.wdg.d.nosp@m.e

Classes

class  gmx::ArrayRef< typename >
 STL-like interface to a C array of T (or part of a std container of T). More...
 

Functions

void do_edsam (const t_inputrec *ir, int64_t step, const t_commrec *cr, gmx::ArrayRef< gmx::RVec > coords, gmx::ArrayRef< gmx::RVec > velocities, const matrix box, gmx_edsam *ed)
 Applies essential dynamics constrains as defined in the .edi input file. More...
 
std::unique_ptr
< gmx::EssentialDynamics > 
init_edsam (const gmx::MDLogger &mdlog, const char *ediFileName, const char *edoFileName, const gmx_mtop_t &mtop, const t_inputrec &ir, const t_commrec *cr, gmx::Constraints *constr, const t_state *globalState, ObservablesHistory *oh, const gmx_output_env_t *oenv, gmx::StartingBehavior startingBehavior)
 Initializes the essential dynamics and flooding module. More...
 
void dd_make_local_ed_indices (gmx_domdec_t *dd, gmx_edsam *ed)
 Make a selection of the home atoms for the ED groups. More...
 
void do_flood (const t_commrec *cr, const t_inputrec &ir, gmx::ArrayRef< const gmx::RVec > coords, gmx::ArrayRef< gmx::RVec > force, gmx_edsam *ed, const matrix box, int64_t step, bool bNS)
 Evaluate the flooding potential(s) and forces as requested in the .edi input file. More...
 

Function Documentation

void dd_make_local_ed_indices ( gmx_domdec_t *  dd,
gmx_edsam *  ed 
)

Make a selection of the home atoms for the ED groups.

Should be called at every domain decomposition.

Parameters
ddDomain decomposition data.
edEssential dynamics and flooding data.
void do_edsam ( const t_inputrec *  ir,
int64_t  step,
const t_commrec *  cr,
gmx::ArrayRef< gmx::RVec coords,
gmx::ArrayRef< gmx::RVec velocities,
const matrix  box,
gmx_edsam *  ed 
)

Applies essential dynamics constrains as defined in the .edi input file.

Parameters
irMD input parameter record.
stepNumber of the time step.
crData needed for MPI communication.
coordsThe local positions on this processor.
velocitiesThe local velocities.
boxThe simulation box.
edThe essential dynamics data.
void do_flood ( const t_commrec *  cr,
const t_inputrec &  ir,
gmx::ArrayRef< const gmx::RVec coords,
gmx::ArrayRef< gmx::RVec force,
gmx_edsam *  ed,
const matrix  box,
int64_t  step,
bool  bNS 
)

Evaluate the flooding potential(s) and forces as requested in the .edi input file.

Parameters
crData needed for MPI communication.
irMD input parameter record.
coordsPositions on the local processor.
forceForcefield forces to which the flooding forces are added.
edThe essential dynamics data.
boxThe simulation box.
stepNumber of the time step.
bNSAre we in a neighbor searching step?
std::unique_ptr<gmx::EssentialDynamics> init_edsam ( const gmx::MDLogger mdlog,
const char *  ediFileName,
const char *  edoFileName,
const gmx_mtop_t &  mtop,
const t_inputrec &  ir,
const t_commrec *  cr,
gmx::Constraints constr,
const t_state globalState,
ObservablesHistory oh,
const gmx_output_env_t *  oenv,
gmx::StartingBehavior  startingBehavior 
)

Initializes the essential dynamics and flooding module.

Parameters
mdlogLogger.
ediFileNameEssential dynamics input file.
edoFileNameOutput file for essential dynamics data.
mtopMolecular topology.
irMD input parameter record.
crData needed for MPI communication.
constrData structure keeping the constraint information.
globalStateThe global state, only used on the main rank.
ohThe observables history container.
oenvThe output environment information.
startingBehaviorDescribes whether this is a restart appending to output files
Returns
A pointer to the ED data structure.