IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class StaggeredStokesPhysicalBoundaryHelper provides helper functions to enforce physical boundary conditions for a staggered grid discretization of the incompressible (Navier-)Stokes equations. More...
#include </home/runner/work/IBAMR/IBAMR/include/ibamr/StaggeredStokesPhysicalBoundaryHelper.h>
Public Member Functions | |
StaggeredStokesPhysicalBoundaryHelper ()=default | |
Default constructor. | |
~StaggeredStokesPhysicalBoundaryHelper ()=default | |
Destructor. | |
void | enforceNormalVelocityBoundaryConditions (int u_data_idx, int p_data_idx, const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &u_bc_coefs, double fill_time, bool homogeneous_bc, int coarsest_ln=IBTK::invalid_level_number, int finest_ln=IBTK::invalid_level_number) const |
At Dirichlet boundaries, set values to enforce normal velocity boundary conditions at the boundary. | |
void | enforceDivergenceFreeConditionAtBoundary (int u_data_idx, int coarsest_ln=IBTK::invalid_level_number, int finest_ln=IBTK::invalid_level_number, short int bdry_tag=NORMAL_TRACTION_BDRY) const |
Set normal velocity ghost cell values to enforce discrete divergence-free condition in the ghost cells abutting the physical boundary. More... | |
void | enforceDivergenceFreeConditionAtBoundary (SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > u_data, SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch, short int bdry_tag=NORMAL_TRACTION_BDRY) const |
Set normal velocity ghost cell values to enforce discrete divergence-free condition in the ghost cells abutting the physical boundary. More... | |
Public Member Functions inherited from IBTK::StaggeredPhysicalBoundaryHelper | |
StaggeredPhysicalBoundaryHelper ()=default | |
Default constructor. | |
virtual | ~StaggeredPhysicalBoundaryHelper ()=default |
Destructor. | |
void | copyDataAtDirichletBoundaries (int u_out_data_idx, int u_in_data_idx, int coarsest_ln=invalid_level_number, int finest_ln=invalid_level_number) const |
Copy data to u_data_out_idx from u_data_in_idx at Dirichlet boundaries over the specified range of levels in the patch hierarchy. | |
void | copyDataAtDirichletBoundaries (SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > u_out_data, SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > u_in_data, SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch) const |
Copy data to u_data_out_idx from u_data_in_idx at Dirichlet boundaries on a single patch. | |
void | setupMaskingFunction (int mask_data_idx, int coarsest_ln=invalid_level_number, int finest_ln=invalid_level_number) const |
Setup a masking function over the specified range of levels in the patch hierarchy. | |
void | setupMaskingFunction (SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, int > > u_data, SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch) const |
Setup a masking function on a single patch. | |
bool | patchTouchesDirichletBoundary (SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch) const |
Return a boolean value indicating whether a patch has Dirichlet boundaries. | |
bool | patchTouchesDirichletBoundaryAxis (SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch, const unsigned int axis) const |
Return a boolean value indicating whether a patch has Dirichlet boundaries in the specified coordinate axis. | |
void | cacheBcCoefData (const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &u_bc_coefs, double fill_time, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy) |
Cache boundary coefficient data. | |
virtual void | clearBcCoefData () |
Clear cached boundary coefficient data. | |
Static Public Member Functions | |
static void | setupBcCoefObjects (const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &u_bc_coefs, SAMRAI::solv::RobinBcCoefStrategy< NDIM > *p_bc_coef, int u_target_data_idx, int p_target_data_idx, bool homogeneous_bc) |
Setup physical boundary condition specification objects for simultaneously filling velocity and pressure data. | |
static void | resetBcCoefObjects (const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &u_bc_coefs, SAMRAI::solv::RobinBcCoefStrategy< NDIM > *p_bc_coef) |
Reset physical boundary condition specification objects. | |
Static Public Attributes | |
static const short int | NORMAL_TRACTION_BDRY = 0x100 |
Boundary tags. | |
static const short int | NORMAL_VELOCITY_BDRY = 0x200 |
static const short int | ALL_BDRY = 0x100 | 0x200 |
Additional Inherited Members | |
Static Protected Member Functions inherited from IBTK::StaggeredPhysicalBoundaryHelper | |
static void | setupBcCoefBoxes (SAMRAI::hier::Box< NDIM > &bc_coef_box, SAMRAI::hier::BoundaryBox< NDIM > &trimmed_bdry_box, const SAMRAI::hier::BoundaryBox< NDIM > &bdry_box, SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch) |
Setup boundary boxes used for setting boundary condition coefficients. | |
Protected Attributes inherited from IBTK::StaggeredPhysicalBoundaryHelper | |
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > | d_hierarchy |
std::vector< std::map< int, SAMRAI::tbox::Array< SAMRAI::hier::BoundaryBox< NDIM > > > > | d_physical_codim1_boxes |
std::vector< std::map< int, std::vector< SAMRAI::tbox::Pointer< SAMRAI::pdat::ArrayData< NDIM, bool > > > > > | d_dirichlet_bdry_locs |
Class StaggeredStokesPhysicalBoundaryHelper provides helper functions to enforce physical boundary conditions for a staggered grid discretization of the incompressible (Navier-)Stokes equations.
void IBAMR::StaggeredStokesPhysicalBoundaryHelper::enforceDivergenceFreeConditionAtBoundary | ( | int | u_data_idx, |
int | coarsest_ln = IBTK::invalid_level_number , |
||
int | finest_ln = IBTK::invalid_level_number , |
||
short int | bdry_tag = NORMAL_TRACTION_BDRY |
||
) | const |
Set normal velocity ghost cell values to enforce discrete divergence-free condition in the ghost cells abutting the physical boundary.
void IBAMR::StaggeredStokesPhysicalBoundaryHelper::enforceDivergenceFreeConditionAtBoundary | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | u_data, |
SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
short int | bdry_tag = NORMAL_TRACTION_BDRY |
||
) | const |
Set normal velocity ghost cell values to enforce discrete divergence-free condition in the ghost cells abutting the physical boundary.