Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

BoxGhostBC Class Reference

Class to encapsulate the operations of ghost-cell boundary conditions. More...

#include <GhostBC.H>

Inheritance diagram for BoxGhostBC:

Inheritance graph
[legend]
Collaboration diagram for BoxGhostBC:

Collaboration graph
[legend]
List of all members.

Public Methods

 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 Methods

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

Detailed Description

Class to encapsulate the operations of ghost-cell boundary conditions.

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.


Constructor & Destructor Documentation

BoxGhostBC::BoxGhostBC   [inline]
 

Null constructor.

virtual BoxGhostBC::~BoxGhostBC   [inline, virtual]
 

Destructor.

BoxGhostBC::BoxGhostBC int    a_dir,
Side::LoHiSide    a_sd
 

Sets interval to be (0,0).

BoxGhostBC::BoxGhostBC int    a_dir,
Side::LoHiSide    a_sd,
const Interval   a_comps
 

Full constructor.


Member Function Documentation

virtual void BoxGhostBC::applyBCs const Box   a_bcbox,
FArrayBox   a_state,
const FArrayBox   a_neumfac,
const FArrayBox   a_dircfac,
const FArrayBox   a_inhmval,
Real    a_dx
const [protected, virtual]
 

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.

virtual void BoxGhostBC::applyHomogeneousBCs FArrayBox   a_state,
const ProblemDomain   a_domain,
Real    a_dx
const [protected, virtual]
 

Apply the homogeneous form of the boundary conditions to a_state along the boundary of a_domain.

Reimplemented in BoxEdgeBC, ExtrapBC, HOExtrapBC, NoOpBC, ReflectBC, and ReflectOddBC.

virtual void BoxGhostBC::applyHomogeneousBCs FArrayBox   a_state,
const Box   a_domain,
Real    a_dx
const [protected, virtual]
 

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, ExtrapBC, HOExtrapBC, NoOpBC, ReflectBC, and ReflectOddBC.

virtual void BoxGhostBC::applyInhomogeneousBCs FArrayBox   a_state,
const ProblemDomain   a_domain,
Real    a_dx
const [protected, virtual]
 

Apply the inhomogeneous form of the boundary conditions to a_state along the boundary of a_domain.

Reimplemented in BoxEdgeBC, ExtrapBC, HOExtrapBC, NoOpBC, ReflectBC, and ReflectOddBC.

virtual void BoxGhostBC::applyInhomogeneousBCs FArrayBox   a_state,
const Box   a_domain,
Real    a_dx
const [protected, virtual]
 

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, ExtrapBC, HOExtrapBC, NoOpBC, ReflectBC, and ReflectOddBC.

void BoxGhostBC::define int    a_dir,
Side::LoHiSide    a_sd,
const Interval   a_comps
[protected]
 

Full define function

Reimplemented in BoxEdgeBC, and NoOpBC.

void BoxGhostBC::define int    a_dir,
Side::LoHiSide    a_sd
[protected]
 

Sets interval to be (0,0)

Reimplemented in BoxEdgeBC, and NoOpBC.

virtual void BoxGhostBC::fillBCValues FArrayBox   a_neumfac,
FArrayBox   a_dircfac,
FArrayBox   a_inhmval,
Real    a_dx,
const ProblemDomain   a_domain
const [protected, pure virtual]
 

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, ExtrapBC, HOExtrapBC, NoOpBC, ReflectBC, ReflectOddBC, and NeumannBC.

virtual void BoxGhostBC::fillBCValues FArrayBox   a_neumfac,
FArrayBox   a_dircfac,
FArrayBox   a_inhmval,
Real    a_dx,
const Box   a_domain
const [protected, pure virtual]
 

Deprecated function -- use ProplemDomain version instead

Implemented in InflowVelBC, BoxEdgeBC, edgeDirichletBC, ExtrapBC, HOExtrapBC, NoOpBC, ReflectBC, ReflectOddBC, NormalInflowVelBC, and NeumannBC.

virtual BoxGhostBC* BoxGhostBC::new_boxghostbc   const [protected, pure virtual]
 

Virtual constructor workaround.

Implemented in InflowVelBC, BoxEdgeBC, edgeDirichletBC, ExtrapBC, HOExtrapBC, NoOpBC, ReflectBC, ReflectOddBC, NormalInflowVelBC, and NeumannBC.


Friends And Related Function Documentation

friend class DomainGhostBC [friend]
 

Reimplemented in InflowVelBC, edgeDirichletBC, ExtrapBC, HOExtrapBC, ReflectBC, ReflectOddBC, scalarDirichletBC, scalarInflowBC, InhomoDirichletBC, scalarInflowChannelBC, NormalInflowVelBC, NeumannBC, and DirichletBC.


Member Data Documentation

Interval BoxGhostBC::m_components [protected]
 

Which components this boundary condition should be applied to

int BoxGhostBC::m_direction [protected]
 

Which direction this boundary condition is for

Side::LoHiSide BoxGhostBC::m_side [protected]
 

Which side this boundary condition is on


The documentation for this class was generated from the following file:
Generated on Wed Jan 19 17:55:39 2005 for Chombo&INSwithParticles by doxygen1.2.16