Gromacs  2021-beta2-UNCHECKED
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
#include <cstdio>
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/real.h"
+ Include dependency graph for partition.h:
+ This graph shows which files directly or indirectly include this file:


This file declares functions for mdrun to call to make a new domain decomposition, and check it.

Berk Hess


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


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...

Function Documentation

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]crCommunication object
[in]totalNumberOfBondedInteractionsResult of the global reduction over the number of bonds treated in each domain
[in]top_globalGlobal topology for the error message
[in]top_localLocal topology for the error message
[in]xPosition vector for the error message
[in]boxBox matrix for the error message
[in,out]shouldCheckNumberOfBondedInteractionsWhether 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]fplogPointer to the log file
[in]mdlogMD file logger
[in]stepCurrent step
[in]crCommunication record
[in]bMasterStateIs it a master state
[in]nstglobalcommWill globals be computed on this step
[in]state_globalGlobal state
[in]top_globalGlobal topology
[in]irInput record
[in]imdSessionIMD handle
[in]pull_workPulling data
[in]state_localLocal state
[in]fForce buffer
[in]mdAtomsMD atoms
[in]top_localLocal topology
[in]frForce record
[in]vsiteVirtual sites handler
[in]nrnbCycle counters
[in]bVerboseBe verbose

Partition the system over the nodes.