Go to the documentation of this file.
7 #ifndef INCLUDE_JET_GRID_BOUNDARY_CONDITION_SOLVER3_H_
8 #define INCLUDE_JET_GRID_BOUNDARY_CONDITION_SOLVER3_H_
70 unsigned int extrapolationDepth = 5) = 0;
103 typedef std::shared_ptr<GridBoundaryConditionSolver3>
108 #endif // INCLUDE_JET_GRID_BOUNDARY_CONDITION_SOLVER3_H_
virtual void onColliderUpdated(const Size3 &gridSize, const Vector3D &gridSpacing, const Vector3D &gridOrigin)=0
Invoked when a new collider is set.
const Vector3D & gridOrigin() const
Returns the origin of the velocity grid to be constrained.
constexpr int kDirectionAll
All direction.
Definition: constants.h:333
void setClosedDomainBoundaryFlag(int flag)
Sets the closed domain boundary flag.
Definition: advection_solver2.h:18
virtual void constrainVelocity(FaceCenteredGrid3 *velocity, unsigned int extrapolationDepth=5)=0
const Collider3Ptr & collider() const
Returns associated collider.
int closedDomainBoundaryFlag() const
Returns the closed domain boundary flag.
3-D face-centered (a.k.a MAC or staggered) grid.
Definition: face_centered_grid3.h:26
Abstract base class for 3-D boundary condition solver for grids.
Definition: grid_boundary_condition_solver3.h:26
std::shared_ptr< ScalarField3 > ScalarField3Ptr
Shared pointer for the ScalarField3 type.
Definition: scalar_field3.h:40
const Size3 & gridSize() const
Returns the size of the velocity grid to be constrained.
3-D size class.
Definition: size3.h:19
std::shared_ptr< GridBoundaryConditionSolver3 > GridBoundaryConditionSolver3Ptr
Shared pointer type for the GridBoundaryConditionSolver3.
Definition: grid_boundary_condition_solver3.h:104
virtual ScalarField3Ptr colliderSdf() const =0
Returns the signed distance field of the collider.
virtual ~GridBoundaryConditionSolver3()
Default destructor.
3-D vector class.
Definition: vector3.h:25
GridBoundaryConditionSolver3()
Default constructor.
void updateCollider(const Collider3Ptr &newCollider, const Size3 &gridSize, const Vector3D &gridSpacing, const Vector3D &gridOrigin)
Applies new collider and build the internals.
std::shared_ptr< Collider3 > Collider3Ptr
Shared pointer type for the Collider2.
Definition: collider3.h:118
const Vector3D & gridSpacing() const
Returns the spacing of the velocity grid to be constrained.
std::shared_ptr< VectorField3 > VectorField3Ptr
Shared pointer for the VectorField3 type.
Definition: vector_field3.h:40
virtual VectorField3Ptr colliderVelocityField() const =0
Returns the velocity field of the collider.