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

BoxGhostBC Class Reference

#include <GhostBC.H>

Inheritance diagram for BoxGhostBC:

Inheritance graph
[legend]
Collaboration diagram for BoxGhostBC:

Collaboration graph
[legend]
List of all members.

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.


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

Private Member Functions

 BoxGhostBC (const BoxGhostBC &)
virtual void operator= (const BoxGhostBC &)

Friends

class 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.

BoxGhostBC::BoxGhostBC const BoxGhostBC  )  [inline, private]
 


Member Function Documentation

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

Virtual constructor workaround.

Implemented in NeumannBC, and DirichletBC.

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

Sets interval to be (0,0)

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

Full define function

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)

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)

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.

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.

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 NeumannBC, and DirichletBC.

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::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 NeumannBC, and DirichletBC.

virtual void BoxGhostBC::operator= const BoxGhostBC  )  [inline, private, virtual]
 


Friends And Related Function Documentation

friend class DomainGhostBC [friend]
 

Reimplemented in NeumannBC, and DirichletBC.


Member Data Documentation

Side::LoHiSide BoxGhostBC::m_side [protected]
 

Which side this boundary condition is on

int BoxGhostBC::m_direction [protected]
 

Which direction this boundary condition is for

Interval BoxGhostBC::m_components [protected]
 

Which components this boundary condition should be applied to


The documentation for this class was generated from the following file:
Generated on Fri Jul 2 17:55:43 2004 for Chombo by doxygen 1.3.2