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>

Collaboration diagram for AMRLevel:

Collaboration graph
[legend]
List of all members.

Public Methods

 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)
virtual void finerLevelPtr (AMRLevel *a_finer_level_ptr)
virtual void dt (Real a_dt)
virtual void time (Real a_time)
virtual Real dt () const
virtual Real time () const
virtual void initialDtMultiplier (Real a_initial_dt_multiplier)
virtual Real initialDtMultiplier () const
virtual const ProblemDomainproblemDomain () const
virtual Vector< Boxboxes () const
bool isDefined () const
virtual int refRatio () const
virtual Real advance ()=0
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.

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

AMRLevel::AMRLevel  
 

Default constructor.

virtual AMRLevel::~AMRLevel   [virtual]
 

Destructor.


Member Function Documentation

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

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 MUST be defined in the derived class.

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

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.

  • 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.

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.

  • 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.

virtual Real AMRLevel::dt   const [virtual]
 

Returns the current value of the time step.

virtual void AMRLevel::dt Real    a_dt [virtual]
 

Sets the time step to a_dt.

virtual void AMRLevel::finerLevelPtr AMRLevel *    a_finer_level_ptr [virtual]
 

Sets the pointer-to-finer-level member to a_finer_level_ptr.

virtual void AMRLevel::initialData   [pure virtual]
 

Initializes data.

This is a pure virtual function and MUST be defined in the derived class.

virtual Real AMRLevel::initialDtMultiplier   const [virtual]
 

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 MUST be defined in the derived class.

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 MUST be defined in the derived class.

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 MUST be defined in the derived class.

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 MUST be defined in the derived class.

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

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

virtual Real AMRLevel::time   const [virtual]
 

Returns the current value of the time on this level.

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 Wed Jan 19 17:55:24 2005 for Chombo&INSwithParticles by doxygen1.2.16