Template Class Grid2D¶
- Defined in File Grid.h
Class Documentation¶
-
template <typename T>
classGrid2D¶ 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
-
Grid2D(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
-
Grid2D(Vector3d origin, size_t Nx, size_t Ny, 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-directionspacing: Spacing between grid points
-
Grid2D(Vector3d origin, size_t Nx, size_t Ny, 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-directionspacing: Spacing vector between grid points
-
void
setOrigin(Vector3d origin)
-
void
setGridSize(size_t Nx, size_t Ny)¶ Resize grid, also enlarges the volume as the spacing stays constant
-
size_t
getGridSize() const
-
void
setSpacing(Vector3d spacing)
-
Vector3d
getSpacing() 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)
-
Vector3d
getOrigin() const
-
size_t
getNx() const
-
size_t
getNy() const
-
bool
isReflective() const
-
T &
get(size_t ix, size_t iy)¶ Inspector & Mutator
-
const T &
get(size_t ix, size_t iy) const¶ Inspector
-
T
getValue(size_t ix, size_t iy)¶
-
void
setValue(size_t ix, size_t iy, T value)¶
-
void
addValue(size_t ix, size_t iy, T value)¶
-
std::vector<T> &
getGrid() Return a reference to the grid values
-
Vector3d
positionFromIndex(int index) const Position of the grid point of a given index
-
T
closestValue(const Vector3d &position) const Value of a grid point that is closest to a given position
-
T
interpolate(const Vector3d &position) const Interpolate the grid at a given position
-