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

DomainNodeBC Class Reference

Class to enforce boundary conditions. More...

#include <NodeBC.H>

List of all members.

Public Methods

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

 ~DomainNodeBC ()
const FaceNodeBCoperator() (int direction, Side::LoHiSide side) const
 {\bf access functions}

void setFaceNodeBC (const FaceNodeBC &a_bc)
 {\bf data modification functions}

void applyHomogeneousBCs (NodeFArrayBox &a_state, const ProblemDomain &a_domain, Real a_dx) const
void applyHomogeneousBCs (NodeFArrayBox &a_state, const Box &a_domain, Real a_dx) const
void applyInhomogeneousBCs (NodeFArrayBox &a_state, const ProblemDomain &a_domain, Real a_dx) const
void applyInhomogeneousBCs (NodeFArrayBox &a_state, const Box &a_domain, Real a_dx) const
DomainNodeBC & operator= (const DomainNodeBC &)
 DomainNodeBC (const DomainNodeBC &)

Protected Methods

bool isBCDefined (const int a_dir, const Side::LoHiSide a_side) const
 returns true if this NodeBC is defined

void resetFaceNodeBC (const int a_dir, const Side::LoHiSide a_side)

Protected Attributes

Tuple< FaceNodeBC *, SpaceDim > m_loBC
Tuple< FaceNodeBC *, SpaceDim > m_hiBC


Detailed Description

Class to enforce boundary conditions.

This class holds a domain's worth of FaceNodeBCs, one for each face. The user adds a FaceNodeBC-derived class for each face to enforce boundary conditions.\ If the solution is phi and the face normal direction is x, the boundary conditions at a face are expressed as A*dphi/dx + B*phi = C. \ The class derived from FaceNodeBC provides a function to to fill A and B and C. DomainNodeBC calls this function and fills the boundary nodes appropriately.


Constructor & Destructor Documentation

DomainNodeBC::DomainNodeBC  
 

{\bf constructors, destructor and defines}

DomainNodeBC::~DomainNodeBC  
 

DomainNodeBC::DomainNodeBC const DomainNodeBC &   
 


Member Function Documentation

void DomainNodeBC::applyHomogeneousBCs NodeFArrayBox   a_state,
const Box &    a_domain,
Real    a_dx
const
 

void DomainNodeBC::applyHomogeneousBCs NodeFArrayBox   a_state,
const ProblemDomain &    a_domain,
Real    a_dx
const
 

Apply homogeneous boundary conditions on all sides of physical domain.

{\bf Arguments:}\ a_state (modified): array on which boundary conditions will be set.\ a_domain (not modified): CELL-centered physical domain.\ a_dx (not modified): mesh spacing.\

void DomainNodeBC::applyInhomogeneousBCs NodeFArrayBox   a_state,
const Box &    a_domain,
Real    a_dx
const
 

void DomainNodeBC::applyInhomogeneousBCs NodeFArrayBox   a_state,
const ProblemDomain &    a_domain,
Real    a_dx
const
 

Apply inhomogeneous boundary conditions on all sides of physical domain.

{\bf Arguments:}\ a_state (modified): array on which boundary conditions will be set.\ a_domain (not modified): CELL-centered physical domain.\ a_dx (not modified): mesh spacing.\

bool DomainNodeBC::isBCDefined const int    a_dir,
const Side::LoHiSide    a_side
const [protected]
 

returns true if this NodeBC is defined

const FaceNodeBC& DomainNodeBC::operator() int    direction,
Side::LoHiSide    side
const
 

{\bf access functions}

Retrieve FaceNodeBC for a particular face.

DomainNodeBC& DomainNodeBC::operator= const DomainNodeBC &   
 

void DomainNodeBC::resetFaceNodeBC const int    a_dir,
const Side::LoHiSide    a_side
[protected]
 

void DomainNodeBC::setFaceNodeBC const FaceNodeBC   a_bc
 

{\bf data modification functions}

Set boundary conditions at a face with a_bc.


Member Data Documentation

Tuple<FaceNodeBC*, SpaceDim> DomainNodeBC::m_hiBC [protected]
 

Tuple<FaceNodeBC*, SpaceDim> DomainNodeBC::m_loBC [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