EBLevelTGA Class Reference

#include <EBLevelTGA.H>

Inheritance diagram for EBLevelTGA:

Inheritance graph
[legend]
Collaboration diagram for EBLevelTGA:

Collaboration graph
[legend]

List of all members.


Detailed Description

Implements TGA algorithm to update solution to heat equation.

The LevelTGA class implements the Runge-Kutta-based approach to solving the heat equation due to Twizell, Gumel, and Arigu.

Public Member Functions

 EBLevelTGA (const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_refRat, const ProblemDomain &a_level0Domain, RefCountedPtr< AMRLevelOpFactory< LevelData< EBCellFAB > > > &a_opFact, const RefCountedPtr< AMRMultiGrid< LevelData< EBCellFAB > > > &a_solver)
 full constructor
virtual ~EBLevelTGA ()
 destructor
void computeDiffusion (LevelData< EBCellFAB > &a_DiffusiveTerm, LevelData< EBCellFAB > &a_phiOld, LevelData< EBCellFAB > &a_src, EBFluxRegister *a_FineFluxRegPtr, EBFluxRegister *a_crseFluxRegPtr, const LevelData< EBCellFAB > *a_crsePhiOldPtr, const LevelData< EBCellFAB > *a_crsePhiNewPtr, Real a_oldTime, Real a_crseOldTime, Real a_crseNewTime, Real a_dt, int a_level)
 computes time-centered diffusive term for explicit updating
void updateSoln (LevelData< EBCellFAB > &a_phiNew, LevelData< EBCellFAB > &a_phiOld, LevelData< EBCellFAB > &a_src, EBFluxRegister *a_fineFluxRegPtr, EBFluxRegister *a_crseFluxRegPtr, const LevelData< EBCellFAB > *a_crsePhiOldPtr, const LevelData< EBCellFAB > *a_crsePhiNewPtr, Real a_oldTime, Real a_crseOldTime, Real a_crseNewTime, Real a_dt, int a_level, bool a_zeroPhi=true, int a_fluxStartComponent=0)
 do solve
void setSourceGhostCells (LevelData< EBCellFAB > &a_src, const DisjointBoxLayout &a_grids)
void setEBLG (Vector< EBLevelGrid > &a_eblg)

Protected Attributes

bool m_isEBLGSet
Vector< EBLevelGridm_eblg


Constructor & Destructor Documentation

EBLevelTGA::EBLevelTGA ( const Vector< DisjointBoxLayout > &  a_grids,
const Vector< int > &  a_refRat,
const ProblemDomain a_level0Domain,
RefCountedPtr< AMRLevelOpFactory< LevelData< EBCellFAB > > > &  a_opFact,
const RefCountedPtr< AMRMultiGrid< LevelData< EBCellFAB > > > &  a_solver 
) [inline]

full constructor

References m_isEBLGSet.

virtual EBLevelTGA::~EBLevelTGA (  )  [inline, virtual]

destructor


Member Function Documentation

void EBLevelTGA::computeDiffusion ( LevelData< EBCellFAB > &  a_DiffusiveTerm,
LevelData< EBCellFAB > &  a_phiOld,
LevelData< EBCellFAB > &  a_src,
EBFluxRegister a_FineFluxRegPtr,
EBFluxRegister a_crseFluxRegPtr,
const LevelData< EBCellFAB > *  a_crsePhiOldPtr,
const LevelData< EBCellFAB > *  a_crsePhiNewPtr,
Real  a_oldTime,
Real  a_crseOldTime,
Real  a_crseNewTime,
Real  a_dt,
int  a_level 
)

computes time-centered diffusive term for explicit updating

compute time-centered L(phi) for use in subsequent update operations. In this case, we do solve for phiNew, then subtract source and old phi back out to get L(phi).

void EBLevelTGA::updateSoln ( LevelData< EBCellFAB > &  a_phiNew,
LevelData< EBCellFAB > &  a_phiOld,
LevelData< EBCellFAB > &  a_src,
EBFluxRegister a_fineFluxRegPtr,
EBFluxRegister a_crseFluxRegPtr,
const LevelData< EBCellFAB > *  a_crsePhiOldPtr,
const LevelData< EBCellFAB > *  a_crsePhiNewPtr,
Real  a_oldTime,
Real  a_crseOldTime,
Real  a_crseNewTime,
Real  a_dt,
int  a_level,
bool  a_zeroPhi = true,
int  a_fluxStartComponent = 0 
)

do solve

update phi to a_phiNew

void EBLevelTGA::setSourceGhostCells ( LevelData< EBCellFAB > &  a_src,
const DisjointBoxLayout a_grids 
) [virtual]

void EBLevelTGA::setEBLG ( Vector< EBLevelGrid > &  a_eblg  )  [inline]

References m_eblg, and m_isEBLGSet.


Member Data Documentation

bool EBLevelTGA::m_isEBLGSet [protected]

Referenced by EBLevelTGA(), and setEBLG().

Referenced by setEBLG().


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

Generated on Tue Apr 14 14:23:23 2009 for Chombo + EB by  doxygen 1.5.5