#include <AMRLevelAdvectDiffuse.H>
Public Member Functions | |
AMRLevelAdvectDiffuse () | |
Default constructor. | |
AMRLevelAdvectDiffuse (const AdvectPhysics &a_gphys, AdvectionVelocityFunction a_advFunc, BCHolder a_bcFunc, const Real &a_cfl, const Real &a_domainLength, const Real &a_refineThresh, const int &a_tagBufferSize, const Real &a_initialDtMultiplier, const bool &a_useLimiting, const Real &a_nu) | |
Full constructor. Arguments are same as in define(). | |
void | makeDiffusiveSource (LevelData< FArrayBox > &a_diffusiveSource) |
void | define (const AdvectPhysics &a_gphys, AdvectionVelocityFunction a_advFunc, BCHolder a_bcFunc, const Real &a_cfl, const Real &a_domainLength, const Real &a_refineThresh, const int &a_tagBufferSize, const Real &a_initialDtMultiplier, const bool &a_useLimiting, const Real &a_nu) |
Defines this AMRLevelAdvectDiffuse. | |
virtual | ~AMRLevelAdvectDiffuse () |
virtual void | define (AMRLevel *a_coarserLevelPtr, const Box &a_problemDomain, int a_level, int a_refRatio) |
Never called: historical. | |
virtual void | define (AMRLevel *a_coarserLevelPtr, const ProblemDomain &a_problemDomain, int a_level, int a_refRatio) |
Define new AMRLevelAdvectDiffuse from coarser. | |
virtual Real | advance () |
Advance by one timestep. | |
virtual void | postTimeStep () |
Things to do after a timestep. | |
virtual void | tagCells (IntVectSet &a_tags) |
Create tags for regridding. | |
virtual void | tagCellsInit (IntVectSet &a_tags) |
Create tags at initialization. | |
virtual void | regrid (const Vector< Box > &a_newGrids) |
Set up data on this level after regridding. | |
virtual void | initialGrid (const Vector< Box > &a_newGrids) |
Initialize grids. | |
virtual void | initialData () |
Initialize data. | |
virtual void | postInitialize () |
Things to do after initialization. | |
virtual void | writeCheckpointHeader (HDF5Handle &a_handle) const |
Write checkpoint header. | |
virtual void | writeCheckpointLevel (HDF5Handle &a_handle) const |
Write checkpoint data for this level. | |
virtual void | readCheckpointHeader (HDF5Handle &a_handle) |
Read checkpoint header. | |
virtual void | readCheckpointLevel (HDF5Handle &a_handle) |
Read checkpoint data for this level. | |
virtual void | writePlotHeader (HDF5Handle &a_handle) const |
Write plotfile header. | |
virtual void | writePlotLevel (HDF5Handle &a_handle) const |
Write plotfile data for this level. | |
virtual Real | computeDt () |
Returns the dt computed earlier for this level. | |
virtual Real | computeInitialDt () |
Compute dt using initial data. | |
LevelData< FArrayBox > & | getStateNew () |
LevelData< FArrayBox > & | getStateOld () |
Protected Member Functions | |
void | setSolverCoef (Real a_alpha, Real a_beta) |
void | interpolateInTime (LevelData< FArrayBox > &a_interp, const LevelData< FArrayBox > &a_old, const LevelData< FArrayBox > &a_new, Real a_time, Real a_tOld, Real a_tNew) |
void | getHierarchyAndGrids (Vector< AMRLevelAdvectDiffuse * > &a_hierarchy, Vector< DisjointBoxLayout > &a_grids, Vector< int > &a_refRat, ProblemDomain &a_lev0Dom, Real &a_lev0Dx) |
void | doImplicitReflux () |
void | printRefluxRHSMax (const std::string &a_preflix) |
Real | diffusiveAdvance (LevelData< FArrayBox > &a_diffusiveSource) |
void | defineSolvers () |
void | getCoarseDataPointers (LevelData< FArrayBox > **a_coarserDataOldPtr, LevelData< FArrayBox > **a_coarserDataNewPtr, LevelFluxRegister **a_coarserFRPtr, LevelFluxRegister **a_finerFRPtr, Real &a_tCoarserOld, Real &a_tCoarserNew) |
void | fillAdvectionVelocity () |
void | levelSetup () |
AMRLevelAdvectDiffuse * | getCoarserLevel () const |
AMRLevelAdvectDiffuse * | getFinerLevel () const |
Protected Attributes | |
BCHolder | m_bcFunc |
LevelData< FArrayBox > | m_UOld |
LevelData< FArrayBox > | m_UNew |
LevelData< FArrayBox > | m_dU |
LevelData< FluxBox > | m_advVel |
Vector< string > | m_stateNames |
bool | m_isDefined |
Real | m_cfl |
Real | m_domainLength |
Real | m_refineThresh |
int | m_tagBufferSize |
Real | m_initialDtMultiplier |
bool | m_useLimiting |
Real | m_nu |
Real | m_dx |
RefCountedPtr< AdvectPhysics > | m_advPhys |
AdvectionVelocityFunction | m_advFunc |
FineInterp | m_fineInterp |
CoarseAverage | m_coarseAverage |
Real | m_dtNew |
int | m_numGhost |
LevelAdvect | m_levelGodunov |
LevelFluxRegister | m_fluxRegister |
bool | m_hasCoarser |
bool | m_hasFiner |
bool | m_doImplicitReflux |
bool | m_hasDiffusion |
DisjointBoxLayout | m_grids |
Static Protected Attributes | |
static RefCountedPtr< LevelTGA > | s_diffuseLevTGA |
static RefCountedPtr < AMRMultiGrid< LevelData < FArrayBox > > > | s_diffuseAMRMG |
static RefCountedPtr < AMRLevelOpFactory< LevelData < FArrayBox > > > | s_diffuseOpFact |
static BiCGStabSolver < LevelData< FArrayBox > > | s_botSolver |
Private Member Functions | |
void | operator= (const AMRLevelAdvectDiffuse &) |
AMRLevelAdvectDiffuse (const AMRLevelAdvectDiffuse &) |
AMRLevelAdvectDiffuse::AMRLevelAdvectDiffuse | ( | ) | [inline] |
AMRLevelAdvectDiffuse::AMRLevelAdvectDiffuse | ( | const AdvectPhysics & | a_gphys, | |
AdvectionVelocityFunction | a_advFunc, | |||
BCHolder | a_bcFunc, | |||
const Real & | a_cfl, | |||
const Real & | a_domainLength, | |||
const Real & | a_refineThresh, | |||
const int & | a_tagBufferSize, | |||
const Real & | a_initialDtMultiplier, | |||
const bool & | a_useLimiting, | |||
const Real & | a_nu | |||
) | [inline] |
virtual AMRLevelAdvectDiffuse::~AMRLevelAdvectDiffuse | ( | ) | [virtual] |
AMRLevelAdvectDiffuse::AMRLevelAdvectDiffuse | ( | const AMRLevelAdvectDiffuse & | ) | [private] |
void AMRLevelAdvectDiffuse::define | ( | const AdvectPhysics & | a_gphys, | |
AdvectionVelocityFunction | a_advFunc, | |||
BCHolder | a_bcFunc, | |||
const Real & | a_cfl, | |||
const Real & | a_domainLength, | |||
const Real & | a_refineThresh, | |||
const int & | a_tagBufferSize, | |||
const Real & | a_initialDtMultiplier, | |||
const bool & | a_useLimiting, | |||
const Real & | a_nu | |||
) |
Defines this AMRLevelAdvectDiffuse.
a_gphys | advection physics class |
a_advFunc | velocity function providing the advection velocity |
a_bcFunc | boundary condition class for diffusion solve |
a_cfl | CFL number |
a_domainLength | physical length of domain |
a_refineThresh | undivided gradient size over which a cell will be tagged for refinement |
a_tagBufferSize | number of buffer cells around each tagged cell that will also be tagged |
a_initialDtMultiplier | CFL number at beginning of calculation |
a_useLimiting | whether to use van Leer limiting |
a_nu | diffusion coefficient |
Referenced by AMRLevelAdvectDiffuse().
virtual void AMRLevelAdvectDiffuse::define | ( | AMRLevel * | a_coarserLevelPtr, | |
const ProblemDomain & | a_problemDomain, | |||
int | a_level, | |||
int | a_refRatio | |||
) | [virtual] |
virtual Real AMRLevelAdvectDiffuse::advance | ( | ) | [virtual] |
virtual void AMRLevelAdvectDiffuse::postTimeStep | ( | ) | [virtual] |
virtual void AMRLevelAdvectDiffuse::tagCells | ( | IntVectSet & | a_tags | ) | [virtual] |
virtual void AMRLevelAdvectDiffuse::tagCellsInit | ( | IntVectSet & | a_tags | ) | [virtual] |
virtual void AMRLevelAdvectDiffuse::initialData | ( | ) | [virtual] |
virtual void AMRLevelAdvectDiffuse::postInitialize | ( | ) | [virtual] |
virtual void AMRLevelAdvectDiffuse::writeCheckpointHeader | ( | HDF5Handle & | a_handle | ) | const [virtual] |
virtual void AMRLevelAdvectDiffuse::writeCheckpointLevel | ( | HDF5Handle & | a_handle | ) | const [virtual] |
virtual void AMRLevelAdvectDiffuse::readCheckpointHeader | ( | HDF5Handle & | a_handle | ) | [virtual] |
virtual void AMRLevelAdvectDiffuse::readCheckpointLevel | ( | HDF5Handle & | a_handle | ) | [virtual] |
virtual void AMRLevelAdvectDiffuse::writePlotHeader | ( | HDF5Handle & | a_handle | ) | const [virtual] |
virtual void AMRLevelAdvectDiffuse::writePlotLevel | ( | HDF5Handle & | a_handle | ) | const [virtual] |
virtual Real AMRLevelAdvectDiffuse::computeDt | ( | ) | [virtual] |
virtual Real AMRLevelAdvectDiffuse::computeInitialDt | ( | ) | [virtual] |
void AMRLevelAdvectDiffuse::interpolateInTime | ( | LevelData< FArrayBox > & | a_interp, | |
const LevelData< FArrayBox > & | a_old, | |||
const LevelData< FArrayBox > & | a_new, | |||
Real | a_time, | |||
Real | a_tOld, | |||
Real | a_tNew | |||
) | [protected] |
void AMRLevelAdvectDiffuse::getHierarchyAndGrids | ( | Vector< AMRLevelAdvectDiffuse * > & | a_hierarchy, | |
Vector< DisjointBoxLayout > & | a_grids, | |||
Vector< int > & | a_refRat, | |||
ProblemDomain & | a_lev0Dom, | |||
Real & | a_lev0Dx | |||
) | [protected] |
void AMRLevelAdvectDiffuse::doImplicitReflux | ( | ) | [protected] |
void AMRLevelAdvectDiffuse::printRefluxRHSMax | ( | const std::string & | a_preflix | ) | [protected] |
Real AMRLevelAdvectDiffuse::diffusiveAdvance | ( | LevelData< FArrayBox > & | a_diffusiveSource | ) | [protected] |
void AMRLevelAdvectDiffuse::defineSolvers | ( | ) | [protected] |
void AMRLevelAdvectDiffuse::getCoarseDataPointers | ( | LevelData< FArrayBox > ** | a_coarserDataOldPtr, | |
LevelData< FArrayBox > ** | a_coarserDataNewPtr, | |||
LevelFluxRegister ** | a_coarserFRPtr, | |||
LevelFluxRegister ** | a_finerFRPtr, | |||
Real & | a_tCoarserOld, | |||
Real & | a_tCoarserNew | |||
) | [protected] |
void AMRLevelAdvectDiffuse::fillAdvectionVelocity | ( | ) | [protected] |
void AMRLevelAdvectDiffuse::levelSetup | ( | ) | [protected] |
AMRLevelAdvectDiffuse* AMRLevelAdvectDiffuse::getCoarserLevel | ( | ) | const [protected] |
AMRLevelAdvectDiffuse* AMRLevelAdvectDiffuse::getFinerLevel | ( | ) | const [protected] |
void AMRLevelAdvectDiffuse::operator= | ( | const AMRLevelAdvectDiffuse & | ) | [private] |
BCHolder AMRLevelAdvectDiffuse::m_bcFunc [protected] |
RefCountedPtr<LevelTGA> AMRLevelAdvectDiffuse::s_diffuseLevTGA [static, protected] |
RefCountedPtr<AMRMultiGrid<LevelData<FArrayBox> > > AMRLevelAdvectDiffuse::s_diffuseAMRMG [static, protected] |
RefCountedPtr<AMRLevelOpFactory<LevelData<FArrayBox> > > AMRLevelAdvectDiffuse::s_diffuseOpFact [static, protected] |
BiCGStabSolver<LevelData<FArrayBox> > AMRLevelAdvectDiffuse::s_botSolver [static, protected] |
LevelData<FArrayBox> AMRLevelAdvectDiffuse::m_UOld [protected] |
Referenced by getStateOld().
LevelData<FArrayBox> AMRLevelAdvectDiffuse::m_UNew [protected] |
Referenced by getStateNew().
LevelData<FArrayBox> AMRLevelAdvectDiffuse::m_dU [protected] |
LevelData<FluxBox> AMRLevelAdvectDiffuse::m_advVel [protected] |
Vector<string> AMRLevelAdvectDiffuse::m_stateNames [protected] |
bool AMRLevelAdvectDiffuse::m_isDefined [protected] |
Real AMRLevelAdvectDiffuse::m_cfl [protected] |
Real AMRLevelAdvectDiffuse::m_domainLength [protected] |
Real AMRLevelAdvectDiffuse::m_refineThresh [protected] |
int AMRLevelAdvectDiffuse::m_tagBufferSize [protected] |
Real AMRLevelAdvectDiffuse::m_initialDtMultiplier [protected] |
bool AMRLevelAdvectDiffuse::m_useLimiting [protected] |
Real AMRLevelAdvectDiffuse::m_nu [protected] |
Real AMRLevelAdvectDiffuse::m_dx [protected] |
RefCountedPtr<AdvectPhysics> AMRLevelAdvectDiffuse::m_advPhys [protected] |
FineInterp AMRLevelAdvectDiffuse::m_fineInterp [protected] |
CoarseAverage AMRLevelAdvectDiffuse::m_coarseAverage [protected] |
Real AMRLevelAdvectDiffuse::m_dtNew [protected] |
int AMRLevelAdvectDiffuse::m_numGhost [protected] |
LevelAdvect AMRLevelAdvectDiffuse::m_levelGodunov [protected] |
bool AMRLevelAdvectDiffuse::m_hasCoarser [protected] |
bool AMRLevelAdvectDiffuse::m_hasFiner [protected] |
bool AMRLevelAdvectDiffuse::m_doImplicitReflux [protected] |
bool AMRLevelAdvectDiffuse::m_hasDiffusion [protected] |
DisjointBoxLayout AMRLevelAdvectDiffuse::m_grids [protected] |