Gromacs
2021-beta3-UNCHECKED
|
#include <cstdio>
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/real.h"
This file declares functions for mdrun to call to make a new domain decomposition, and check it.
Classes | |
class | gmx::ArrayRef< typename > |
STL-like interface to a C array of T (or part of a std container of T). More... | |
Functions | |
bool | check_grid_jump (int64_t step, const gmx_domdec_t *dd, real cutoff, const gmx_ddbox_t *ddbox, gmx_bool bFatal) |
Check whether the DD grid has moved too far for correctness. | |
void | print_dd_statistics (const t_commrec *cr, const t_inputrec *ir, FILE *fplog) |
Print statistics for domain decomposition communication. | |
void | dd_partition_system (FILE *fplog, const gmx::MDLogger &mdlog, int64_t step, const t_commrec *cr, gmx_bool bMasterState, int nstglobalcomm, t_state *state_global, const gmx_mtop_t &top_global, const t_inputrec *ir, gmx::ImdSession *imdSession, pull_t *pull_work, t_state *state_local, gmx::ForceBuffers *f, gmx::MDAtoms *mdAtoms, gmx_localtop_t *top_local, t_forcerec *fr, gmx::VirtualSitesHandler *vsite, gmx::Constraints *constr, t_nrnb *nrnb, gmx_wallcycle *wcycle, gmx_bool bVerbose) |
Partition the system over the nodes. More... | |
void | checkNumberOfBondedInteractions (const gmx::MDLogger &mdlog, t_commrec *cr, int totalNumberOfBondedInteractions, const gmx_mtop_t *top_global, const gmx_localtop_t *top_local, gmx::ArrayRef< const gmx::RVec > x, const matrix box, bool *shouldCheckNumberOfBondedInteractions) |
Check whether bonded interactions are missing, if appropriate. More... | |
void checkNumberOfBondedInteractions | ( | const gmx::MDLogger & | mdlog, |
t_commrec * | cr, | ||
int | totalNumberOfBondedInteractions, | ||
const gmx_mtop_t * | top_global, | ||
const gmx_localtop_t * | top_local, | ||
gmx::ArrayRef< const gmx::RVec > | x, | ||
const matrix | box, | ||
bool * | shouldCheckNumberOfBondedInteractions | ||
) |
Check whether bonded interactions are missing, if appropriate.
[in] | mdlog | Logger |
[in] | cr | Communication object |
[in] | totalNumberOfBondedInteractions | Result of the global reduction over the number of bonds treated in each domain |
[in] | top_global | Global topology for the error message |
[in] | top_local | Local topology for the error message |
[in] | x | Position vector for the error message |
[in] | box | Box matrix for the error message |
[in,out] | shouldCheckNumberOfBondedInteractions | Whether we should do the check. Always set to false. |
void dd_partition_system | ( | FILE * | fplog, |
const gmx::MDLogger & | mdlog, | ||
int64_t | step, | ||
const t_commrec * | cr, | ||
gmx_bool | bMasterState, | ||
int | nstglobalcomm, | ||
t_state * | state_global, | ||
const gmx_mtop_t & | top_global, | ||
const t_inputrec * | ir, | ||
gmx::ImdSession * | imdSession, | ||
pull_t * | pull_work, | ||
t_state * | state_local, | ||
gmx::ForceBuffers * | f, | ||
gmx::MDAtoms * | mdAtoms, | ||
gmx_localtop_t * | top_local, | ||
t_forcerec * | fr, | ||
gmx::VirtualSitesHandler * | vsite, | ||
gmx::Constraints * | constr, | ||
t_nrnb * | nrnb, | ||
gmx_wallcycle * | wcycle, | ||
gmx_bool | bVerbose | ||
) |
Partition the system over the nodes.
step is only used for printing error messages. If bMasterState==TRUE then state_global from the master node is used, else state_local is redistributed between the nodes. When f!=NULL, *f will be reallocated to the size of state_local.
[in] | fplog | Pointer to the log file |
[in] | mdlog | MD file logger |
[in] | step | Current step |
[in] | cr | Communication record |
[in] | bMasterState | Is it a master state |
[in] | nstglobalcomm | Will globals be computed on this step |
[in] | state_global | Global state |
[in] | top_global | Global topology |
[in] | ir | Input record |
[in] | imdSession | IMD handle |
[in] | pull_work | Pulling data |
[in] | state_local | Local state |
[in] | f | Force buffer |
[in] | mdAtoms | MD atoms |
[in] | top_local | Local topology |
[in] | fr | Force record |
[in] | vsite | Virtual sites handler |
[in] | constr | Constraints |
[in] | nrnb | Cycle counters |
[in] | wcycle | Timers |
[in] | bVerbose | Be verbose |
Partition the system over the nodes.