#include <EBLevelTGA.H>


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< EBLevelGrid > | m_eblg |
| 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] |
| virtual EBLevelTGA::~EBLevelTGA | ( | ) | [inline, virtual] |
destructor
| 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.
bool EBLevelTGA::m_isEBLGSet [protected] |
Referenced by EBLevelTGA(), and setEBLG().
Vector<EBLevelGrid> EBLevelTGA::m_eblg [protected] |
Referenced by setEBLG().
1.5.5