Abstract base class for 3-D boundary condition solver for grids. More...
#include <Core/Solver/Grid/GridBoundaryConditionSolver3.h>
Public Member Functions | |
GridBoundaryConditionSolver3 () | |
Default constructor. More... | |
virtual | ~GridBoundaryConditionSolver3 () |
Default destructor. More... | |
const Collider3Ptr & | GetCollider () const |
Returns associated collider. More... | |
void | UpdateCollider (const Collider3Ptr &newCollider, const Size3 &gridSize, const Vector3D &gridSpacing, const Vector3D &gridOrigin) |
Applies new collider and build the internals. More... | |
int | GetClosedDomainBoundaryFlag () const |
Returns the closed domain boundary flag. More... | |
void | SetClosedDomainBoundaryFlag (int flag) |
Sets the closed domain boundary flag. More... | |
virtual void | ConstrainVelocity (FaceCenteredGrid3 *velocity, unsigned int extrapolationDepth=5)=0 |
virtual ScalarField3Ptr | GetColliderSDF () const =0 |
Returns the signed distance field of the collider. More... | |
virtual VectorField3Ptr | GetColliderVelocityField () const =0 |
Returns the velocity field of the collider. More... | |
Protected Member Functions | |
virtual void | OnColliderUpdated (const Size3 &gridSize, const Vector3D &gridSpacing, const Vector3D &gridOrigin)=0 |
Invoked when a new collider is set. More... | |
const Size3 & | GetGridSize () const |
Returns the size of the velocity grid to be constrained. More... | |
const Vector3D & | GetGridSpacing () const |
Returns the spacing of the velocity grid to be constrained. More... | |
const Vector3D & | GetGridOrigin () const |
Returns the origin of the velocity grid to be constrained. More... | |
Detailed Description
Abstract base class for 3-D boundary condition solver for grids.
This is a helper class to constrain the 3-D velocity field with given collider object. It also determines whether to open any domain boundaries. To control the friction level, tune the collider parameter.
Constructor & Destructor Documentation
◆ GridBoundaryConditionSolver3()
CubbyFlow::GridBoundaryConditionSolver3::GridBoundaryConditionSolver3 | ( | ) |
Default constructor.
◆ ~GridBoundaryConditionSolver3()
|
virtual |
Default destructor.
Member Function Documentation
◆ ConstrainVelocity()
|
pure virtual |
Constrains the velocity field to conform the collider boundary.
- Parameters
-
velocity Input and output velocity grid. extrapolationDepth Number of inner-collider grid cells that velocity will get extrapolated.
Implemented in CubbyFlow::GridFractionalBoundaryConditionSolver3, and CubbyFlow::GridBlockedBoundaryConditionSolver3.
◆ GetClosedDomainBoundaryFlag()
int CubbyFlow::GridBoundaryConditionSolver3::GetClosedDomainBoundaryFlag | ( | ) | const |
Returns the closed domain boundary flag.
◆ GetCollider()
const Collider3Ptr& CubbyFlow::GridBoundaryConditionSolver3::GetCollider | ( | ) | const |
Returns associated collider.
◆ GetColliderSDF()
|
pure virtual |
Returns the signed distance field of the collider.
Implemented in CubbyFlow::GridFractionalBoundaryConditionSolver3.
◆ GetColliderVelocityField()
|
pure virtual |
Returns the velocity field of the collider.
Implemented in CubbyFlow::GridFractionalBoundaryConditionSolver3.
◆ GetGridOrigin()
|
protected |
Returns the origin of the velocity grid to be constrained.
◆ GetGridSize()
|
protected |
Returns the size of the velocity grid to be constrained.
◆ GetGridSpacing()
|
protected |
Returns the spacing of the velocity grid to be constrained.
◆ OnColliderUpdated()
|
protectedpure virtual |
Invoked when a new collider is set.
Implemented in CubbyFlow::GridFractionalBoundaryConditionSolver3, and CubbyFlow::GridBlockedBoundaryConditionSolver3.
◆ SetClosedDomainBoundaryFlag()
void CubbyFlow::GridBoundaryConditionSolver3::SetClosedDomainBoundaryFlag | ( | int | flag | ) |
Sets the closed domain boundary flag.
◆ UpdateCollider()
void CubbyFlow::GridBoundaryConditionSolver3::UpdateCollider | ( | const Collider3Ptr & | newCollider, |
const Size3 & | gridSize, | ||
const Vector3D & | gridSpacing, | ||
const Vector3D & | gridOrigin | ||
) |
Applies new collider and build the internals.
This function is called to apply new collider and build the internal cache. To provide a hint to the cache, info for the expected velocity grid that will be constrained is provided.
- Parameters
-
newCollider New collider to apply. gridSize Size of the velocity grid to be constrained. gridSpacing Grid spacing of the velocity grid to be constrained. gridOrigin Origin of the velocity grid to be constrained.
The documentation for this class was generated from the following file:
- Core/Solver/Grid/GridBoundaryConditionSolver3.h