CubbyFlow::GridBlockedBoundaryConditionSolver2 Class Referencefinal

Blocked 2-D boundary condition solver for grids. More...

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

Inheritance diagram for CubbyFlow::GridBlockedBoundaryConditionSolver2:
CubbyFlow::GridFractionalBoundaryConditionSolver2 CubbyFlow::GridBoundaryConditionSolver2

Public Member Functions

 GridBlockedBoundaryConditionSolver2 ()=default
 Default constructor. More...
 
 GridBlockedBoundaryConditionSolver2 (const GridBlockedBoundaryConditionSolver2 &)=delete
 Deleted copy constructor. More...
 
 GridBlockedBoundaryConditionSolver2 (GridBlockedBoundaryConditionSolver2 &&) noexcept=delete
 Deleted move constructor. More...
 
 ~GridBlockedBoundaryConditionSolver2 () override=default
 Default virtual destructor. More...
 
GridBlockedBoundaryConditionSolver2operator= (const GridBlockedBoundaryConditionSolver2 &)=delete
 Deleted copy assignment operator. More...
 
GridBlockedBoundaryConditionSolver2operator= (GridBlockedBoundaryConditionSolver2 &&) noexcept=delete
 Deleted move assignment operator. More...
 
void ConstrainVelocity (FaceCenteredGrid2 *velocity, unsigned int extrapolationDepth=5) override
 
const Array2< char > & GetMarker () const
 Returns the marker which is 1 if occupied by the collider. More...
 
- Public Member Functions inherited from CubbyFlow::GridFractionalBoundaryConditionSolver2
 GridFractionalBoundaryConditionSolver2 ()=default
 Default constructor. More...
 
 GridFractionalBoundaryConditionSolver2 (const GridFractionalBoundaryConditionSolver2 &)=delete
 Deleted copy constructor. More...
 
 GridFractionalBoundaryConditionSolver2 (GridFractionalBoundaryConditionSolver2 &&) noexcept=delete
 Deleted move constructor. More...
 
 ~GridFractionalBoundaryConditionSolver2 () override=default
 Default virtual destructor. More...
 
GridFractionalBoundaryConditionSolver2operator= (const GridFractionalBoundaryConditionSolver2 &)=delete
 Deleted copy assignment operator. More...
 
GridFractionalBoundaryConditionSolver2operator= (GridFractionalBoundaryConditionSolver2 &&) noexcept=delete
 Deleted move assignment operator. More...
 
void ConstrainVelocity (FaceCenteredGrid2 *velocity, unsigned int extrapolationDepth=5) override
 
ScalarField2Ptr GetColliderSDF () const override
 Returns the signed distance field of the collider. More...
 
VectorField2Ptr GetColliderVelocityField () const override
 Returns the velocity field of the collider. More...
 
- Public Member Functions inherited from CubbyFlow::GridBoundaryConditionSolver2
 GridBoundaryConditionSolver2 ()=default
 Default constructor. More...
 
 GridBoundaryConditionSolver2 (const GridBoundaryConditionSolver2 &)=delete
 Deleted copy constructor. More...
 
 GridBoundaryConditionSolver2 (GridBoundaryConditionSolver2 &&) noexcept=delete
 Deleted move constructor. More...
 
virtual ~GridBoundaryConditionSolver2 ()=default
 Default virtual destructor. More...
 
GridBoundaryConditionSolver2operator= (const GridBoundaryConditionSolver2 &)=delete
 Deleted copy assignment operator. More...
 
GridBoundaryConditionSolver2operator= (GridBoundaryConditionSolver2 &&) noexcept=delete
 Deleted move assignment operator. More...
 
const Collider2PtrGetCollider () const
 Returns associated collider. More...
 
void UpdateCollider (const Collider2Ptr &newCollider, const Vector2UZ &gridSize, const Vector2D &gridSpacing, const Vector2D &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 Vector2UZ &gridSize, const Vector2D &gridSpacing, const Vector2D &gridOrigin) override
 Invoked when a new collider is set. More...
 
- Protected Member Functions inherited from CubbyFlow::GridFractionalBoundaryConditionSolver2
void OnColliderUpdated (const Vector2UZ &gridSize, const Vector2D &gridSpacing, const Vector2D &gridOrigin) override
 Invoked when a new collider is set. More...
 
- Protected Member Functions inherited from CubbyFlow::GridBoundaryConditionSolver2
const Vector2UZGetGridSize () const
 Returns the size of the velocity grid to be constrained. More...
 
const Vector2DGetGridSpacing () const
 Returns the spacing of the velocity grid to be constrained. More...
 
const Vector2DGetGridOrigin () const
 Returns the origin of the velocity grid to be constrained. More...
 

Detailed Description

Blocked 2-D boundary condition solver for grids.

This class constrains the velocity field by projecting the flow to the blocked representation of the collider. A collider is rasterized into voxels and each face of the collider voxels projects the velocity field onto its face. This implementation should pair up with GridSinglePhasePressureSolver3 since the pressure solver assumes blocked boundary representation as well.

Constructor & Destructor Documentation

◆ GridBlockedBoundaryConditionSolver2() [1/3]

CubbyFlow::GridBlockedBoundaryConditionSolver2::GridBlockedBoundaryConditionSolver2 ( )
default

Default constructor.

◆ GridBlockedBoundaryConditionSolver2() [2/3]

CubbyFlow::GridBlockedBoundaryConditionSolver2::GridBlockedBoundaryConditionSolver2 ( const GridBlockedBoundaryConditionSolver2 )
delete

Deleted copy constructor.

◆ GridBlockedBoundaryConditionSolver2() [3/3]

CubbyFlow::GridBlockedBoundaryConditionSolver2::GridBlockedBoundaryConditionSolver2 ( GridBlockedBoundaryConditionSolver2 &&  )
deletenoexcept

Deleted move constructor.

◆ ~GridBlockedBoundaryConditionSolver2()

CubbyFlow::GridBlockedBoundaryConditionSolver2::~GridBlockedBoundaryConditionSolver2 ( )
overridedefault

Default virtual destructor.

Member Function Documentation

◆ ConstrainVelocity()

void CubbyFlow::GridBlockedBoundaryConditionSolver2::ConstrainVelocity ( FaceCenteredGrid2 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::GridBoundaryConditionSolver2.

◆ GetMarker()

const Array2<char>& CubbyFlow::GridBlockedBoundaryConditionSolver2::GetMarker ( ) const

Returns the marker which is 1 if occupied by the collider.

◆ OnColliderUpdated()

void CubbyFlow::GridBlockedBoundaryConditionSolver2::OnColliderUpdated ( const Vector2UZ gridSize,
const Vector2D gridSpacing,
const Vector2D gridOrigin 
)
overrideprotectedvirtual

Invoked when a new collider is set.

Implements CubbyFlow::GridBoundaryConditionSolver2.

◆ operator=() [1/2]

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

Deleted copy assignment operator.

◆ operator=() [2/2]

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

Deleted move assignment operator.


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