Go to the documentation of this file.
7 #ifndef INCLUDE_JET_VERTEX_CENTERED_VECTOR_GRID3_H_
8 #define INCLUDE_JET_VERTEX_CENTERED_VECTOR_GRID3_H_
38 double gridSpacingX = 1.0,
39 double gridSpacingY = 1.0,
40 double gridSpacingZ = 1.0,
44 double initialValueU = 0.0,
45 double initialValueV = 0.0,
46 double initialValueW = 0.0);
81 std::shared_ptr<VectorGrid3>
clone()
const override;
108 size_t resolutionX,
size_t resolutionY,
size_t resolutionZ);
115 double gridSpacingX,
double gridSpacingY,
double gridSpacingZ);
122 double gridOriginX,
double gridOriginY,
double gridOriginZ);
129 double initialValX,
double initialValY,
double initialValZ);
146 const Vector3D& initialVal)
const override;
149 Size3 _resolution{1, 1, 1};
157 #endif // INCLUDE_JET_VERTEX_CENTERED_VECTOR_GRID3_H_
Builder & withResolution(size_t resolutionX, size_t resolutionY, size_t resolutionZ)
Returns builder with resolution.
Builder & withInitialValue(double initialValX, double initialValY, double initialValZ)
Returns builder with initial value.
ExecutionPolicy
Execution policy tag.
Definition: parallel.h:13
void swap(Grid3 *other) override
Swaps the contents with the given other grid.
VertexCenteredVectorGrid3 & operator=(const VertexCenteredVectorGrid3 &other)
Sets the contents with the given other grid.
VertexCenteredVectorGrid3 build() const
Builds VertexCenteredVectorGrid3 instance.
std::shared_ptr< VectorGrid3 > VectorGrid3Ptr
Shared pointer for the VectorGrid3 type.
Definition: vector_grid3.h:103
Builder & withGridSpacing(double gridSpacingX, double gridSpacingY, double gridSpacingZ)
Returns builder with grid spacing.
Abstract base class for 3-D cartesian grid structure.
Definition: grid3.h:30
VertexCenteredVectorGrid3(const Size3 &resolution, const Vector3D &gridSpacing=Vector3D(1.0, 1.0, 1.0), const Vector3D &origin=Vector3D(), const Vector3D &initialValue=Vector3D())
Size3 dataSize() const override
Returns the actual data point size.
VertexCenteredVectorGrid3()
Constructs zero-sized grid.
Front-end to create VertexCenteredVectorGrid3 objects step by step.
Definition: vertex_centered_vector_grid3.h:101
Vector3D dataOrigin() const override
Abstract base class for 3-D collocated vector grid structure.
Definition: collocated_vector_grid3.h:18
void fill(const Vector3D &value, ExecutionPolicy policy=ExecutionPolicy::kParallel) override
Fills the grid with given value.
Definition: advection_solver2.h:18
Builder & withResolution(const Size3 &resolution)
Returns builder with resolution.
const Vector3D & origin() const
Returns the grid origin.
const Size3 & resolution() const
Returns the grid resolution.
Abstract base class for 3-D vector grid builder.
Definition: vector_grid3.h:106
const Vector3D & gridSpacing() const
Returns the grid spacing.
std::shared_ptr< VectorGrid3 > clone() const override
Returns the copy of the grid instance.
std::shared_ptr< VertexCenteredVectorGrid3 > VertexCenteredVectorGrid3Ptr
Shared pointer for the VertexCenteredVectorGrid3 type.
Definition: vertex_centered_vector_grid3.h:95
3-D size class.
Definition: size3.h:19
VertexCenteredVectorGrid3(size_t resolutionX, size_t resolutionY, size_t resolutionZ, double gridSpacingX=1.0, double gridSpacingY=1.0, double gridSpacingZ=1.0, double originX=0.0, double originY=0.0, double originZ=0.0, double initialValueU=0.0, double initialValueV=0.0, double initialValueW=0.0)
3-D Vertex-centered vector grid structure.
Definition: vertex_centered_vector_grid3.h:23
Vector3< double > Vector3D
Double-type 3D vector.
Definition: vector3.h:349
void set(const VertexCenteredVectorGrid3 &other)
Sets the contents with the given other grid.
Builder & withInitialValue(const Vector3D &initialVal)
Returns builder with initial value.
3-D vector class.
Definition: vector3.h:25
Builder & withOrigin(const Vector3D &gridOrigin)
Returns builder with grid origin.
static Builder builder()
Returns builder fox VertexCenteredVectorGrid3.
VectorGrid3Ptr build(const Size3 &resolution, const Vector3D &gridSpacing, const Vector3D &gridOrigin, const Vector3D &initialVal) const override
Builds shared pointer of VertexCenteredVectorGrid3 instance.
VertexCenteredVectorGrid3Ptr makeShared() const
Builds shared pointer of VertexCenteredVectorGrid3 instance.
#define JET_GRID3_TYPE_NAME(DerivedClassName)
Definition: grid3.h:119
void fill(const std::function< Vector3D(const Vector3D &)> &func, ExecutionPolicy policy=ExecutionPolicy::kParallel) override
Fills the grid with given function.
Builder & withOrigin(double gridOriginX, double gridOriginY, double gridOriginZ)
Returns builder with grid origin.
Builder & withGridSpacing(const Vector3D &gridSpacing)
Returns builder with grid spacing.