Chombo + EB
3.0
|
#include <EBFineToCoarRedist.H>
Public Member Functions | |
void | resetWeights (const LevelData< EBCellFAB > &a_modifierCoar, const int &a_ivar) |
EBFineToCoarRedist () | |
~EBFineToCoarRedist () | |
void | define (const DisjointBoxLayout &a_dblFine, const DisjointBoxLayout &a_dblCoar, const EBISLayout &a_ebislFine, const EBISLayout &a_ebislCoar, const Box &a_domainCoar, const int &a_nref, const int &a_nvar, int a_redistRad=1, const EBIndexSpace *const a_ebisPtr=Chombo_EBIS::instance()) |
uglier 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 | setToZero () |
void | increment (const BaseIVFAB< Real > &a_fineMass, const DataIndex &a_fineDataIndex, const Interval &a_variables) |
void | redistribute (LevelData< EBCellFAB > &a_coarSolution, const Interval &a_variables) |
bool | isDefined () const |
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_gridsRefCoar |
LevelData< BaseIVFAB< Real > > | m_regsFine |
LevelData< BaseIVFAB< Real > > | m_regsRefCoar |
LayoutData< BaseIVFAB < VoFStencil > > | m_stenRefCoar |
LayoutData< BaseIVFAB < VoFStencil > > | m_volumeStenc |
LayoutData< BaseIVFAB < VoFStencil > > | m_standardStenc |
LevelData< EBCellFAB > | m_densityCoar |
LayoutData< IntVectSet > | m_setsFine |
LayoutData< IntVectSet > | m_setsRefCoar |
EBISLayout | m_ebislFine |
EBISLayout | m_ebislCoar |
EBISLayout | m_ebislRefCoar |
Private Member Functions | |
void | operator= (const EBFineToCoarRedist &) |
EBFineToCoarRedist (const EBFineToCoarRedist &) | |
Friends | |
class | EBFluxRegister |
A EBFineToCoarRedist handles all the data choreography for fine to coarse redistribution.
EBFineToCoarRedist::EBFineToCoarRedist | ( | ) |
Default constructor. Leaves object undefined.
EBFineToCoarRedist::~EBFineToCoarRedist | ( | ) |
|
inlineprivate |
References MayDay::Error().
void EBFineToCoarRedist::resetWeights | ( | const LevelData< EBCellFAB > & | a_modifierCoar, |
const int & | a_ivar | ||
) |
Modify the weights in the stencil by multiplying by the inputs in a normalized way. If you want mass weighting, send in the density on the coarse layout.
void EBFineToCoarRedist::define | ( | const DisjointBoxLayout & | a_dblFine, |
const DisjointBoxLayout & | a_dblCoar, | ||
const EBISLayout & | a_ebislFine, | ||
const EBISLayout & | a_ebislCoar, | ||
const Box & | a_domainCoar, | ||
const int & | a_nref, | ||
const int & | a_nvar, | ||
int | a_redistRad = 1 , |
||
const EBIndexSpace *const | a_ebisPtr = Chombo_EBIS::instance() |
||
) |
uglier but general define fcn
Full define function. Define the stencils with volume weights. If you want mass weights or whatever, use reset weights.
void EBFineToCoarRedist::define | ( | const EBLevelGrid & | a_eblgFine, |
const EBLevelGrid & | a_eblgCoar, | ||
const int & | a_nref, | ||
const int & | a_nvar, | ||
const int & | a_redistRad | ||
) |
potentially faster define function, especially with large numbers of boxes.
void EBFineToCoarRedist::setToZero | ( | ) |
Initialize values of registers to zero.
void EBFineToCoarRedist::increment | ( | const BaseIVFAB< Real > & | a_fineMass, |
const DataIndex & | a_fineDataIndex, | ||
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 coarse level.
void EBFineToCoarRedist::redistribute | ( | LevelData< EBCellFAB > & | a_coarSolution, |
const Interval & | a_variables | ||
) |
Redistribute the data contained in the internal buffers.
bool EBFineToCoarRedist::isDefined | ( | ) | const |
|
protected |
|
protected |
|
inlineprivate |
References MayDay::Error().
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |