Chombo + EB
3.2
|
Coarse to fine redistribution class. More...
#include <EBCoarToFineRedist.H>
Public Member Functions | |
EBCoarToFineRedist () | |
~EBCoarToFineRedist () | |
void | setToZero () |
void | increment (const BaseIVFAB< Real > &a_coarseMass, const DataIndex &a_coarseDataIndex, const Interval &a_variables) |
void | redistribute (LevelData< EBCellFAB > &a_fineSolution, const Interval &a_variables) |
bool | isDefined () const |
void | define (const DisjointBoxLayout &a_dblFine, const DisjointBoxLayout &a_dblCoar, const EBISLayout &a_ebislCoar, const Box &a_domainCoar, const int &a_nref, const int &a_nvar, int redistRad, const EBIndexSpace *ebisPtr) |
ugly but general define fcn More... | |
void | define (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_nref, const int &a_nvar, const int &a_redistRad) |
void | resetWeights (const LevelData< EBCellFAB > &a_modifierCoar, const int &a_ivar) |
Protected Member Functions | |
void | setDefaultValues () |
void | defineDataHolders () |
Protected Attributes | |
bool | m_isDefined |
int | m_redistRad |
int | m_nComp |
int | m_refRat |
Box | m_domainCoar |
DisjointBoxLayout | m_gridsFine |
DisjointBoxLayout | m_gridsCoar |
DisjointBoxLayout | m_gridsCedFine |
LevelData< BaseIVFAB< Real > > | m_regsCoar |
LevelData< BaseIVFAB< Real > > | m_regsCedFine |
LevelData< EBCellFAB > | m_densityCedFine |
LayoutData< BaseIVFAB< VoFStencil > > | m_stenCedFine |
LayoutData< BaseIVFAB< VoFStencil > > | m_volumeStenc |
LayoutData< BaseIVFAB< VoFStencil > > | m_standardStenc |
LayoutData< IntVectSet > | m_setsCedFine |
LayoutData< IntVectSet > | m_setsCoar |
EBISLayout | m_ebislCoar |
EBISLayout | m_ebislCedFine |
Private Member Functions | |
void | operator= (const EBCoarToFineRedist &) |
EBCoarToFineRedist (const EBCoarToFineRedist &) | |
Friends | |
class | EBFluxRegister |
Coarse to fine redistribution class.
Coarse to fine redistribution class.
EBCoarToFineRedist::EBCoarToFineRedist | ( | ) |
Default constructor. Leaves object undefined.
EBCoarToFineRedist::~EBCoarToFineRedist | ( | ) |
|
inlineprivate |
References MayDay::Error().
void EBCoarToFineRedist::setToZero | ( | ) |
Initialize values of registers to zero.
void EBCoarToFineRedist::increment | ( | const BaseIVFAB< Real > & | a_coarseMass, |
const DataIndex & | a_coarseDataIndex, | ||
const Interval & | a_variables | ||
) |
Increments the register with data from coarseMass. This is the full redistribution mass. Internally the class figures out what actually goes to the fine level.
void EBCoarToFineRedist::redistribute | ( | LevelData< EBCellFAB > & | a_fineSolution, |
const Interval & | a_variables | ||
) |
Redistribute the data contained in the internal buffers.
bool EBCoarToFineRedist::isDefined | ( | ) | const |
void EBCoarToFineRedist::define | ( | const DisjointBoxLayout & | a_dblFine, |
const DisjointBoxLayout & | a_dblCoar, | ||
const EBISLayout & | a_ebislCoar, | ||
const Box & | a_domainCoar, | ||
const int & | a_nref, | ||
const int & | a_nvar, | ||
int | redistRad, | ||
const EBIndexSpace * | ebisPtr | ||
) |
ugly but general define fcn
Full define function. Define the stencils with volume weights. If you want mass weights or whatever, use reset weights.
void EBCoarToFineRedist::define | ( | const EBLevelGrid & | a_eblgFine, |
const EBLevelGrid & | a_eblgCoar, | ||
const int & | a_nref, | ||
const int & | a_nvar, | ||
const int & | a_redistRad | ||
) |
Interface that uses EBLevelGrid potentially can be much faster when the number of boxes gets large.
void EBCoarToFineRedist::resetWeights | ( | const LevelData< EBCellFAB > & | a_modifierCoar, |
const int & | a_ivar | ||
) |
|
protected |
|
protected |
|
inlineprivate |
References MayDay::Error().
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |