FaceNodeBC is a class to encapsulate the operations of boundary conditions at a face.
If the solution is phi and the face normal direction is x, the boundary conditions usually used can be expressed as
A*dphi/dx + B*phi = C.
The derived class provides a function to fill A and B and C.
|
Constructors, destructor and defines |
| | FaceNodeBC () |
| | FaceNodeBC (int a_dir, Side::LoHiSide a_sd) |
| | FaceNodeBC (int a_dir, Side::LoHiSide a_sd, const Interval &a_comps) |
| virtual | ~FaceNodeBC () |
| virtual FaceNodeBC * | new_boxBC () const=0 |
| void | define (int a_dir, Side::LoHiSide a_sd) |
| void | define (int a_dir, Side::LoHiSide a_sd, const Interval &a_comps) |
Protected Member Functions |
|
| virtual void | applyInhomogeneousBCs (FArrayBox &a_state, const ProblemDomain &a_domain, Real a_dx) const |
| virtual void | applyInhomogeneousBCs (FArrayBox &a_state, const Box &a_domain, Real a_dx) const |
| virtual void | applyHomogeneousBCs (FArrayBox &a_state, const ProblemDomain &domain, Real a_dx) const |
| virtual void | applyHomogeneousBCs (FArrayBox &a_state, const Box &domain, Real a_dx) const |
| virtual void | applyEitherBCs (FArrayBox &a_state, const ProblemDomain &domain, Real a_dx, bool a_homogeneous) const |
| virtual void | applyEitherBCs (FArrayBox &a_state, const Box &domain, Real a_dx, bool a_homogeneous) const |
| virtual void | applyBCs (const Box &a_bcbox, FArrayBox &a_state, const FArrayBox &a_neumfac, const FArrayBox &a_dircfac, const FArrayBox &a_inhmval, Real a_dx) const |
|
| virtual void | fillBCValues (FArrayBox &a_neumfac, FArrayBox &a_dircfac, FArrayBox &a_inhmval, Real a_dx, const ProblemDomain &domain) const=0 |
| virtual void | fillBCValues (FArrayBox &a_neumfac, FArrayBox &a_dircfac, FArrayBox &a_inhmval, Real a_dx, const Box &domain) const=0 |
Protected Attributes |
| Side::LoHiSide | m_side |
| int | m_direction |
| Interval | m_components |
Private Member Functions |
| | FaceNodeBC (const FaceNodeBC &) |
| virtual void | operator= (const FaceNodeBC &) |