Gromacs  2024.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes
ExclusionChecker::Impl Class Reference
+ Collaboration diagram for ExclusionChecker::Impl:


Data to help check local topology construction.

Partitioning could incorrectly miss a bonded interaction. However, checking for that requires a global communication stage, which does not otherwise happen during partitioning. So, for performance, we do that alongside the first global energy reduction after a new DD is made. These variables handle whether the check happens, its input for this domain, output across all domains, and the expected value it should match.

Public Member Functions

 Impl (const t_commrec *cr, const gmx_mtop_t &mtop)
void check (int numTotalPerturbedExclusionsFound)
 Checks the count passed with the expected number and exits with a fatal error at mismatch.

Public Attributes

const t_commrec * cr_
 Object used when reporting that exclusions are missing { Communication record.
gmx::ArrayRef< double > reductionBuffer_
 } More...
gmx::ObservablesReducerBuilder::CallbackToRequireReduction callbackToRequireReduction_
 Callback used after repartitioning to require reduction of numBondedInteractionsToReduce so that the total number of bonded interactions can be checked.
int expectedNumGlobalPerturbedExclusions_
 The expected number of global non-bonded perturbed pair exclusions.

Member Data Documentation

gmx::ArrayRef<double> ExclusionChecker::Impl::reductionBuffer_


View used for computing the global number of bonded interactions.

Can be written any time, but that is only useful when followed by a call of the callbackToRequireReduction. Useful to read only from the callback that the ObservablesReducer will later make after reduction.

The documentation for this class was generated from the following file: