#include <NodeCoarseAverage.H>
Public Methods | |
NodeCoarseAverage () | |
{\bf constructors, destructor and defines} | |
NodeCoarseAverage (const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const ProblemDomain &a_domainFine) | |
NodeCoarseAverage (const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const Box &a_domainFine) | |
NodeCoarseAverage (const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const ProblemDomain &a_domainFine) | |
NodeCoarseAverage (const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const Box &a_domainFine) | |
~NodeCoarseAverage () | |
void | define (const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const ProblemDomain &a_domainFine) |
void | define (const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const Box &a_domainFine) |
void | define (const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const ProblemDomain &a_domainFine) |
void | define (const DisjointBoxLayout &a_gridsCoarse, int a_numcomps, int a_refRatio, const Box &a_domainFine) |
bool | isDefined () const |
{\bf access functions} | |
void | averageToCoarse (LevelData< NodeFArrayBox > &a_coarse, LevelData< NodeFArrayBox > &a_fine) |
{\bf data modification functions} | |
Protected Attributes | |
bool | is_defined |
int | m_refRatio |
int | m_numcomps |
ProblemDomain | m_domainCoarse |
FArrayBox | m_weights |
bool | m_sameGrids |
DisjointBoxLayout | m_coarsenedGrids |
LevelData< NodeFArrayBox > | m_coarsenedFine |
LayoutData< Vector< IntVectSet > > | m_IVSV |
LayoutData< Vector< IntVectSet > > | m_IVSVsame |
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.
|
{\bf constructors, destructor and defines} Default constructor. User must subsequently call define(). |
|
Defining constructor. Calls {\bf define} function with identical arguments. |
|
|
|
Defining constructor. Calls {\bf define} function with identical arguments. |
|
|
|
Destructor. |
|
{\bf data modification functions} Replaces coarse data with the average of nearby cells' fine data 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 a_gridsFine 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. |
|
|
|
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.\ {\bf This:}\ ---This object is modified.--- |
|
|
|
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.\ {\bf This:}\ ---This object is modified.--- |
|
{\bf access functions} Returns true if this object was created with the defining constructor or if define() has been called. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|