Gromacs  2026.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
#include <cstddef>
#include <array>
#include <memory>
#include <vector>
#include "gromacs/domdec/domdec_zones.h"
#include "gromacs/gpu_utils/hostallocator.h"
#include "gromacs/topology/block.h"
#include "gromacs/topology/idef.h"
#include "gromacs/utility/defaultinitializationallocator.h"
#include "gromacs/utility/gmxmpi.h"
#include "gromacs/utility/mpicomm.h"
#include "gromacs/utility/range.h"
#include "gromacs/utility/real.h"
#include "gromacs/utility/vectypes.h"
+ Include dependency graph for domdec_struct.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares structures related to domain decomposition.

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se
David van der Spoel david.nosp@m..van.nosp@m.dersp.nosp@m.oel@.nosp@m.icm.u.nosp@m.u.se

Classes

class  gmx::HashedMap< T >
 Unordered key to value mapping. More...
 
struct  UnitCellInfo
 Provides information about properties of the unit cell. More...
 

Functions

static bool thisRankHasPPDuty (const gmx_domdec_t *dd)
 Returns whether this rank computes particle-particle interactions. More...
 
static bool thisRankHasPmeDuty (const gmx_domdec_t *dd)
 Returns whether this rank computes PME mesh interactions, also returns true when PME is not in use. More...
 
static bool haveDDAtomOrdering (const gmx_domdec_t *dd)
 Returns whether atoms are (re)ordered by domain decomposition. More...
 
static bool havePPDomainDecomposition (const gmx_domdec_t *dd)
 Returns whether we have actual domain decomposition for the particle-particle interactions. More...
 
static bool isValidGlobalAtom (const int globalAtomIndex)
 
static bool DDMAIN (const gmx_domdec_t &dd)
 Are we the main node for domain decomposition.
 
static bool DDMAIN (const gmx_domdec_t *dd)
 Are we the main node for domain decomposition, deprecated.
 

Function Documentation

static bool haveDDAtomOrdering ( const gmx_domdec_t *  dd)
inlinestatic

Returns whether atoms are (re)ordered by domain decomposition.

When true is returned, the atoms are not ordered according to the (global) topology.

Can be called with dd=nullptr, in which case this returns false.

static bool havePPDomainDecomposition ( const gmx_domdec_t *  dd)
inlinestatic

Returns whether we have actual domain decomposition for the particle-particle interactions.

Will return false when we use 1 rank for PP and 1 for PME

static bool isValidGlobalAtom ( const int  globalAtomIndex)
inlinestatic

Return whether globalAtomIndex is a valid global atom (and not a filler particle)

Parameters
[in]globalAtomIndexThe index in the global topology to check
Returns
true when globalAtomIndex >= 0, false otherwise
static bool thisRankHasPmeDuty ( const gmx_domdec_t *  dd)
inlinestatic

Returns whether this rank computes PME mesh interactions, also returns true when PME is not in use.

Can be called with dd=nullptr, in which case this returns true.

static bool thisRankHasPPDuty ( const gmx_domdec_t *  dd)
inlinestatic

Returns whether this rank computes particle-particle interactions.

Can be called with dd=nullptr, in which case this returns true.