#include <cstdint>
#include <memory>
#include "gromacs/utility/vectypes.h"
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
|
| void | do_edsam (const t_inputrec *ir, int64_t step, const gmx::MpiComm &mpiComm, 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 gmx::MpiComm &mpiComm, const gmx_domdec_t *dd, 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 gmx::MpiComm &mpiComm, 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...
|
| |
| 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
-
| dd | Domain decomposition data. |
| ed | Essential dynamics and flooding data. |
Applies essential dynamics constrains as defined in the .edi input file.
- Parameters
-
| ir | MD input parameter record. |
| step | Number of the time step. |
| mpiComm | Communication object for my group. |
| coords | The local positions on this processor. |
| velocities | The local velocities. |
| box | The simulation box. |
| ed | The essential dynamics data. |
Evaluate the flooding potential(s) and forces as requested in the .edi input file.
- Parameters
-
| mpiComm | Communication object for my group. |
| ir | MD input parameter record. |
| coords | Positions on the local processor. |
| force | Forcefield forces to which the flooding forces are added. |
| ed | The essential dynamics data. |
| box | The simulation box. |
| step | Number of the time step. |
| bNS | Are 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 gmx::MpiComm & |
mpiComm, |
|
|
const gmx_domdec_t * |
dd, |
|
|
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
-
| mdlog | Logger. |
| ediFileName | Essential dynamics input file. |
| edoFileName | Output file for essential dynamics data. |
| mtop | Molecular topology. |
| ir | MD input parameter record. |
| mpiComm | Communication object for my group. |
| dd | Domain decomposition object, pass nullptr when DD is not active. |
| constr | Data structure keeping the constraint information. |
| globalState | The global state, only used on the main rank. |
| oh | The observables history container. |
| oenv | The output environment information. |
| startingBehavior | Describes whether this is a restart appending to output files |
- Returns
- A pointer to the ED data structure.