Template Class Grid¶
- Defined in File Grid.h
Class Documentation¶
-
template <typename T>
classGrid
¶ Template class for fields on a periodic grid with trilinear interpolation.
The grid spacing is constant and equal along all three axes. Values are calculated by trilinear interpolation of the surrounding 8 grid points. The grid is periodically (default) or reflectively extended. The grid sample positions are at 1/2 * size/N, 3/2 * size/N … (2N-1)/2 * size/N.
Public Functions
-
Grid
(Vector3d origin, size_t N, double spacing)¶ Constructor for cubic grid
- Parameters
origin
: Position of the lower left front corner of the volumeN
: Number of grid points in one directionspacing
: Spacing between grid points
-
Grid
(Vector3d origin, size_t Nx, size_t Ny, size_t Nz, double spacing)¶ Constructor for non-cubic grid
- Parameters
origin
: Position of the lower left front corner of the volumeNx
: Number of grid points in x-directionNy
: Number of grid points in y-directionNz
: Number of grid points in z-directionspacing
: Spacing between grid points
-
Grid
(Vector3d origin, size_t Nx, size_t Ny, size_t Nz, Vector3d spacing)¶ Constructor for non-cubic grid with spacing vector
- Parameters
origin
: Position of the lower left front corner of the volumeNx
: Number of grid points in x-directionNy
: Number of grid points in y-directionNz
: Number of grid points in z-directionspacing
: Spacing vector between grid points
-
void
setGridSize
(size_t Nx, size_t Ny, size_t Nz)¶ Resize grid, also enlarges the volume as the spacing stays constant
-
size_t
getGridSize
() const¶
-
void
setReflective
(bool b)¶
-
void
setVector
(const std::vector<float> &v)¶
-
void
addVector
(std::unique_ptr<std::vector<T>> v2)¶
-
void
pushValue
(T value)¶
-
size_t
getNx
() const¶
-
size_t
getNy
() const¶
-
size_t
getNz
() const¶
-
bool
isReflective
() const¶
-
T &
get
(size_t ix, size_t iy, size_t iz)¶ Inspector & Mutator
-
T &
get
(size_t index)¶ Inspector & Mutator
-
const T &
get
(size_t ix, size_t iy, size_t iz) const¶ Inspector
-
T
getValue
(size_t ix, size_t iy, size_t iz)¶
-
void
setValue
(size_t ix, size_t iy, size_t iz, T value)¶
-
void
addValue
(size_t ix, size_t iy, size_t iz, T value)¶
-
std::vector<T> &
getGrid
()¶ Return a reference to the grid values
-