Gromacs  2018.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Typedefs | Functions
edsam.h File Reference
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/basedefinitions.h"
+ Include dependency graph for edsam.h:

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

Typedefs

typedef struct gmx_edsam * gmx_edsam_t
 Abstract type for essential dynamics. More...
 

Functions

void do_edsam (const t_inputrec *ir, gmx_int64_t step, t_commrec *cr, rvec xs[], rvec v[], matrix box, gmx_edsam_t ed)
 Applies essential dynamics constrains as defined in the .edi input file. More...
 
gmx_edsam_t init_edsam (const char *ediFileName, const char *edoFileName, const gmx_mtop_t *mtop, const t_inputrec *ir, t_commrec *cr, struct gmx_constr *constr, const t_state *globalState, ObservablesHistory *oh, const gmx_output_env_t *oenv, gmx_bool bAppend)
 Initializes the essential dynamics and flooding module. More...
 
void dd_make_local_ed_indices (gmx_domdec_t *dd, gmx_edsam_t ed)
 Make a selection of the home atoms for the ED groups. More...
 
void do_flood (t_commrec *cr, const t_inputrec *ir, rvec x[], rvec force[], gmx_edsam_t ed, matrix box, gmx_int64_t step, gmx_bool bNS)
 Evaluate the flooding potential(s) and forces as requested in the .edi input file. More...
 
void done_ed (gmx_edsam_t *ed)
 Clean up. More...
 

Typedef Documentation

typedef struct gmx_edsam* gmx_edsam_t

Abstract type for essential dynamics.

The main type is defined only in edsam.cpp

Function Documentation

void dd_make_local_ed_indices ( gmx_domdec_t *  dd,
gmx_edsam_t  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,
gmx_int64_t  step,
t_commrec *  cr,
rvec  xs[],
rvec  v[],
matrix  box,
gmx_edsam_t  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.
xsThe local positions on this processor.
vThe local velocities.
boxThe simulation box.
edThe essential dynamics data.
void do_flood ( t_commrec *  cr,
const t_inputrec *  ir,
rvec  x[],
rvec  force[],
gmx_edsam_t  ed,
matrix  box,
gmx_int64_t  step,
gmx_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.
xPositions 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?
void done_ed ( gmx_edsam_t ed)

Clean up.

Parameters
edThe essential dynamics data
gmx_edsam_t init_edsam ( const char *  ediFileName,
const char *  edoFileName,
const gmx_mtop_t *  mtop,
const t_inputrec *  ir,
t_commrec *  cr,
struct gmx_constr *  constr,
const t_state globalState,
ObservablesHistory oh,
const gmx_output_env_t *  oenv,
gmx_bool  bAppend 
)

Initializes the essential dynamics and flooding module.

Parameters
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 master rank.
ohThe observables history container.
oenvThe output environment information.
bAppendAppend to existing output files?
Returns
A pointer to the ED data structure.