Gromacs
2025.0-dev-20241009-5c23d5f
|
#include <memory>
#include <optional>
#include <string>
#include <vector>
#include "gromacs/math/multidimarray.h"
#include "gromacs/mdspan/extensions.h"
#include "gromacs/utility/arrayref.h"
#include "dimparams.h"
This file contains datatypes and function declarations necessary for AWH to interface with the grid code.
The grid organizes spatial properties of the AWH coordinate points. This includes traversing points in a specific order, locating neighboring points and calculating distances. Multiple dimensions as well as periodic dimensions are supported.
Classes | |
class | gmx::GridAxis |
An axis, i.e. dimension, of the grid. More... | |
struct | gmx::GridPoint |
A point in the grid. More... | |
class | gmx::BiasGrid |
The grid for a single bias, generally multidimensional and periodic. More... | |
Functions | |
int | gmx::multiDimGridIndexToLinear (const BiasGrid &grid, const awh_ivec indexMulti) |
Convert a multidimensional grid point index to a linear one. More... | |
int | gmx::multiDimArrayIndexToLinear (const awh_ivec indexMulti, int numDim, const awh_ivec numPointsDim) |
Convert multidimensional array index to a linear one. More... | |
void | gmx::linearGridindexToMultiDim (const BiasGrid &grid, int indexLinear, awh_ivec indexMulti) |
Convert a linear grid point index to a multidimensional one. More... | |
void | gmx::linearArrayIndexToMultiDim (int indexLinear, int ndim, const awh_ivec numPointsDim, awh_ivec indexMulti) |
Convert a linear array index to a multidimensional one. More... | |
bool | gmx::advancePointInSubgrid (const BiasGrid &grid, const awh_ivec subgridOrigin, const awh_ivec subgridNpoints, int *gridPointIndex) |
Find the next grid point in the sub-part of the grid given a starting point. More... | |
void | gmx::mapGridToDataGrid (std::vector< int > *gridpointToDatapoint, const MultiDimArray< std::vector< double >, dynamicExtents2D > &data, int numDataPoints, const std::string &dataFilename, const BiasGrid &grid, const std::string &correctFormatMessage) |
Maps each point in the grid to a point in the data grid. More... | |
double | gmx::getDeviationFromPointAlongGridAxis (const BiasGrid &grid, int dimIndex, int pointIndex, double value) |
Get the deviation along one dimension from the given value to a point in the grid. More... | |
double | gmx::getDeviationFromPointAlongGridAxis (const BiasGrid &grid, int dimIndex, int pointIndex1, int pointIndex2) |
Get the deviation from one point to another along one dimension in the grid. More... | |
bool | gmx::pointsAlongLambdaAxis (const BiasGrid &grid, int pointIndex1, int pointIndex2) |
Checks whether two points are along a free energy lambda state axis. More... | |
bool | gmx::pointsHaveDifferentLambda (const BiasGrid &grid, int pointIndex1, int pointIndex2) |
Checks whether two points are different in the free energy lambda state dimension (if any). More... | |