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

EBCoarseAverage Class Reference

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

#include <EBCoarseAverage.H>

Collaboration diagram for EBCoarseAverage:

Collaboration graph
[legend]
List of all members.

Public Methods

 EBCoarseAverage ()
 ~EBCoarseAverage ()
 EBCoarseAverage (const DisjointBoxLayout &dblFine, const DisjointBoxLayout &dblCoar, const EBISLayout &ebislFine, const EBISLayout &ebislCoar, const Box &domainCoar, const int &nref, const int &nvar)
void define (const DisjointBoxLayout &dblFine, const DisjointBoxLayout &dblCoar, const EBISLayout &ebislFine, const EBISLayout &ebislCoar, const Box &domainCoar, const int &nref, const int &nvar)
bool isDefined () const
void average (LevelData< EBCellFAB > &coarData, const LevelData< EBCellFAB > &fineData, const Interval &variables)

Protected Methods

void averageFAB (EBCellFAB &a_coar, const EBCellFAB &a_fine, const DataIndex &a_datInd, const Interval &variables) const
void setDefaultValues ()

Protected Attributes

bool m_isDefined
DisjointBoxLayout m_coarGrids
DisjointBoxLayout m_fineGrids
DisjointBoxLayout m_coarsenedFineGrids
Box m_coarDomain
EBISLayout m_coarEBISL
EBISLayout m_fineEBISL
EBISLayout m_coarsenedFineEBISL
int m_refRat
int m_nComp
LevelData< EBCellFABm_coarsenedFineData

Private Methods

 EBCoarseAverage (const EBCoarseAverage &ebcin)
void operator= (const EBCoarseAverage &fabin)

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

EBCoarseAverage::EBCoarseAverage  
 

Default constructor. User must subsequently call define().

EBCoarseAverage::~EBCoarseAverage  
 

EBCoarseAverage::EBCoarseAverage const DisjointBoxLayout   dblFine,
const DisjointBoxLayout   dblCoar,
const EBISLayout   ebislFine,
const EBISLayout   ebislCoar,
const Box   domainCoar,
const int &    nref,
const int &    nvar
 

Defining constructor. Constructs a valid object. Equivalent to default construction followed by define().

{\bf Arguments:}\ dblFine, dblCoar: The fine and coarse layouts of the data.\ ebislFine, ebislCoar: The fine and coarse layouts of the geometric description.\ nref: The refinement ratio between the two levels. \ nvar: The number of variables contained in the data at each VoF.

EBCoarseAverage::EBCoarseAverage const EBCoarseAverage &    ebcin [inline, private]
 


Member Function Documentation

void EBCoarseAverage::average LevelData< EBCellFAB > &    coarData,
const LevelData< EBCellFAB > &    fineData,
const Interval   variables
 

Replaces a_coarse_data with the average of a_fine_data within the coarsening of the domain of the fine level. Elsewhere, the coarse data is unchanged. It is an error to call if not this->isDefined(). The domain of a_fine_data should be the same as the fine domain specified in the most recent call to define(). It is expected that the coarse and fine level's domains are properly nested. Both a_coarse_data and a_fine_data should have the same number of components specified in the most recent call to define().

{\bf Arguments:}\ coarData: The data over the coarse layout.\ fineData: The data over the fine layout. \ Fine and coarse data must have the same number of variables.\ variables: The variables to average. Those not in this range will be left alone. This range of variables must be in both the coarse and fine data.

void EBCoarseAverage::averageFAB EBCellFAB   a_coar,
const EBCellFAB   a_fine,
const DataIndex   a_datInd,
const Interval   variables
const [protected]
 

void EBCoarseAverage::define const DisjointBoxLayout   dblFine,
const DisjointBoxLayout   dblCoar,
const EBISLayout   ebislFine,
const EBISLayout   ebislCoar,
const Box   domainCoar,
const int &    nref,
const int &    nvar
 

Defines this object. Existing information is overriden.

{\bf Arguments:}\ dblFine, dblCoar: The fine and coarse layouts of the data.\ ebislFine, ebislCoar: The fine and coarse layouts of the geometric description.\ nref: The refinement ratio between the two levels. \ nvar: The number of variables contained in the data at each VoF.

bool EBCoarseAverage::isDefined   const
 

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

void EBCoarseAverage::operator= const EBCoarseAverage &    fabin [inline, private]
 

void EBCoarseAverage::setDefaultValues   [protected]
 


Member Data Documentation

Box EBCoarseAverage::m_coarDomain [protected]
 

EBISLayout EBCoarseAverage::m_coarEBISL [protected]
 

DisjointBoxLayout EBCoarseAverage::m_coarGrids [protected]
 

LevelData<EBCellFAB> EBCoarseAverage::m_coarsenedFineData [protected]
 

EBISLayout EBCoarseAverage::m_coarsenedFineEBISL [protected]
 

DisjointBoxLayout EBCoarseAverage::m_coarsenedFineGrids [protected]
 

EBISLayout EBCoarseAverage::m_fineEBISL [protected]
 

DisjointBoxLayout EBCoarseAverage::m_fineGrids [protected]
 

bool EBCoarseAverage::m_isDefined [protected]
 

int EBCoarseAverage::m_nComp [protected]
 

int EBCoarseAverage::m_refRat [protected]
 


The documentation for this class was generated from the following file:
Generated on Wed Apr 16 14:35:09 2003 for EBChombo by doxygen1.2.16