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 ProblemDomain & problemDomain () const
virtual Vector< Box > boxes () 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< Box > m_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