Jet
v1.3.3
|
Abstract base class for 3-D boundary condition solver for grids. More...
#include <jet/grid_boundary_condition_solver3.h>
Public Member Functions | |
GridBoundaryConditionSolver3 () | |
Default constructor. More... | |
virtual | ~GridBoundaryConditionSolver3 () |
Default destructor. More... | |
const Collider3Ptr & | collider () 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 | closedDomainBoundaryFlag () 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 | colliderSdf () const =0 |
Returns the signed distance field of the collider. More... | |
virtual VectorField3Ptr | colliderVelocityField () 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 & | gridSize () const |
Returns the size of the velocity grid to be constrained. More... | |
const Vector3D & | gridSpacing () const |
Returns the spacing of the velocity grid to be constrained. More... | |
const Vector3D & | gridOrigin () const |
Returns the origin of the velocity grid to be constrained. More... | |
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.
jet::GridBoundaryConditionSolver3::GridBoundaryConditionSolver3 | ( | ) |
Default constructor.
|
virtual |
Default destructor.
int jet::GridBoundaryConditionSolver3::closedDomainBoundaryFlag | ( | ) | const |
Returns the closed domain boundary flag.
const Collider3Ptr& jet::GridBoundaryConditionSolver3::collider | ( | ) | const |
Returns associated collider.
|
pure virtual |
Returns the signed distance field of the collider.
Implemented in jet::GridFractionalBoundaryConditionSolver3.
|
pure virtual |
Returns the velocity field of the collider.
Implemented in jet::GridFractionalBoundaryConditionSolver3.
|
pure virtual |
Constrains the velocity field to conform the collider boundary.
velocity | Input and output velocity grid. |
extrapolationDepth | Number of inner-collider grid cells that velocity will get extrapolated. |
Implemented in jet::GridFractionalBoundaryConditionSolver3, and jet::GridBlockedBoundaryConditionSolver3.
|
protected |
Returns the origin of the velocity grid to be constrained.
|
protected |
Returns the size of the velocity grid to be constrained.
|
protected |
Returns the spacing of the velocity grid to be constrained.
|
protectedpure virtual |
Invoked when a new collider is set.
Implemented in jet::GridFractionalBoundaryConditionSolver3, and jet::GridBlockedBoundaryConditionSolver3.
void jet::GridBoundaryConditionSolver3::setClosedDomainBoundaryFlag | ( | int | flag | ) |
Sets the closed domain boundary flag.
void jet::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.
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. |