Gromacs
2024.3
|
#include <memory>
#include <vector>
#include "gromacs/gpu_utils/hostallocator.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/alignedallocator.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/range.h"
Declares the Grid class.
This class provides functionality for setting up and accessing atoms on a grid for one domain decomposition zone. This grid is used for generating cluster pair lists for computing non-bonded pair interactions. The grid consists of a regular array of columns along dimensions x and y. Along z the number of cells and their boundaries vary between the columns. Each cell can hold one or more clusters of atoms, depending on the grid geometry, which is set by the pair-list type.
Classes | |
struct | Nbnxm::BoundingBox |
Bounding box for a nbnxm atom cluster. More... | |
struct | Nbnxm::BoundingBox::Corner |
Corner for the bounding box, padded with one element to enable 4-wide SIMD operations. More... | |
struct | Nbnxm::BoundingBox1D |
Bounding box for one dimension of a grid cell. More... | |
class | Nbnxm::Grid |
A pair-search grid object for one domain decomposition zone. More... | |
struct | Nbnxm::Grid::Geometry |
The cluster and cell geometry of a grid. More... | |
struct | Nbnxm::Grid::Dimensions |
The physical dimensions of a grid. More... | |
Functions | |
real | Nbnxm::generateAndFill2DGrid (Grid *grid, gmx::ArrayRef< GridWork > gridWork, gmx::HostVector< int > *cells, const rvec lowerCorner, const rvec upperCorner, const gmx::UpdateGroupsCog *updateGroupsCog, gmx::Range< int > atomRange, real *atomDensity, real maxAtomGroupRadius, bool haveFep, gmx::ArrayRef< const gmx::RVec > x, int ddZone, const int *move, int numAtomsMoved, bool computeGridDensityRatio) |
Sets the 2D search grid dimensions puts the atoms on the 2D grid. More... | |