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

NodeMaskAverage Class Reference

Replaces coarse level data with an average of fine level data. More...

#include <NodeMaskAverage.H>

List of all members.

Public Methods

 NodeMaskAverage ()
 {\bf constructors, destructor and defines}

 NodeMaskAverage (const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const ProblemDomain &a_domainFine, Real a_dx)
 NodeMaskAverage (const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const Box &a_domainFine, Real a_dx)
 NodeMaskAverage (const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const ProblemDomain &a_domainFine, Real a_dx)
 NodeMaskAverage (const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const Box &a_domainFine, Real a_dx)
 ~NodeMaskAverage ()
void define (const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const ProblemDomain &a_domainFine, Real a_dx)
void define (const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const Box &a_domainFine, Real a_dx)
void define (const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const ProblemDomain &a_domainFine, Real a_dx)
void define (const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const Box &a_domainFine, Real a_dx)
bool isDefined () const
 {\bf access functions}

void averageToCoarse (LevelData< NodeFArrayBox > &a_coarse, LevelData< NodeFArrayBox > &a_fine)
 {\bf data modification functions}


Protected Methods

void clearMemory ()

Protected Attributes

bool is_defined
int m_refRatio
int m_coarsenings
Vector< LevelData< NodeFArrayBox > * > m_inter
Vector< NodeMaskAverage2 * > m_avg2


Detailed Description

Replaces coarse level data with an average of fine level data.

This class replaces data at a coarse level of refinement with an average of data at a finer level of refinement, in areas where fine data is present. Coarse level data is not modified where fine level data is not present.


Constructor & Destructor Documentation

NodeMaskAverage::NodeMaskAverage  
 

{\bf constructors, destructor and defines}

Default constructor. User must subsequently call define().

NodeMaskAverage::NodeMaskAverage const DisjointBoxLayout &    a_gridsFine,
const DisjointBoxLayout &    a_gridsCoarse,
int    a_numcomps,
int    a_refRatio,
const ProblemDomain &    a_domainFine,
Real    a_dx
 

Defining constructor. Calls {\bf define} function with identical arguments.

NodeMaskAverage::NodeMaskAverage const DisjointBoxLayout &    a_gridsFine,
const DisjointBoxLayout &    a_gridsCoarse,
int    a_numcomps,
int    a_refRatio,
const Box &    a_domainFine,
Real    a_dx
 

NodeMaskAverage::NodeMaskAverage const DisjointBoxLayout &    a_gridsCoarse,
int    a_numcomps,
int    a_refRatio,
const ProblemDomain &    a_domainFine,
Real    a_dx
 

Defining constructor. Calls {\bf define} function with identical arguments.

NodeMaskAverage::NodeMaskAverage const DisjointBoxLayout &    a_gridsCoarse,
int    a_numcomps,
int    a_refRatio,
const Box &    a_domainFine,
Real    a_dx
 

NodeMaskAverage::~NodeMaskAverage  
 

Destructor.


Member Function Documentation

void NodeMaskAverage::averageToCoarse LevelData< NodeFArrayBox > &    a_coarse,
LevelData< NodeFArrayBox > &    a_fine
 

{\bf data modification functions}

Replaces a_coarse with the average of nearby cells' a_fine on the interior nodes of the coarsened fine-level domain. Elsewhere, the coarse data is unchanged.

It is an error to call if not this->isDefined().\ The domain of a_fine should be the same as the fine domain specified in the most recent call to define().\ It is expected that the coarse and fine levels' domains are properly nested. Both a_coarse and a_fine should have the same number of components specified in the most recent call to define().

{\bf Arguments:}\ a_coarse (modified): coarse data. \ a_fine (modified): fine data. Modified in exchange(). \

{\bf This:}\ As far as the user is concerned, this object is not modified, but a work array is modified.

void NodeMaskAverage::clearMemory   [protected]
 

void NodeMaskAverage::define const DisjointBoxLayout &    a_gridsCoarse,
int    a_numcomps,
int    a_refRatio,
const Box &    a_domainFine,
Real    a_dx
 

void NodeMaskAverage::define const DisjointBoxLayout &    a_gridsCoarse,
int    a_numcomps,
int    a_refRatio,
const ProblemDomain &    a_domainFine,
Real    a_dx
 

Defines this object. Existing information is overriden. Fine grids are refinements of coarse grids.

{\bf Arguments:}\ a_gridsCoarse: the grids at the coarse level.\ a_numcomps: the number of components.\ a_refRatio: the refinement ratio.\ a_domainFine: the physical domain at the fine level.\ a_dx: the mesh spacing at the fine level.\

{\bf This:}\ ---This object is modified.---

void NodeMaskAverage::define const DisjointBoxLayout &    a_gridsFine,
const DisjointBoxLayout &    a_gridsCoarse,
int    a_numcomps,
int    a_refRatio,
const Box &    a_domainFine,
Real    a_dx
 

void NodeMaskAverage::define const DisjointBoxLayout &    a_gridsFine,
const DisjointBoxLayout &    a_gridsCoarse,
int    a_numcomps,
int    a_refRatio,
const ProblemDomain &    a_domainFine,
Real    a_dx
 

Defines this object. Existing information is overriden.

{\bf Arguments:}\ a_gridsFine: the grids at the fine level.\ a_gridsCoarse: the grids at the coarse level.\ a_numcomps: the number of components.\ a_refRatio: the refinement ratio.\ a_domainFine: the physical domain at the fine level.\ a_dx: the mesh spacing at the fine level.\

{\bf This:}\ ---This object is modified.---

bool NodeMaskAverage::isDefined   const
 

{\bf access functions}

Returns true if this object was created with the defining constructor or if define() has been called.


Member Data Documentation

bool NodeMaskAverage::is_defined [protected]
 

Vector<NodeMaskAverage2*> NodeMaskAverage::m_avg2 [protected]
 

int NodeMaskAverage::m_coarsenings [protected]
 

Vector< LevelData<NodeFArrayBox>* > NodeMaskAverage::m_inter [protected]
 

int NodeMaskAverage::m_refRatio [protected]
 


The documentation for this class was generated from the following file:
Generated on Tue Apr 15 18:32:09 2003 for AMRNodeElliptic by doxygen1.2.16