IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class CartSideRobinPhysBdryOp is a concrete SAMRAI::xfer::RefinePatchStrategy for setting Robin boundary conditions at physical boundaries for side-centered vector-valued quantities. More...
#include </home/runner/work/IBAMR/IBAMR/ibtk/include/ibtk/CartSideRobinPhysBdryOp.h>
Public Member Functions | |
CartSideRobinPhysBdryOp () | |
Default constructor. More... | |
CartSideRobinPhysBdryOp (int patch_data_index, const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &bc_coefs, bool homogeneous_bc=false, std::string type="LINEAR") | |
Constructor to fill boundary conditions for vector-valued quantities. Distinct boundary condition objects are provided for each vector component. More... | |
CartSideRobinPhysBdryOp (const std::set< int > &patch_data_indices, const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &bc_coefs, bool homogeneous_bc=false, std::string type="LINEAR") | |
Constructor to fill boundary conditions for vector-valued quantities. Distinct boundary condition objects are provided for each vector component. More... | |
CartSideRobinPhysBdryOp (const SAMRAI::hier::ComponentSelector &patch_data_indices, const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &bc_coefs, bool homogeneous_bc=false, std::string type="LINEAR") | |
Constructor to fill boundary conditions for vector-valued quantities. Distinct boundary condition objects are provided for each vector component. More... | |
~CartSideRobinPhysBdryOp () | |
Destructor. | |
Public Member Functions inherited from IBTK::RobinPhysBdryPatchStrategy | |
RobinPhysBdryPatchStrategy ()=default | |
Default constructor. | |
~RobinPhysBdryPatchStrategy ()=default | |
Destructor. | |
void | setPatchDataIndex (int patch_data_index) |
Reset the patch data index operated upon by this class. | |
void | setPatchDataIndices (const std::set< int > &patch_data_indices) |
Reset the patch data indices operated upon by this class. | |
void | setPatchDataIndices (const SAMRAI::hier::ComponentSelector &patch_data_indices) |
Reset the patch data indices operated upon by this class. | |
void | setPhysicalBcCoef (SAMRAI::solv::RobinBcCoefStrategy< NDIM > *bc_coef) |
Reset the Robin boundary condition specification object employed by this class to set physical boundary conditions. More... | |
void | setPhysicalBcCoefs (const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &bc_coefs) |
Reset the Robin boundary condition specification object employed by this class to set physical boundary conditions. More... | |
void | setHomogeneousBc (bool homogeneous_bc) |
Set whether boundary filling should employ homogeneous boundary conditions. More... | |
bool | getHomogeneousBc () const |
void | preprocessRefine (SAMRAI::hier::Patch< NDIM > &fine, const SAMRAI::hier::Patch< NDIM > &coarse, const SAMRAI::hier::Box< NDIM > &fine_box, const SAMRAI::hier::IntVector< NDIM > &ratio) override |
void | postprocessRefine (SAMRAI::hier::Patch< NDIM > &fine, const SAMRAI::hier::Patch< NDIM > &coarse, const SAMRAI::hier::Box< NDIM > &fine_box, const SAMRAI::hier::IntVector< NDIM > &ratio) override |
Public Member Functions inherited from SAMRAI::xfer::RefinePatchStrategy< NDIM > | |
virtual void | preprocessRefineBoxes (hier::Patch< NDIM > &fine, const hier::Patch< NDIM > &coarse, const hier::BoxList< NDIM > &fine_boxes, const hier::IntVector< NDIM > &ratio) |
virtual void | postprocessRefineBoxes (hier::Patch< NDIM > &fine, const hier::Patch< NDIM > &coarse, const hier::BoxList< NDIM > &fine_boxes, const hier::IntVector< NDIM > &ratio) |
Implementation of SAMRAI::xfer::RefinePatchStrategy interface. | |
void | setPhysicalBoundaryConditions (SAMRAI::hier::Patch< NDIM > &patch, double fill_time, const SAMRAI::hier::IntVector< NDIM > &ghost_width_to_fill) override |
SAMRAI::hier::IntVector< NDIM > | getRefineOpStencilWidth () const override |
void | accumulateFromPhysicalBoundaryData (SAMRAI::hier::Patch< NDIM > &patch, double fill_time, const SAMRAI::hier::IntVector< NDIM > &ghost_width_to_fill) override |
Additional Inherited Members | |
Protected Attributes inherited from IBTK::RobinPhysBdryPatchStrategy | |
std::set< int > | d_patch_data_indices |
std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > | d_bc_coefs |
bool | d_homogeneous_bc = false |
Class CartSideRobinPhysBdryOp is a concrete SAMRAI::xfer::RefinePatchStrategy for setting Robin boundary conditions at physical boundaries for side-centered vector-valued quantities.
IBTK::CartSideRobinPhysBdryOp::CartSideRobinPhysBdryOp | ( | ) |
Default constructor.
IBTK::CartSideRobinPhysBdryOp::CartSideRobinPhysBdryOp | ( | int | patch_data_index, |
const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > & | bc_coefs, | ||
bool | homogeneous_bc = false , |
||
std::string | type = "LINEAR" |
||
) |
Constructor to fill boundary conditions for vector-valued quantities. Distinct boundary condition objects are provided for each vector component.
patch_data_index | Patch data index requiring ghost cell filling. |
bc_coefs | Robin boundary conditions to use with this class. |
homogeneous_bc | Whether to employ the homogeneous form of the boundary conditions. |
type | Type of interpolation to use. Valid options are "LINEAR" or "QUADRATIC". Defaults to "LINEAR". |
IBTK::CartSideRobinPhysBdryOp::CartSideRobinPhysBdryOp | ( | const std::set< int > & | patch_data_indices, |
const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > & | bc_coefs, | ||
bool | homogeneous_bc = false , |
||
std::string | type = "LINEAR" |
||
) |
Constructor to fill boundary conditions for vector-valued quantities. Distinct boundary condition objects are provided for each vector component.
patch_data_indices | Collection of patch data indices which require ghost cell filling. |
bc_coefs | Robin boundary conditions to use with this class. |
homogeneous_bc | Whether to employ the homogeneous form of the boundary conditions. |
type | Type of interpolation to use. Valid options are "LINEAR" or "QUADRATIC". Defaults to "LINEAR". |
IBTK::CartSideRobinPhysBdryOp::CartSideRobinPhysBdryOp | ( | const SAMRAI::hier::ComponentSelector & | patch_data_indices, |
const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > & | bc_coefs, | ||
bool | homogeneous_bc = false , |
||
std::string | type = "LINEAR" |
||
) |
Constructor to fill boundary conditions for vector-valued quantities. Distinct boundary condition objects are provided for each vector component.
patch_data_indices | Collection of patch data indices which require ghost cell filling. |
bc_coefs | Robin boundary conditions to use with this class. |
homogeneous_bc | Whether to employ the homogeneous form of the boundary conditions. |
type | Type of interpolation to use. Valid options are "LINEAR" or "QUADRATIC". Defaults to "LINEAR". |
|
overridevirtual |
Function to accumulate data near physical boundaries from values set in the ghost cell region using the adjoint of the operator used to extrapolate the ghost cell values. This function can be used to construct the adjoint of linear operators that use ghost cell data.
patch | Patch on which to fill boundary data. |
fill_time | Double simulation time for boundary filling. |
ghost_width_to_fill | Integer vector describing maximum ghost width to fill over all registered scratch components. |
Reimplemented from IBTK::RobinPhysBdryPatchStrategy.
|
overridevirtual |
Function to return maximum stencil width needed over user-defined data interpolation operations. This is needed to determine the correct interpolation data dependencies.
Implements SAMRAI::xfer::RefinePatchStrategy< NDIM >.
|
overridevirtual |
Function to set data associated with the given list of patch data indices at patch boundaries that intersect the physical domain boundary. The patch data components set in this routine correspond to the "scratch" components specified in calls to the registerRefine() function in the SAMRAI::xfer::RefineAlgorithm class.
patch | Patch on which to fill boundary data. |
fill_time | Double simulation time for boundary filling. |
ghost_width_to_fill | Integer vector describing maximum ghost width to fill over all registered scratch components. |
Implements SAMRAI::xfer::RefinePatchStrategy< NDIM >.