Gromacs  2026.0-dev-20241106-9ba7f4d
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
#include "gmxpre.h"
#include "box.h"
#include "config.h"
#include <cmath>
#include <cstdio>
#include <filesystem>
#include <memory>
#include "gromacs/domdec/domdec.h"
#include "gromacs/domdec/domdec_network.h"
#include "gromacs/domdec/domdec_struct.h"
#include "gromacs/domdec/nsgrid.h"
#include "gromacs/gmxlib/network.h"
#include "gromacs/math/functions.h"
#include "gromacs/math/vec.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/topology/block.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/real.h"
#include "domdec_internal.h"
+ Include dependency graph for box.cpp:

Description

This file defines functions used by the domdec module for (bounding) box and pbc information generation.

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

Functions

static void calc_pos_av_stddev (gmx::ArrayRef< const gmx::RVec > x, rvec av, rvec stddev, const MPI_Comm *mpiCommunicator)
 Calculates the average and standard deviation in 3D of atoms.
 
static void set_tric_dir (const gmx::IVec *numDomains, gmx_ddbox_t *ddbox, const matrix box)
 Determines if dimensions require triclinic treatment and stores this info in ddbox.
 
static void low_set_ddbox (int numPbcDimensions, int numBoundedDimensions, const gmx::IVec *numDomains, const matrix box, bool calculateUnboundedSize, gmx::ArrayRef< const gmx::RVec > x, const MPI_Comm *mpiCommunicator, gmx_ddbox_t *ddbox)
 This function calculates bounding box and pbc info and populates ddbox.
 
void set_ddbox (const gmx_domdec_t &dd, bool mainRankHasTheSystemState, const matrix box, bool calculateUnboundedSize, gmx::ArrayRef< const gmx::RVec > x, gmx_ddbox_t *ddbox)
 Set the box and PBC data in ddbox.
 
void set_ddbox_cr (DDRole ddRole, MPI_Comm communicator, const gmx::IVec *numDomains, const t_inputrec &ir, const matrix box, gmx::ArrayRef< const gmx::RVec > x, gmx_ddbox_t *ddbox)
 Set the box and PBC data in ddbox.
 
gmx_ddbox_t get_ddbox (const gmx::IVec &numDomains, const t_inputrec &ir, const matrix box, gmx::ArrayRef< const gmx::RVec > x)
 Computes and returns a domain decomposition box.