IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class INSIntermediateVelocityBcCoef is a concrete SAMRAI::solv::RobinBcCoefStrategy that is used to specify boundary conditions for the projection Poisson problem embedded in a projection method or in a block preconditioner for the incompressible Navier-Stokes equations. More...
#include </home/runner/work/IBAMR/IBAMR/include/ibamr/INSProjectionBcCoef.h>
Public Member Functions | |
INSProjectionBcCoef (const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &bc_coefs, bool homogeneous_bc=false) | |
Constructor. | |
~INSProjectionBcCoef ()=default | |
Destructor. | |
void | setPhysicalBcCoefs (const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &bc_coefs) |
Set the SAMRAI::solv::RobinBcCoefStrategy objects used to specify physical boundary conditions. | |
void | setSolutionTime (double solution_time) |
Set the time at which the solution is to be evaluated. | |
void | setTimeInterval (double current_time, double new_time) |
Set the current time interval. | |
Extended SAMRAI::solv::RobinBcCoefStrategy interface. | |
void | setTargetPatchDataIndex (int target_idx) override |
Set the target data index. | |
void | clearTargetPatchDataIndex () override |
Clear the target data index. | |
void | setHomogeneousBc (bool homogeneous_bc) override |
Set whether the class is filling homogeneous or inhomogeneous boundary conditions. | |
![]() | |
ExtendedRobinBcCoefStrategy ()=default | |
Empty default constructor. | |
virtual | ~ExtendedRobinBcCoefStrategy ()=default |
Empty virtual destructor. | |
Implementation of SAMRAI::solv::RobinBcCoefStrategy interface. | |
void | setBcCoefs (SAMRAI::tbox::Pointer< SAMRAI::pdat::ArrayData< NDIM, double > > &acoef_data, SAMRAI::tbox::Pointer< SAMRAI::pdat::ArrayData< NDIM, double > > &bcoef_data, SAMRAI::tbox::Pointer< SAMRAI::pdat::ArrayData< NDIM, double > > &gcoef_data, const SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > &variable, const SAMRAI::hier::Patch< NDIM > &patch, const SAMRAI::hier::BoundaryBox< NDIM > &bdry_box, double fill_time=0.0) const override |
Function to fill arrays of Robin boundary condition coefficients at a patch boundary. | |
SAMRAI::hier::IntVector< NDIM > | numberOfExtensionsFillable () const override |
Additional Inherited Members | |
![]() | |
int | d_target_data_idx = IBTK::invalid_index |
bool | d_homogeneous_bc = false |
Class INSIntermediateVelocityBcCoef is a concrete SAMRAI::solv::RobinBcCoefStrategy that is used to specify boundary conditions for the projection Poisson problem embedded in a projection method or in a block preconditioner for the incompressible Navier-Stokes equations.
This class interprets pure Dirichlet boundary conditions as prescribed velocity boundary conditions, whereas pure Neumann boundary conditions are interpreted as prescribed traction (stress) boundary conditions. These are translated into Neumann and Dirichlet boundary conditions, respectively, for the projection Poisson problem.
IBAMR::INSProjectionBcCoef::INSProjectionBcCoef | ( | const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > & | bc_coefs, |
bool | homogeneous_bc = false |
||
) |
Constructor.
bc_coefs | IBTK::Vector of boundary condition specification objects |
homogeneous_bc | Whether to employ homogeneous (as opposed to inhomogeneous) boundary conditions |
|
overridevirtual |
Clear the target data index.
Reimplemented from IBTK::ExtendedRobinBcCoefStrategy.
|
overridevirtual |
Implements SAMRAI::solv::RobinBcCoefStrategy< NDIM >.
|
overridevirtual |
Function to fill arrays of Robin boundary condition coefficients at a patch boundary.
acoef_data | Boundary coefficient data. The array will have been defined to include index range for corresponding to the boundary box bdry_box and appropriate for the alignment of the given variable. If this is a null pointer, then the calling function is not interested in a, and you can disregard it. |
bcoef_data | Boundary coefficient data. This array is exactly like acoef_data, except that it is to be filled with the b coefficient. |
gcoef_data | Boundary coefficient data. This array is exactly like acoef_data, except that it is to be filled with the g coefficient. |
variable | Variable to set the coefficients for. If implemented for multiple variables, this parameter can be used to determine which variable's coefficients are being sought. |
patch | Patch requiring bc coefficients. |
bdry_box | Boundary box showing where on the boundary the coefficient data is needed. |
fill_time | Solution time corresponding to filling, for use when coefficients are time-dependent. |
Implements SAMRAI::solv::RobinBcCoefStrategy< NDIM >.
|
overridevirtual |
Set whether the class is filling homogeneous or inhomogeneous boundary conditions.
Reimplemented from IBTK::ExtendedRobinBcCoefStrategy.
void IBAMR::INSProjectionBcCoef::setPhysicalBcCoefs | ( | const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > & | bc_coefs | ) |
Set the SAMRAI::solv::RobinBcCoefStrategy objects used to specify physical boundary conditions.
bc_coefs | IBTK::Vector of boundary condition specification objects |
|
overridevirtual |
Set the target data index.
Reimplemented from IBTK::ExtendedRobinBcCoefStrategy.