Chombo + EB  3.2
Public Member Functions | Private Member Functions | List of all members
BCFunction Class Referenceabstract

#include <BCFunc.H>

Inheritance diagram for BCFunction:
Inheritance graph
[legend]

Public Member Functions

 BCFunction ()
 Base class constructor. Called by all subclass constructors. More...
 
virtual ~BCFunction ()
 Destructor. More...
 
virtual void operator() (FArrayBox &a_state, const Box &a_valid, const ProblemDomain &a_domain, Real a_dx, bool a_homogeneous)=0
 
virtual void operator() (FArrayBox &a_state, const Box &a_valid, const ProblemDomain &a_domain, Real a_dx, const DataIndex &a_index, bool a_homogeneous)
 
virtual void setTime (const Real &a_time)
 
void fillGhostCells (const LevelData< FArrayBox > &phi, const Real dx, const bool homogeneous)
 Fill the ghost cells for a single level. More...
 
void fillGhostCells (const Vector< LevelData< FArrayBox > *> &phi, const Real dx0, const Vector< int > &refV, const bool homogeneous)
 Fill the ghost cells for a Hierarchy of levels. More...
 

Private Member Functions

 BCFunction (const BCFunction &)
 
BCFunctionoperator= (const BCFunction &)
 

Detailed Description

This base class represents a boundary condition for an elliptic or parabolic partial differential equation.

Constructor & Destructor Documentation

◆ BCFunction() [1/2]

BCFunction::BCFunction ( )
inline

Base class constructor. Called by all subclass constructors.

Referenced by fillGhostCells().

◆ ~BCFunction()

virtual BCFunction::~BCFunction ( )
inlinevirtual

Destructor.

References operator()().

◆ BCFunction() [2/2]

BCFunction::BCFunction ( const BCFunction )
private

Member Function Documentation

◆ operator()() [1/2]

virtual void BCFunction::operator() ( FArrayBox a_state,
const Box a_valid,
const ProblemDomain a_domain,
Real  a_dx,
bool  a_homogeneous 
)
pure virtual

Computes values of a solution, $\phi$, on ghost cells. These ghost values impose the boundary condition represented by the BCFunction object.

Parameters
a_stateThe values of $\phi$ on the box given by a_valid.
a_validThe box on which the boundary condition is to be imposed.
a_domainThe problem domain on which this boundary condition is imposed.
a_dxThe grid spacing.
a_homogeneousIf set to true, ghost values are computed for a homogeneous boundary condition. This is useful for multigrid solves.

Implemented in ConstBCFunction, BCFuncWrapper, ConstDiriBC, CompBC, and CompGridVTOBC.

Referenced by operator()(), ~BCFunction(), and BCValueFunction::~BCValueFunction().

◆ operator()() [2/2]

virtual void BCFunction::operator() ( FArrayBox a_state,
const Box a_valid,
const ProblemDomain a_domain,
Real  a_dx,
const DataIndex a_index,
bool  a_homogeneous 
)
inlinevirtual

Computes the values of $\phi$ on ghost cells specifying a data index. By default, this calls the version of the method without a DataIndex.

Parameters
a_stateThe values of $\phi$ on the box given by a_valid.
a_validThe box on which the boundary condition is to be imposed.
a_domainThe problem domain on which this boundary condition is imposed.
a_dxThe grid spacing.
a_indexA DataIndex that can be used in the calculation.
a_homogeneousIf set to true, ghost values are computed for a homogeneous boundary condition. This is useful for multigrid solves.

Reimplemented in CompBC, and CompGridVTOBC.

References operator()().

◆ setTime()

virtual void BCFunction::setTime ( const Real a_time)
inlinevirtual

Sets the time associated with this boundary condition. By default, this method does nothing, so this aspect of BCFunction can be ignored for time-independent boundary conditions.

Parameters
a_timeThe time to be passed to the boundary condition.

◆ fillGhostCells() [1/2]

void BCFunction::fillGhostCells ( const LevelData< FArrayBox > &  phi,
const Real  dx,
const bool  homogeneous 
)
inline

◆ fillGhostCells() [2/2]

void BCFunction::fillGhostCells ( const Vector< LevelData< FArrayBox > *> &  phi,
const Real  dx0,
const Vector< int > &  refV,
const bool  homogeneous 
)
inline

Fill the ghost cells for a Hierarchy of levels.

References BCFunction(), fillGhostCells(), and operator=().

◆ operator=()

BCFunction& BCFunction::operator= ( const BCFunction )
private

Referenced by fillGhostCells().


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