Go to the documentation of this file.
7 #ifndef INCLUDE_JET_COLLOCATED_VECTOR_GRID2_H_
8 #define INCLUDE_JET_COLLOCATED_VECTOR_GRID2_H_
66 const std::function<
void(
size_t,
size_t)>& func)
const;
78 const std::function<
void(
size_t,
size_t)>& func)
const;
107 void getData(std::vector<double>* data)
const override;
110 void setData(
const std::vector<double>& data)
override;
121 const Vector2D& initialValue)
final;
131 #endif // INCLUDE_JET_COLLOCATED_VECTOR_GRID2_H_
void setCollocatedVectorGrid(const CollocatedVectorGrid2 &other)
Sets the data storage and predefined samplers with given grid.
VectorDataAccessor dataAccessor()
Returns the read-write data array accessor.
const Vector2D & origin() const
Returns the grid origin.
Vector2< double > Vector2D
Double-type 2D vector.
Definition: vector2.h:340
void setData(const std::vector< double > &data) override
Sets the data from a continuous linear array.
virtual ~CollocatedVectorGrid2()
Default destructor.
DataPositionFunc dataPosition() const
Returns the function that maps data point to its position.
virtual Size2 dataSize() const =0
Returns the actual data point size.
void forEachDataPointIndex(const std::function< void(size_t, size_t)> &func) const
Invokes the given function func for each data point.
double divergenceAtDataPoint(size_t i, size_t j) const
Returns divergence at data point location.
std::function< Vector2D(size_t, size_t)> DataPositionFunc
Function type for mapping data index to actual position.
Definition: grid2.h:33
2-D array class.
Definition: array2.h:42
std::shared_ptr< CollocatedVectorGrid2 > CollocatedVectorGrid2Ptr
Shared pointer for the CollocatedVectorGrid2 type.
Definition: collocated_vector_grid2.h:127
virtual Vector2D dataOrigin() const =0
Returns data position for the grid point at (0, 0).
Abstract base class for 2-D vector grid structure.
Definition: vector_grid2.h:21
2-D linear array sampler class.
Definition: array_samplers2.h:77
Definition: advection_solver2.h:18
2-D read-only array accessor class.
Definition: array_accessor2.h:261
const Vector2D & operator()(size_t i, size_t j) const
Returns the grid data at given data point.
double curl(const Vector2D &x) const override
Returns curl at given position x.
2-D vector class.
Definition: vector2.h:24
Abstract base class for 2-D collocated vector grid structure.
Definition: collocated_vector_grid2.h:18
CollocatedVectorGrid2()
Constructs an empty grid.
void swapCollocatedVectorGrid(CollocatedVectorGrid2 *other)
Swaps the data storage and predefined samplers with given grid.
2-D size class.
Definition: size2.h:19
void getData(std::vector< double > *data) const override
Fetches the data into a continuous linear array.
2-D array accessor class.
Definition: array_accessor2.h:31
std::function< Vector2D(const Vector2D &)> sampler() const override
Returns the sampler function.
double curlAtDataPoint(size_t i, size_t j) const
Returns curl at data point location.
ConstVectorDataAccessor constDataAccessor() const
Returns the read-only data array accessor.
const Size2 & resolution() const
Returns the grid resolution.
double divergence(const Vector2D &x) const override
Returns divergence at given position x.
Vector2D & operator()(size_t i, size_t j)
Returns the grid data at given data point.
const Vector2D & gridSpacing() const
Returns the grid spacing.
Vector2D sample(const Vector2D &x) const override
Returns sampled value at given position x.
void parallelForEachDataPointIndex(const std::function< void(size_t, size_t)> &func) const
Invokes the given function func for each data point parallelly.