IBAMR  IBAMR version 0.19.
Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
IBAMR::StaggeredStokesPhysicalBoundaryHelper Class Reference

Class StaggeredStokesPhysicalBoundaryHelper provides helper functions to enforce physical boundary conditions for a staggered grid discretization of the incompressible (Navier-)Stokes equations.

#include <ibamr/StaggeredStokesPhysicalBoundaryHelper.h>

Inheritance diagram for IBAMR::StaggeredStokesPhysicalBoundaryHelper:
Inheritance graph
[legend]

Public Member Functions

 StaggeredStokesPhysicalBoundaryHelper ()=default
 Default constructor. More...
 
 ~StaggeredStokesPhysicalBoundaryHelper ()=default
 Destructor. More...
 
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. More...
 
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...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
bool patchTouchesDirichletBoundary (SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch) const
 Return a boolean value indicating whether a patch has Dirichlet boundaries. More...
 
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. More...
 
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. More...
 
virtual void clearBcCoefData ()
 Clear cached boundary coefficient data. More...
 

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. More...
 
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. More...
 

Static Public Attributes

static const short int NORMAL_TRACTION_BDRY
 Boundary tags. More...
 
static const short int NORMAL_VELOCITY_BDRY
 
static const short int ALL_BDRY
 

Static Protected Member Functions

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. More...
 

Protected Attributes

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
 

Private Member Functions

 StaggeredStokesPhysicalBoundaryHelper (const StaggeredStokesPhysicalBoundaryHelper &from)=delete
 Copy constructor. More...
 
StaggeredStokesPhysicalBoundaryHelperoperator= (const StaggeredStokesPhysicalBoundaryHelper &that)=delete
 Assignment operator. More...
 

Constructor & Destructor Documentation

◆ StaggeredStokesPhysicalBoundaryHelper() [1/2]

IBAMR::StaggeredStokesPhysicalBoundaryHelper::StaggeredStokesPhysicalBoundaryHelper ( )
default

◆ ~StaggeredStokesPhysicalBoundaryHelper()

IBAMR::StaggeredStokesPhysicalBoundaryHelper::~StaggeredStokesPhysicalBoundaryHelper ( )
default

◆ StaggeredStokesPhysicalBoundaryHelper() [2/2]

IBAMR::StaggeredStokesPhysicalBoundaryHelper::StaggeredStokesPhysicalBoundaryHelper ( const StaggeredStokesPhysicalBoundaryHelper from)
privatedelete
Note
This constructor is not implemented and should not be used.
Parameters
fromThe value to copy to this object.

Member Function Documentation

◆ enforceNormalVelocityBoundaryConditions()

void IBAMR::StaggeredStokesPhysicalBoundaryHelper::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

◆ enforceDivergenceFreeConditionAtBoundary() [1/2]

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
Note
The default behavior is to set these values only in cells adjacent to boundary locations where normal traction conditions are imposed. Values can also be set where normal velocity boundary conditions, or both.

◆ enforceDivergenceFreeConditionAtBoundary() [2/2]

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
Note
The default behavior is to set these values only in cells adjacent to boundary locations where normal traction conditions are imposed. Values can also be set where normal velocity boundary conditions, or both.

◆ setupBcCoefObjects()

static void IBAMR::StaggeredStokesPhysicalBoundaryHelper::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 
)
static

◆ resetBcCoefObjects()

static void IBAMR::StaggeredStokesPhysicalBoundaryHelper::resetBcCoefObjects ( const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &  u_bc_coefs,
SAMRAI::solv::RobinBcCoefStrategy< NDIM > *  p_bc_coef 
)
static

◆ operator=()

StaggeredStokesPhysicalBoundaryHelper& IBAMR::StaggeredStokesPhysicalBoundaryHelper::operator= ( const StaggeredStokesPhysicalBoundaryHelper that)
privatedelete
Note
This operator is not implemented and should not be used.
Parameters
thatThe value to assign to this object.
Returns
A reference to this object.

◆ copyDataAtDirichletBoundaries() [1/2]

void IBTK::StaggeredPhysicalBoundaryHelper::copyDataAtDirichletBoundaries ( int  u_out_data_idx,
int  u_in_data_idx,
int  coarsest_ln = invalid_level_number,
int  finest_ln = invalid_level_number 
) const
inherited

◆ copyDataAtDirichletBoundaries() [2/2]

void IBTK::StaggeredPhysicalBoundaryHelper::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
inherited

◆ setupMaskingFunction() [1/2]

void IBTK::StaggeredPhysicalBoundaryHelper::setupMaskingFunction ( int  mask_data_idx,
int  coarsest_ln = invalid_level_number,
int  finest_ln = invalid_level_number 
) const
inherited

◆ setupMaskingFunction() [2/2]

void IBTK::StaggeredPhysicalBoundaryHelper::setupMaskingFunction ( SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, int > >  u_data,
SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > >  patch 
) const
inherited

◆ patchTouchesDirichletBoundary()

bool IBTK::StaggeredPhysicalBoundaryHelper::patchTouchesDirichletBoundary ( SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > >  patch) const
inherited

◆ patchTouchesDirichletBoundaryAxis()

bool IBTK::StaggeredPhysicalBoundaryHelper::patchTouchesDirichletBoundaryAxis ( SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > >  patch,
const unsigned int  axis 
) const
inherited

◆ cacheBcCoefData()

void IBTK::StaggeredPhysicalBoundaryHelper::cacheBcCoefData ( const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &  u_bc_coefs,
double  fill_time,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy 
)
inherited

◆ clearBcCoefData()

virtual void IBTK::StaggeredPhysicalBoundaryHelper::clearBcCoefData ( )
virtualinherited

◆ setupBcCoefBoxes()

static void IBTK::StaggeredPhysicalBoundaryHelper::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 
)
staticprotectedinherited

Member Data Documentation

◆ NORMAL_TRACTION_BDRY

const short int IBAMR::StaggeredStokesPhysicalBoundaryHelper::NORMAL_TRACTION_BDRY
static

◆ NORMAL_VELOCITY_BDRY

const short int IBAMR::StaggeredStokesPhysicalBoundaryHelper::NORMAL_VELOCITY_BDRY
static

◆ ALL_BDRY

const short int IBAMR::StaggeredStokesPhysicalBoundaryHelper::ALL_BDRY
static

◆ d_hierarchy

SAMRAI::tbox::Pointer<SAMRAI::hier::PatchHierarchy<NDIM> > IBTK::StaggeredPhysicalBoundaryHelper::d_hierarchy
protectedinherited

Cached hierarchy-related information.

◆ d_physical_codim1_boxes

std::vector<std::map<int, SAMRAI::tbox::Array<SAMRAI::hier::BoundaryBox<NDIM> > > > IBTK::StaggeredPhysicalBoundaryHelper::d_physical_codim1_boxes
protectedinherited

◆ d_dirichlet_bdry_locs

std::vector<std::map<int, std::vector<SAMRAI::tbox::Pointer<SAMRAI::pdat::ArrayData<NDIM, bool> > > > > IBTK::StaggeredPhysicalBoundaryHelper::d_dirichlet_bdry_locs
protectedinherited

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