CubbyFlow::GridFractionalBoundaryConditionSolver3 Class Reference

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

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

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

Public Member Functions

 GridFractionalBoundaryConditionSolver3 ()=default
 Default constructor. More...
 
 GridFractionalBoundaryConditionSolver3 (const GridFractionalBoundaryConditionSolver3 &)=delete
 Deleted copy constructor. More...
 
 GridFractionalBoundaryConditionSolver3 (GridFractionalBoundaryConditionSolver3 &&) noexcept=delete
 Deleted move constructor. More...
 
 ~GridFractionalBoundaryConditionSolver3 () override=default
 Default virtual destructor. More...
 
GridFractionalBoundaryConditionSolver3operator= (const GridFractionalBoundaryConditionSolver3 &)=delete
 Deleted copy assignment operator. More...
 
GridFractionalBoundaryConditionSolver3operator= (GridFractionalBoundaryConditionSolver3 &&) noexcept=delete
 Deleted move assignment operator. 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
 Default constructor. More...
 
 GridBoundaryConditionSolver3 (const GridBoundaryConditionSolver3 &)=delete
 Deleted copy constructor. More...
 
 GridBoundaryConditionSolver3 (GridBoundaryConditionSolver3 &&) noexcept=delete
 Deleted move constructor. More...
 
virtual ~GridBoundaryConditionSolver3 ()=default
 Default virtual destructor. More...
 
GridBoundaryConditionSolver3operator= (const GridBoundaryConditionSolver3 &)=delete
 Deleted copy assignment operator. More...
 
GridBoundaryConditionSolver3operator= (GridBoundaryConditionSolver3 &&) noexcept=delete
 Deleted move assignment operator. More...
 
const Collider3PtrGetCollider () const
 Returns associated collider. More...
 
void UpdateCollider (const Collider3Ptr &newCollider, const Vector3UZ &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 Vector3UZ &gridSize, const Vector3D &gridSpacing, const Vector3D &gridOrigin) override
 Invoked when a new collider is set. More...
 
- Protected Member Functions inherited from CubbyFlow::GridBoundaryConditionSolver3
const Vector3UZGetGridSize () 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() [1/3]

CubbyFlow::GridFractionalBoundaryConditionSolver3::GridFractionalBoundaryConditionSolver3 ( )
default

Default constructor.

◆ GridFractionalBoundaryConditionSolver3() [2/3]

CubbyFlow::GridFractionalBoundaryConditionSolver3::GridFractionalBoundaryConditionSolver3 ( const GridFractionalBoundaryConditionSolver3 )
delete

Deleted copy constructor.

◆ GridFractionalBoundaryConditionSolver3() [3/3]

CubbyFlow::GridFractionalBoundaryConditionSolver3::GridFractionalBoundaryConditionSolver3 ( GridFractionalBoundaryConditionSolver3 &&  )
deletenoexcept

Deleted move constructor.

◆ ~GridFractionalBoundaryConditionSolver3()

CubbyFlow::GridFractionalBoundaryConditionSolver3::~GridFractionalBoundaryConditionSolver3 ( )
overridedefault

Default virtual 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 Vector3UZ gridSize,
const Vector3D gridSpacing,
const Vector3D gridOrigin 
)
overrideprotectedvirtual

Invoked when a new collider is set.

Implements CubbyFlow::GridBoundaryConditionSolver3.

◆ operator=() [1/2]

GridFractionalBoundaryConditionSolver3& CubbyFlow::GridFractionalBoundaryConditionSolver3::operator= ( const GridFractionalBoundaryConditionSolver3 )
delete

Deleted copy assignment operator.

◆ operator=() [2/2]

GridFractionalBoundaryConditionSolver3& CubbyFlow::GridFractionalBoundaryConditionSolver3::operator= ( GridFractionalBoundaryConditionSolver3 &&  )
deletenoexcept

Deleted move assignment operator.


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