Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class 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 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 BoxGhostBCnew_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)

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

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

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

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

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

Full define function

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

Sets interval to be (0,0)

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 GaussBC, ExtrapBC, HOExtrapBC, 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 GaussBC, ExtrapBC, HOExtrapBC, and NeumannBC.

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

Virtual constructor workaround.

Implemented in GaussBC, ExtrapBC, HOExtrapBC, and NeumannBC.


Friends And Related Function Documentation

friend class DomainGhostBC [friend]
 

Reimplemented in GaussBC, ExtrapBC, HOExtrapBC, 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 Oct 5 14:00:03 2005 for Chombo&AMRSelfGravity by  doxygen 1.4.1