This class holds a domain's worth of FaceNodeBCs, one for each face of the physical domain. The user adds a FaceNodeBC-derived class for each face to enforce boundary conditions.
If the solution is phi and the face normal direction is x, the boundary conditions at a face are expressed as
A*dphi/dx + B*phi = C.
|
Public Member Functions |
|
| DomainNodeBC () |
| ~DomainNodeBC () |
DomainNodeBC & | operator= (const DomainNodeBC &) |
| DomainNodeBC (const DomainNodeBC &) |
|
const FaceNodeBC & | operator() (int direction, Side::LoHiSide side) const |
|
void | setFaceNodeBC (const FaceNodeBC &a_bc) |
|
void | applyHomogeneousBCs (NodeFArrayBox &a_state, const ProblemDomain &a_domain, Real a_dx) const |
void | applyHomogeneousBCs (NodeFArrayBox &a_state, const Box &a_domain, Real a_dx) const |
void | applyInhomogeneousBCs (NodeFArrayBox &a_state, const ProblemDomain &a_domain, Real a_dx) const |
void | applyInhomogeneousBCs (NodeFArrayBox &a_state, const Box &a_domain, Real a_dx) const |
Protected Member Functions |
bool | isBCDefined (int a_dir, const Side::LoHiSide a_side) const |
void | resetFaceNodeBC (const int a_dir, const Side::LoHiSide a_side) |
Protected Attributes |
Tuple< FaceNodeBC *, SpaceDim > | m_loBC |
Tuple< FaceNodeBC *, SpaceDim > | m_hiBC |