|
Chombo + EB + MF
3.2
|
Class to enforce boundary conditions. More...
#include <NodeBC.H>
Public Member Functions | |
Constructors, destructor and defines | |
| DomainNodeBC () | |
| ~DomainNodeBC () | |
| DomainNodeBC & | operator= (const DomainNodeBC &) |
| DomainNodeBC (const DomainNodeBC &) | |
Access functions | |
| const FaceNodeBC & | operator() (int direction, Side::LoHiSide side) const |
Setting functions | |
| void | setFaceNodeBC (const FaceNodeBC &a_bc) |
Functions to apply boundary conditions | |
| 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 |
Class to enforce boundary conditions.
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.
The class derived from FaceNodeBC provides a function to to fill A and B and C. DomainNodeBC calls this function and fills the boundary nodes appropriately.
| DomainNodeBC::DomainNodeBC | ( | ) |
Empty constructor. Need to assign boundary conditions for each face with calls to setFaceNodeBC().
| DomainNodeBC::~DomainNodeBC | ( | ) |
Destructor.
| DomainNodeBC::DomainNodeBC | ( | const DomainNodeBC & | ) |
Copy constructor.
| DomainNodeBC& DomainNodeBC::operator= | ( | const DomainNodeBC & | ) |
Assignment, copies input.
| const FaceNodeBC& DomainNodeBC::operator() | ( | int | direction, |
| Side::LoHiSide | side | ||
| ) | const |
Retrieve FaceNodeBC for a particular face.
| void DomainNodeBC::setFaceNodeBC | ( | const FaceNodeBC & | a_bc | ) |
Set boundary condition object at a face.
| void DomainNodeBC::applyHomogeneousBCs | ( | NodeFArrayBox & | a_state, |
| const ProblemDomain & | a_domain, | ||
| Real | a_dx | ||
| ) | const |
Apply homogeneous boundary conditions on all faces of physical domain.
| a_state | array on which boundary conditions will be applied |
| a_domain | CELL-centered physical domain |
| a_dx | mesh spacing |
| void DomainNodeBC::applyHomogeneousBCs | ( | NodeFArrayBox & | a_state, |
| const Box & | a_domain, | ||
| Real | a_dx | ||
| ) | const |
Apply homogeneous boundary conditions on all faces of physical domain.
| a_state | array on which boundary conditions will be applied |
| a_domain | CELL-centered physical domain |
| a_dx | mesh spacing |
| void DomainNodeBC::applyInhomogeneousBCs | ( | NodeFArrayBox & | a_state, |
| const ProblemDomain & | a_domain, | ||
| Real | a_dx | ||
| ) | const |
Apply inhomogeneous boundary conditions on all faces of physical domain.
| a_state | array on which boundary conditions will be applied |
| a_domain | CELL-centered physical domain |
| a_dx | mesh spacing |
| void DomainNodeBC::applyInhomogeneousBCs | ( | NodeFArrayBox & | a_state, |
| const Box & | a_domain, | ||
| Real | a_dx | ||
| ) | const |
Apply inhomogeneous boundary conditions on all faces of physical domain.
| a_state | array on which boundary conditions will be applied |
| a_domain | CELL-centered physical domain |
| a_dx | mesh spacing |
|
protected |
Return true if the FaceNodeBC for the specified face is defined.
|
protected |
Reset the FaceNodeBC for the specified face to NULL.
|
protected |
|
protected |
1.8.13