#include <EBLevelTGA.H>

Public Member Functions | |
| EBLevelBackwardEuler (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) | |
| virtual | ~EBLevelBackwardEuler () |
| 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, bool a_zeroPhi=true, bool a_rhsAlreadyKappaWeighted=false) |
| 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, bool a_rhsAlreadyKappaWeighted=false, int a_fluxStartComponent=0) |
| void | setEBLG (Vector< EBLevelGrid > &a_eblg) |
Protected Attributes | |
| bool | m_isEBLGSet |
| Vector< EBLevelGrid > | m_eblg |
| EBLevelBackwardEuler::EBLevelBackwardEuler | ( | 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] |
Create a new BackwardEuler level integrator.
| a_grids | The disjoint box layout on which the level integrator is defined. | |
| a_refRat | The refinement ratios for the boxes. | |
| a_level0Domain | The coarsest grid level defining the problem domain. | |
| a_opFact | A factory that generates level diffusion operators. | |
| a_solver | A multigrid solver. |
References m_isEBLGSet.
| virtual EBLevelBackwardEuler::~EBLevelBackwardEuler | ( | ) | [inline, virtual] |
Destructor.
| void EBLevelBackwardEuler::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, | |||
| bool | a_zeroPhi = true, |
|||
| bool | a_rhsAlreadyKappaWeighted = false | |||
| ) |
Computes the time-centered diffusive term for explicit updating. This integrates the diffusion equation for a new value of a quantity phi and then computes the diffusion term using a finite difference stencil in time.
| a_diffusionTerm | The term computed by this method. | |
| a_phiOld | The value of phi at the beginning of the time step, at the current grid level. | |
| a_src | The source term in the diffusion equation at the current grid level. | |
| a_fineFluxRegPtr | A pointer to the flux register at the finer adjacent grid level (or NULL if there is none). | |
| a_crseFluxRegPtr | A pointer to the flux register at the coarser adjacent grid level (or NULL if there is none). | |
| a_crsePhiOldPtr | A pointer to the LevelData object holding the old value of phi on the coarser adjacent grid level (or NULL if there is none). | |
| a_crsePhiNewPtr | A pointer to the LevelData object holding the updated value of phi on the coarser adjacent grid level (or NULL if there is none). | |
| a_oldTime | The time at the beginning of the integration step on the current grid level. | |
| a_crseOldTime | The time at the beginning of the integration step on the coarser adjacent grid level. | |
| a_crseNewTime | The time at the end of the integration step on the coarser adjacent grid level. | |
| a_dt | The time step on the current grid level. | |
| a_level | The current grid level. | |
| a_zeroPhi | If this flag is true, the initial estimate of phi will be set to zero. Otherwise, a_phiOld will be used. |
| void EBLevelBackwardEuler::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, |
|||
| bool | a_rhsAlreadyKappaWeighted = false, |
|||
| int | a_fluxStartComponent = 0 | |||
| ) | [virtual] |
Integrates the diffusion equation, storing the result in a_phiNew.
| a_phiNew | The new value of phi at the current grid level. | |
| a_phiOld | The value of phi at the beginning of the time step, at the current grid level. | |
| a_src | The source term in the diffusion equation at the current grid level. | |
| a_fineFluxRegPtr | A pointer to the flux register at the finer adjacent grid level (or NULL if there is none). | |
| a_crseFluxRegPtr | A pointer to the flux register at the coarser adjacent grid level (or NULL if there is none). | |
| a_crsePhiOldPtr | A pointer to the LevelData object holding the old value of phi on the coarser adjacent grid level (or NULL if there is none). | |
| a_crsePhiNewPtr | A pointer to the LevelData object holding the updated value of phi on the coarser adjacent grid level (or NULL if there is none). | |
| a_oldTime | The time at the beginning of the integration step on the current grid level. | |
| a_crseOldTime | The time at the beginning of the integration step on the coarser adjacent grid level. | |
| a_crseNewTime | The time at the end of the integration step on the coarser adjacent grid level. | |
| a_dt | The time step on the current grid level. | |
| a_level | The current grid level. | |
| a_zeroPhi | If this flag is true, the initial estimate of phi will be set to zero. Otherwise, a_phiOld will be used. |
Reimplemented from BaseLevelHeatSolver< LevelData< EBCellFAB >, EBFluxFAB, EBFluxRegister >.
| void EBLevelBackwardEuler::setEBLG | ( | Vector< EBLevelGrid > & | a_eblg | ) | [inline] |
References m_eblg, and m_isEBLGSet.
bool EBLevelBackwardEuler::m_isEBLGSet [protected] |
Referenced by EBLevelBackwardEuler(), and setEBLG().
Vector<EBLevelGrid> EBLevelBackwardEuler::m_eblg [protected] |
Referenced by setEBLG().
1.5.5