Gromacs  2024.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Enumerations | Functions
#include <vector>
#include "gromacs/math/vectypes.h"
#include "gromacs/timing/wallcycle.h"
+ Include dependency graph for cellsizes.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares DD cell-size related functions.

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se

Classes

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

Enumerations

enum  { setcellsizeslbLOCAL, setcellsizeslbMAIN, setcellsizeslbPULSE_ONLY }
 Options for setting up a regular, possibly static load balanced, cell grid geometry. More...
 

Functions

real grid_jump_limit (const gmx_domdec_comm_t *comm, real cutoff, int dim_ind)
 Returns the minimum allowed distance between lower and upper bounds of zones along dimension dim_ind.
 
gmx::ArrayRef< const
std::vector< real > > 
set_dd_cell_sizes_slb (gmx_domdec_t *dd, const gmx_ddbox_t *ddbox, int setmode, ivec numPulses)
 Sets up an initial, non-staggered grid geometry, possibly using static load balancing. More...
 
void set_dd_cell_sizes (gmx_domdec_t *dd, const gmx_ddbox_t *ddbox, gmx_bool bDynamicBox, gmx_bool bUniform, gmx_bool bDoDLB, int64_t step, gmx_wallcycle *wcycle)
 General cell size adjustment, possibly applying dynamic load balancing.
 

Enumeration Type Documentation

anonymous enum

Options for setting up a regular, possibly static load balanced, cell grid geometry.

Enumerator
setcellsizeslbLOCAL 

Set cell sizes locally on each rank.

setcellsizeslbMAIN 

Set cell sizes on main rank only.

setcellsizeslbPULSE_ONLY 

Only set the communication pulses, not the cell sizes.

Function Documentation

gmx::ArrayRef<const std::vector<real> > set_dd_cell_sizes_slb ( gmx_domdec_t *  dd,
const gmx_ddbox_t *  ddbox,
int  setmode,
ivec  numPulses 
)

Sets up an initial, non-staggered grid geometry, possibly using static load balancing.

The number of communication pulses per dimension is returned in numPulses. When setmode==setcellsizeslbMAIN, the cell boundaries per dimension are returned, otherwise an empty arrayref is returned.