AMRLevel< TTYPE > Class Template Reference
Abstract base class for time-dependent data at a level of refinement.
More...
#include <AMRLevel.H>
Inheritance diagram for AMRLevel< TTYPE >:
[legend]Collaboration diagram for AMRLevel< TTYPE >:
[legend]List of all members.
Detailed Description
template<class TTYPE>
class AMRLevel< TTYPE >
Abstract base class for time-dependent data at a level of refinement.
This is an abstract base class for data at the same level of refinement within a hierarchy of levels. The concrete class derived from AMRLevel is called a physics class. The domain of a level is a disjoint union of rectangles in a logically rectangular index space. Data is defined within this domain. There is also a problem domain, which may be larger, within which data can, in theory, be interpolated from some coarser level.
AMRLevel is intimately entangled with the AMR class. The AMR contains a collection of AMRLevel objects which represent a hierarchy of levels of refinement. The class AMR is responsible for calling the correct member functions of AMRLevel. The user is responsible for implementing the physics class, and might never call any AMRLevel functions described here.
Constructor & Destructor Documentation
Member Function Documentation
template<class TTYPE> |
virtual Real AMRLevel< TTYPE >::advance |
( |
|
) |
[pure virtual] |
|
|
Advances this level by one time step. Returns an estimate of the new time step.
This is a pure virtual function and MUST be defined in the derived class.
Implemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual Vector<Box> AMRLevel< TTYPE >::boxes |
( |
|
) |
const [virtual] |
|
|
Returns the domain of this level. |
template<class TTYPE> |
virtual Real AMRLevel< TTYPE >::computeDt |
( |
|
) |
[pure virtual] |
|
|
Returns maximum stable time step for this level.
This is a pure virtual function and MUST be defined in the derived class.
Implemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual Real AMRLevel< TTYPE >::computeInitialDt |
( |
|
) |
[pure virtual] |
|
|
Returns maximum stable time step for this level with initial data.
This is a pure virtual function and MUST be defined in the derived class.
Implemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::define |
( |
AMRLevel< TTYPE > * |
a_coarser_level_ptr, |
|
|
const ProblemDomain & |
a_problem_domain, |
|
|
int |
a_level, |
|
|
int |
a_ref_ratio |
|
) |
[virtual] |
|
|
Defines this AMRLevel.
-
a_coarser_level_ptr (not modified): pointer to next coarser level object.
-
a_problem_domain (not modified): problem domain of this level.
-
a_level (not modified): index of this level. The base level is zero.
-
a_ref_ratio (not modified): the refinement ratio between this level and the next finer level.
Reimplemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::define |
( |
AMRLevel< TTYPE > * |
a_coarser_level_ptr, |
|
|
const Box & |
a_problem_domain, |
|
|
int |
a_level, |
|
|
int |
a_ref_ratio |
|
) |
[virtual] |
|
|
Defines this AMRLevel.
-
a_coarser_level_ptr (not modified): pointer to next coarser level object.
-
a_problem_domain (not modified): problem domain of this level.
-
a_level (not modified): index of this level. The base level is zero.
-
a_ref_ratio (not modified): the refinement ratio between this level and the next finer level.
Reimplemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual Real AMRLevel< TTYPE >::dt |
( |
|
) |
const [virtual] |
|
|
Returns the current value of the time step. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::dt |
( |
Real |
a_dt |
) |
[virtual] |
|
|
Sets the time step to a_dt. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::finerLevelPtr |
( |
AMRLevel< TTYPE > * |
a_finer_level_ptr |
) |
[virtual] |
|
|
Sets the pointer-to-finer-level member to a_finer_level_ptr. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::initialData |
( |
|
) |
[pure virtual] |
|
|
Initializes data.
This is a pure virtual function and MUST be defined in the derived class.
Implemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual Real AMRLevel< TTYPE >::initialDtMultiplier |
( |
|
) |
const [virtual] |
|
|
Returns the initial dt multiplier. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::initialDtMultiplier |
( |
Real |
a_initial_dt_multiplier |
) |
[virtual] |
|
|
Sets the initial dt multiplier to a_initial_dt_multiplier. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::initialGrid |
( |
const Vector< Box > & |
a_new_grids |
) |
[pure virtual] |
|
|
Initializes this level to have the specified domain a_new_grids.
This is a pure virtual function and MUST be defined in the derived class.
Implemented in AMRLevelSelfGravity. |
template<class TTYPE> |
bool AMRLevel< TTYPE >::isDefined |
( |
|
) |
const |
|
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::postInitialize |
( |
|
) |
[pure virtual] |
|
|
Things to do after initialization.
This is a pure virtual function and MUST be defined in the derived class.
Implemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::postRegrid |
( |
int |
a_base_level |
) |
[virtual] |
|
|
Performs any post-regridding operations which are necessary.
This is not a pure virtual function to preserve compatibility with earlier versions of AMRLevel. The AMRLevel::postRegrid() instantiation is a no-op.
Reimplemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::postTimeStep |
( |
|
) |
[pure virtual] |
|
|
Things to do after advancing this level by one time step.
This is a pure virtual function and MUST be defined in the derived class.
Implemented in AMRLevelSelfGravity. |
|
Returns the problem domain of this level. |
template<class TTYPE> |
virtual int AMRLevel< TTYPE >::refRatio |
( |
|
) |
const [virtual] |
|
|
Returns the refinement ratio between this level and the next finer level. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::regrid |
( |
const Vector< Box > & |
a_new_grids |
) |
[pure virtual] |
|
|
Redefines this level to have the specified domain a_new_grids.
This is a pure virtual function and MUST be defined in the derived class.
Implemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::tagCells |
( |
IntVectSet & |
a_tags |
) |
[pure virtual] |
|
|
Creates tagged cells for dynamic mesh refinement.
This is a pure virtual function and MUST be defined in the derived class.
Implemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::tagCellsInit |
( |
IntVectSet & |
a_tags |
) |
[pure virtual] |
|
|
Creates tagged cells for mesh refinement at initialization.
This is a pure virtual function and MUST be defined in the derived class.
Implemented in AMRLevelSelfGravity. |
template<class TTYPE> |
virtual Real AMRLevel< TTYPE >::time |
( |
|
) |
const [virtual] |
|
|
Returns the current value of the time on this level. |
template<class TTYPE> |
virtual void AMRLevel< TTYPE >::time |
( |
Real |
a_time |
) |
[virtual] |
|
template<class TTYPE> |
static int AMRLevel< TTYPE >::verbosity |
( |
|
) |
[static] |
|
|
Returns current verbosity level. Minimum verbosity is 0, for which nothing is printed. |
template<class TTYPE> |
static void AMRLevel< TTYPE >::verbosity |
( |
int |
a_verbosity |
) |
[static] |
|
|
Sets verbosity level to a_verbosity. Minimum verbosity is 0, for which nothing is printed. |
Member Data Documentation
The documentation for this class was generated from the following file:
Generated on Wed Oct 5 13:59:39 2005 for Chombo&AMRSelfGravity by
1.4.1