DomainNodeBC Class Reference

#include <NodeBC.H>

List of all members.


Detailed Description

Class to enforce boundary conditions.

This class holds a domain's worth of FaceNodeBCs, one for each face of the physical domain. 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.

Public Member Functions

Constructors, destructor and defines
 DomainNodeBC ()
 ~DomainNodeBC ()
DomainNodeBCoperator= (const DomainNodeBC &)
 DomainNodeBC (const DomainNodeBC &)
Access functions
const FaceNodeBCoperator() (int direction, Side::LoHiSide side) const
Setting functions
void setFaceNodeBC (const FaceNodeBC &a_bc)
Functions to apply boundary conditions
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

Protected Member Functions

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

Protected Attributes

Tuple< FaceNodeBC *, SpaceDimm_loBC
Tuple< FaceNodeBC *, SpaceDimm_hiBC


Constructor & Destructor Documentation

DomainNodeBC::DomainNodeBC (  ) 

Empty constructor. Need to assign boundary conditions for each face with calls to setFaceNodeBC().

DomainNodeBC::~DomainNodeBC (  ) 

Destructor.

DomainNodeBC::DomainNodeBC ( const DomainNodeBC  ) 

Copy constructor.


Member Function Documentation

DomainNodeBC& DomainNodeBC::operator= ( const DomainNodeBC  ) 

Assignment, copies input.

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

Retrieve FaceNodeBC for a particular face.

void DomainNodeBC::setFaceNodeBC ( const FaceNodeBC a_bc  ) 

Set boundary condition object at a face.

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

Apply homogeneous boundary conditions on all faces of physical domain.

Parameters:
a_state  array on which boundary conditions will be applied
a_domain  CELL-centered physical domain
a_dx  mesh spacing

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

Apply homogeneous boundary conditions on all faces of physical domain.

Parameters:
a_state  array on which boundary conditions will be applied
a_domain  CELL-centered physical domain
a_dx  mesh spacing

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

Apply inhomogeneous boundary conditions on all faces of physical domain.

Parameters:
a_state  array on which boundary conditions will be applied
a_domain  CELL-centered physical domain
a_dx  mesh spacing

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

Apply inhomogeneous boundary conditions on all faces of physical domain.

Parameters:
a_state  array on which boundary conditions will be applied
a_domain  CELL-centered physical domain
a_dx  mesh spacing

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

Return true if the FaceNodeBC for the specified face is defined.

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

Reset the FaceNodeBC for the specified face to NULL.


Member Data Documentation


The documentation for this class was generated from the following file:

Generated on Sun Mar 26 04:03:42 2017 for Chombo + EB by  doxygen 1.5.5