CubbyFlow::GridFractionalBoundaryConditionSolver3 Class Reference

Fractional 3-D boundary condition solver for grids. More...

#include <Core/Solver/Grid/GridFractionalBoundaryConditionSolver3.h>

Inheritance diagram for CubbyFlow::GridFractionalBoundaryConditionSolver3:
CubbyFlow::GridBoundaryConditionSolver3 CubbyFlow::GridBlockedBoundaryConditionSolver3

Public Member Functions

 GridFractionalBoundaryConditionSolver3 ()
 Default constructor. More...
 
virtual ~GridFractionalBoundaryConditionSolver3 ()
 Default destructor. More...
 
void ConstrainVelocity (FaceCenteredGrid3 *velocity, unsigned int extrapolationDepth=5) override
 
ScalarField3Ptr GetColliderSDF () const override
 Returns the signed distance field of the collider. More...
 
VectorField3Ptr GetColliderVelocityField () const override
 Returns the velocity field of the collider. More...
 
- Public Member Functions inherited from CubbyFlow::GridBoundaryConditionSolver3
 GridBoundaryConditionSolver3 ()
 Default constructor. More...
 
virtual ~GridBoundaryConditionSolver3 ()
 Default destructor. More...
 
const Collider3PtrGetCollider () 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...
 

Protected Member Functions

void OnColliderUpdated (const Size3 &gridSize, const Vector3D &gridSpacing, const Vector3D &gridOrigin) override
 Invoked when a new collider is set. More...
 
- Protected Member Functions inherited from CubbyFlow::GridBoundaryConditionSolver3
const Size3GetGridSize () const
 Returns the size of the velocity grid to be constrained. More...
 
const Vector3DGetGridSpacing () const
 Returns the spacing of the velocity grid to be constrained. More...
 
const Vector3DGetGridOrigin () const
 Returns the origin of the velocity grid to be constrained. More...
 

Detailed Description

Fractional 3-D boundary condition solver for grids.

This class constrains the velocity field by projecting the flow to the signed-distance field representation of the collider. This implementation should pair up with GridFractionalSinglePhasePressureSolver3 to provide sub-grid resolution velocity projection.

Constructor & Destructor Documentation

◆ GridFractionalBoundaryConditionSolver3()

CubbyFlow::GridFractionalBoundaryConditionSolver3::GridFractionalBoundaryConditionSolver3 ( )

Default constructor.

◆ ~GridFractionalBoundaryConditionSolver3()

virtual CubbyFlow::GridFractionalBoundaryConditionSolver3::~GridFractionalBoundaryConditionSolver3 ( )
virtual

Default destructor.

Member Function Documentation

◆ ConstrainVelocity()

void CubbyFlow::GridFractionalBoundaryConditionSolver3::ConstrainVelocity ( FaceCenteredGrid3 velocity,
unsigned int  extrapolationDepth = 5 
)
overridevirtual

Constrains the velocity field to conform the collider boundary.

Parameters
velocityInput and output velocity grid.
extrapolationDepthNumber of inner-collider grid cells that velocity will get extrapolated.

Implements CubbyFlow::GridBoundaryConditionSolver3.

◆ GetColliderSDF()

ScalarField3Ptr CubbyFlow::GridFractionalBoundaryConditionSolver3::GetColliderSDF ( ) const
overridevirtual

Returns the signed distance field of the collider.

Implements CubbyFlow::GridBoundaryConditionSolver3.

◆ GetColliderVelocityField()

VectorField3Ptr CubbyFlow::GridFractionalBoundaryConditionSolver3::GetColliderVelocityField ( ) const
overridevirtual

Returns the velocity field of the collider.

Implements CubbyFlow::GridBoundaryConditionSolver3.

◆ OnColliderUpdated()

void CubbyFlow::GridFractionalBoundaryConditionSolver3::OnColliderUpdated ( const Size3 gridSize,
const Vector3D gridSpacing,
const Vector3D gridOrigin 
)
overrideprotectedvirtual

Invoked when a new collider is set.

Implements CubbyFlow::GridBoundaryConditionSolver3.


The documentation for this class was generated from the following file: