#include <source/solvers/poisson/RobinBcCoefStrategy.h>
Inheritance diagram for SAMRAI::solv::RobinBcCoefStrategy< DIM >:
Public Member Functions | |
RobinBcCoefStrategy () | |
Constructor. | |
virtual | ~RobinBcCoefStrategy (void) |
Destructor. | |
virtual void | setBcCoefs (tbox::Pointer< pdat::ArrayData< DIM, double > > &acoef_data, tbox::Pointer< pdat::ArrayData< DIM, double > > &gcoef_data, const tbox::Pointer< hier::Variable< DIM > > &variable, const hier::Patch< DIM > &patch, const hier::BoundaryBox< DIM > &bdry_box, double fill_time=0.0) const =0 |
User-supplied function to fill arrays of Robin boundary condition coefficients at a patch boundary. | |
virtual hier::IntVector< DIM > | numberOfExtensionsFillable () const =0 |
The Robin boundary conditions are specified in terms of the coefficients ,
and
in the Robin formula
applied on the boundary with outward normal n. The three coefficients are not independent, and an equivalent equation can be writen using just two coefficients,
where and
. This class uses the latter equation.
This class specifies the interfaces for communicating the boundary condition coefficients.
|
Constructor.
|
|
Destructor.
|
|
User-supplied function to fill arrays of Robin boundary condition coefficients at a patch boundary. This class specifies the Robin boundary condition coefficients at discrete locations on the patch boundary. Though these locations are defined by boundary box object, they do not necessarily coincide with the centers of the cells referred to by those boxes. These locations typically coincide with the nodes or face centers which do lie on the patch boundary. Accordingly, you use this function to provide the boundary coefficients at those locations by filling an array at indices corresponding to those locations. When setting the values of the boundary condition coefficients it is useful to note that for any cell (i,j,k), the indices of the sides, edges and nodes are easily determined. The index on the lower side of the cell is the same as the index of the cell, whereas the index on the upper side of the cell has the next higher value. In 2D, the cell and its surrounding nodes and faces has the following indices: * * (i,j+1)----(i,j+1)---(i+1,j+1) * | | * | | * | | * | | * (i,j) (i,j) (i+1,j) * | | * | | * | | * | | * (i,j)------(i,j)-----(i+1,j) * *
The boundary condition coefficients should be placed in the pdat::ArrayData<DIM> objects, This function is only used with type-1 boundary boxes, such as faces in 3D. Other types of boundaries do not have a well-defined surface normal.
The parameter
Implemented in SAMRAI::solv::GhostCellRobinBcCoefs< DIM >, SAMRAI::solv::LocationIndexRobinBcCoefs< DIM >, and SAMRAI::solv::SimpleCellRobinBcCoefs< DIM >. |
|
Implemented in SAMRAI::solv::GhostCellRobinBcCoefs< DIM >, SAMRAI::solv::LocationIndexRobinBcCoefs< DIM >, and SAMRAI::solv::SimpleCellRobinBcCoefs< DIM >. |