Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

AMRLevel Class Reference

abstract base class for time-dependent data at a level of refinement. More...

#include <AMRLevel.H>

Inheritance diagram for AMRLevel:

Inheritance graph
[legend]
Collaboration diagram for AMRLevel:

Collaboration graph
[legend]
List of all members.

Public Methods

Default constructor * AMRLevel ()
virtual ~AMRLevel ()
virtual void define (AMRLevel *a_coarser_level_ptr, const Box &a_problem_domain, int a_level, int a_ref_ratio)
virtual void define (AMRLevel *a_coarser_level_ptr, const ProblemDomain &a_problem_domain, int a_level, int a_ref_ratio)
Sets the pointer to finer
level member to a_finer_level_ptr
*virtual void 
finerLevelPtr (AMRLevel *a_finer_level_ptr)
virtual void dt (Real a_dt)
virtual void time (Real a_time)
virtual Real dt () const
 {\bf Access functions}

virtual Real time () const
virtual void initialDtMultiplier (Real a_initial_dt_multiplier)
virtual Real initialDtMultiplier () const
 {\bf Access functions}

virtual const ProblemDomainproblemDomain () const
virtual Vector< Boxboxes () const
bool isDefined () const
virtual int refRatio () const
virtual void postTimeStep ()=0
virtual void tagCells (IntVectSet &a_tags)=0
virtual void tagCellsInit (IntVectSet &a_tags)=0
virtual void regrid (const Vector< Box > &a_new_grids)=0
virtual void postRegrid (int a_base_level)
virtual void initialGrid (const Vector< Box > &a_new_grids)=0
virtual void initialData ()=0
virtual void postInitialize ()=0
virtual Real computeDt ()=0
virtual Real computeInitialDt ()=0

Static Public Methods

void verbosity (int a_verbosity)
int verbosity ()

Protected Attributes

ProblemDomain m_problem_domain
Vector< Boxm_level_grids
int m_level
int m_ref_ratio
Real m_initial_dt_multiplier
Real m_dt
Real m_time
AMRLevel * m_coarser_level_ptr
AMRLevel * m_finer_level_ptr
bool m_isDefined

Static Protected Attributes

int s_verbosity

Detailed Description

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.

{\tt AMRLevel} is intimately entangled with the class {\tt AMR}. The {\tt AMR} contains a collection of {\tt AMRLevel}s which represent a hierarchy of levels of refinement. The class {\tt AMR} is responsible for calling the correct member functions of {\tt AMRLevel}. The user is responsible for implementing the physics class, and might never call any {\tt AMRLevel} functions described here.


Constructor & Destructor Documentation

Default constructor* AMRLevel::AMRLevel  
 

{\bf constructors, destructor and defines}

virtual AMRLevel::~AMRLevel   [virtual]
 

Destructor.


Member Function Documentation

virtual Vector<Box> AMRLevel::boxes   const [virtual]
 

Returns the domain of this level.

virtual Real AMRLevel::computeDt   [pure virtual]
 

Returns maximum stable time step for this level.

This is a pure virtual function and {\bf MUST} be defined in the derived class.

Implemented in AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

virtual Real AMRLevel::computeInitialDt   [pure virtual]
 

Returns maximum stable time step for this level with initial data.

This is a pure virtual function and {\bf MUST} be defined in the derived class.

Implemented in AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

virtual void AMRLevel::define AMRLevel *    a_coarser_level_ptr,
const ProblemDomain   a_problem_domain,
int    a_level,
int    a_ref_ratio
[virtual]
 

Defines this AMRLevel.

{\bf Arguments:}\ 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 AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

virtual void AMRLevel::define AMRLevel *    a_coarser_level_ptr,
const Box   a_problem_domain,
int    a_level,
int    a_ref_ratio
[virtual]
 

Defines this AMRLevel.

{\bf Arguments:}\ 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 AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

virtual Real AMRLevel::dt   const [virtual]
 

{\bf Access functions}

Returns the current value of the time step.

virtual void AMRLevel::dt Real    a_dt [virtual]
 

Sets the time step to a_dt.

Sets the pointer to finer level member to a_finer_level_ptr* virtual void AMRLevel::finerLevelPtr AMRLevel *    a_finer_level_ptr [virtual]
 

{\bf Modification functions}

virtual void AMRLevel::initialData   [pure virtual]
 

Initializes data.

This is a pure virtual function and {\bf MUST} be defined in the derived class.

Implemented in AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

virtual Real AMRLevel::initialDtMultiplier   const [virtual]
 

{\bf Access functions}

Returns the initial dt multiplier.

virtual void AMRLevel::initialDtMultiplier Real    a_initial_dt_multiplier [virtual]
 

Sets the initial dt multiplier to a_initial_dt_multiplier.

virtual void AMRLevel::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 {\bf MUST} be defined in the derived class.

Implemented in AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

bool AMRLevel::isDefined   const
 

Returns true if any AMRLevel::define function has been called, false otherwise.

virtual void AMRLevel::postInitialize   [pure virtual]
 

Things to do after initialization.

This is a pure virtual function and {\bf MUST} be defined in the derived class.

Implemented in AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

virtual void AMRLevel::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.

virtual void AMRLevel::postTimeStep   [pure virtual]
 

Things to do after advancing this level by one time step.

This is a pure virtual function and {\bf MUST} be defined in the derived class.

Implemented in AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

virtual const ProblemDomain& AMRLevel::problemDomain   const [virtual]
 

Returns the problem domain of this level.

virtual int AMRLevel::refRatio   const [virtual]
 

Returns the refinement ratio between this level and the next finer level.

virtual void AMRLevel::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 {\bf MUST} be defined in the derived class.

Implemented in AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

virtual void AMRLevel::tagCells IntVectSet   a_tags [pure virtual]
 

Creates tagged cells for dynamic mesh refinement.

This is a pure virtual function and {\bf MUST} be defined in the derived class.

Implemented in AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

virtual void AMRLevel::tagCellsInit IntVectSet   a_tags [pure virtual]
 

Creates tagged cells for mesh refinement at initialization.

This is a pure virtual function and {\bf MUST} be defined in the derived class.

Implemented in AMRDerivedClass, AMRLevelIdealMHD, and AMRLevelPolytropicGas.

virtual Real AMRLevel::time   const [virtual]
 

Returns the current value of the time on this level virtual

virtual void AMRLevel::time Real    a_time [virtual]
 

Sets the time to a_time.

int AMRLevel::verbosity   [static]
 

Returns current verbosity level. Minimum verbosity is 0, for which nothing is printed.

void AMRLevel::verbosity int    a_verbosity [static]
 

Sets verbosity level to a_verbosity. Minimum verbosity is 0, for which nothing is printed.


Member Data Documentation

AMRLevel* AMRLevel::m_coarser_level_ptr [protected]
 

Real AMRLevel::m_dt [protected]
 

AMRLevel* AMRLevel::m_finer_level_ptr [protected]
 

Real AMRLevel::m_initial_dt_multiplier [protected]
 

bool AMRLevel::m_isDefined [protected]
 

int AMRLevel::m_level [protected]
 

Vector<Box> AMRLevel::m_level_grids [protected]
 

ProblemDomain AMRLevel::m_problem_domain [protected]
 

int AMRLevel::m_ref_ratio [protected]
 

Real AMRLevel::m_time [protected]
 

int AMRLevel::s_verbosity [static, protected]
 


The documentation for this class was generated from the following file:
Generated on Tue Jul 2 10:43:57 2002 for Chombo by doxygen1.2.16