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

FaceNodeBC Class Reference

A class to encapsulate the operations of boundary conditions. More...

#include <NodeBC.H>

List of all members.

Public Methods

 FaceNodeBC ()
 {\bf constructors, destructor and defines}

 FaceNodeBC (int a_dir, Side::LoHiSide a_sd)
 FaceNodeBC (int a_dir, Side::LoHiSide a_sd, const Interval &a_comps)
virtual ~FaceNodeBC ()

Protected Methods

virtual FaceNodeBC * new_boxBC () const=0
 {\bf constructors, destructor and defines}

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 ProblemDomain &a_domain, Real a_dx) const
 {\bf data modification functions}

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

Protected Attributes

Side::LoHiSide m_side
int m_direction
Interval m_components

Friends

class DomainNodeBC


Detailed Description

A class to encapsulate the operations of boundary conditions.

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 to fill A and B and C. These functions are only meant to be called by DomainNodeBC.


Constructor & Destructor Documentation

FaceNodeBC::FaceNodeBC   [inline]
 

{\bf constructors, destructor and defines}

Default constructor, sets interval to (-1:-1).

FaceNodeBC::FaceNodeBC int    a_dir,
Side::LoHiSide    a_sd
 

This constructor sets interval to be (0:0).

FaceNodeBC::FaceNodeBC int    a_dir,
Side::LoHiSide    a_sd,
const Interval &    a_comps
 

virtual FaceNodeBC::~FaceNodeBC   [inline, virtual]
 

Destructor.


Member Function Documentation

virtual void FaceNodeBC::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]
 

Apply boundary condition.

virtual void FaceNodeBC::applyEitherBCs FArrayBox &    a_state,
const Box &    domain,
Real    a_dx,
bool    a_homogeneous
const [protected, virtual]
 

virtual void FaceNodeBC::applyEitherBCs FArrayBox &    a_state,
const ProblemDomain &    domain,
Real    a_dx,
bool    a_homogeneous
const [protected, virtual]
 

virtual void FaceNodeBC::applyHomogeneousBCs FArrayBox &    a_state,
const Box &    domain,
Real    a_dx
const [protected, virtual]
 

virtual void FaceNodeBC::applyHomogeneousBCs FArrayBox &    a_state,
const ProblemDomain &    domain,
Real    a_dx
const [protected, virtual]
 

Apply homogeneous boundary conditions on this face.

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

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

{\bf data modification functions}

Apply inhomogeneous boundary conditions on this face.

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

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

sets interval to be (0,0)

virtual void FaceNodeBC::fillBCValues FArrayBox &    a_neumfac,
FArrayBox &    a_dircfac,
FArrayBox &    a_inhmval,
Real    a_dx,
const Box &    domain
const [protected, pure virtual]
 

virtual void FaceNodeBC::fillBCValues FArrayBox &    a_neumfac,
FArrayBox &    a_dircfac,
FArrayBox &    a_inhmval,
Real    a_dx,
const ProblemDomain &    domain
const [protected, pure virtual]
 

Set A and B and C in the boundary condition. Need this in derived class.

virtual FaceNodeBC* FaceNodeBC::new_boxBC   const [protected, pure virtual]
 

{\bf constructors, destructor and defines}

Virtual constructor workaround. Need this in derived class.


Friends And Related Function Documentation

friend class DomainNodeBC [friend]
 


Member Data Documentation

Interval FaceNodeBC::m_components [protected]
 

int FaceNodeBC::m_direction [protected]
 

Side::LoHiSide FaceNodeBC::m_side [protected]
 


The documentation for this class was generated from the following file:
Generated on Tue Apr 15 18:34:54 2003 for AMRNodeElliptic by doxygen1.2.16