#include <GhostBC.H>
Inheritance diagram for BoxGhostBC:
Public Member Functions | |
BoxGhostBC () | |
Null constructor. | |
virtual | ~BoxGhostBC () |
Destructor. | |
BoxGhostBC (int a_dir, Side::LoHiSide a_sd) | |
Sets interval to be (0,0). | |
BoxGhostBC (int a_dir, Side::LoHiSide a_sd, const Interval &a_comps) | |
Full constructor. | |
Protected Member Functions | |
virtual BoxGhostBC * | new_boxghostbc () const=0 |
void | define (int a_dir, Side::LoHiSide a_sd) |
void | define (int a_dir, Side::LoHiSide a_sd, const Interval &a_comps) |
virtual void | applyInhomogeneousBCs (FArrayBox &a_state, const Box &a_domain, Real a_dx) const |
virtual void | applyHomogeneousBCs (FArrayBox &a_state, const Box &a_domain, Real a_dx) const |
virtual void | applyInhomogeneousBCs (FArrayBox &a_state, const ProblemDomain &a_domain, Real a_dx) const |
virtual void | applyHomogeneousBCs (FArrayBox &a_state, const ProblemDomain &a_domain, Real a_dx) const |
virtual void | fillBCValues (FArrayBox &a_neumfac, FArrayBox &a_dircfac, FArrayBox &a_inhmval, Real a_dx, const Box &a_domain) const=0 |
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 &a_domain) const=0 |
Protected Attributes | |
Side::LoHiSide | m_side |
int | m_direction |
Interval | m_components |
Friends | |
class | DomainGhostBC |
BoxGhostBC is a class which encapsulates the operations of ghost-cell boundary conditions at a single face. If the solution is phi and the face normal direction is x, the boundary conditions usually used can be expressed as A*phi + B*dphi/dx = C. The derived class provides a function to to fill A B and C. These functions are only meant to be called by DomainGhostBC.
|
Null constructor.
|
|
Destructor.
|
|
Sets interval to be (0,0).
|
|
Full constructor.
|
|
Actually applies the boundary conditions defined by the values in a_neumfac, a_dircfac, and a_inhmval to a_state in the region defined by a_bcBox (which should be the appropriate ghost cells) Reimplemented in BoxEdgeBC. |
|
Apply the homogeneous form of the boundary conditions to a_state along the boundary of a_domain. Reimplemented in BoxEdgeBC, NoOpBC, ExtrapBC, HOExtrapBC, ReflectBC, and ReflectOddBC. |
|
Apply the homogeneous form of the boundary conditions to a_state along the boundary of a_domain. (Deprecated function -- use ProblemDomain instead of a Box to represent the domain) Reimplemented in BoxEdgeBC, NoOpBC, ExtrapBC, HOExtrapBC, ReflectBC, and ReflectOddBC. |
|
Apply the inhomogeneous form of the boundary conditions to a_state along the boundary of a_domain. Reimplemented in BoxEdgeBC, NoOpBC, ExtrapBC, HOExtrapBC, ReflectBC, and ReflectOddBC. |
|
Apply the inhomogeneous form of the boundary conditions to a_state along the boundary of a_domain. (Deprecated function -- use ProblemDomain instead of a Box to represent the domain) Reimplemented in BoxEdgeBC, NoOpBC, ExtrapBC, HOExtrapBC, ReflectBC, and ReflectOddBC. |
|
Full define function |
|
Sets interval to be (0,0) |
|
Pure-virtual Worker function to fill arrays which define the boundary condition. Essentially, if the boundary condition is represented as A*phi + B*dphi/dn = C, then a_dircfac is A, a_neumfac is B, and a_inhmval is C. Implemented in InflowVelBC, BoxEdgeBC, edgeDirichletBC, NoOpBC, ExtrapBC, HOExtrapBC, ReflectBC, ReflectOddBC, and NeumannBC. |
|
Deprecated function -- use ProplemDomain version instead Implemented in InflowVelBC, BoxEdgeBC, edgeDirichletBC, NoOpBC, ExtrapBC, HOExtrapBC, ReflectBC, ReflectOddBC, NormalInflowVelBC, and NeumannBC. |
|
Virtual constructor workaround. Implemented in InflowVelBC, BoxEdgeBC, edgeDirichletBC, NoOpBC, ExtrapBC, HOExtrapBC, ReflectBC, ReflectOddBC, NormalInflowVelBC, and NeumannBC. |
|
Reimplemented in InflowVelBC, edgeDirichletBC, ExtrapBC, HOExtrapBC, ReflectBC, ReflectOddBC, scalarDirichletBC, scalarInflowBC, InhomoDirichletBC, scalarInflowChannelBC, NormalInflowVelBC, NeumannBC, and DirichletBC. |
|
Which components this boundary condition should be applied to |
|
Which direction this boundary condition is for |
|
Which side this boundary condition is on |