EBFineToCoarRedist Class Reference

#include <EBFineToCoarRedist.H>

List of all members.


Detailed Description

A EBFineToCoarRedist handles all the data choreography for fine to coarse redistribution.

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
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< EBCellFABm_densityCoar
LayoutData< IntVectSetm_setsFine
LayoutData< IntVectSetm_setsRefCoar
EBISLayout m_ebislFine
EBISLayout m_ebislCoar
EBISLayout m_ebislRefCoar

Private Member Functions

void operator= (const EBFineToCoarRedist &)
 EBFineToCoarRedist (const EBFineToCoarRedist &)

Friends

class EBFluxRegister

Constructor & Destructor Documentation

EBFineToCoarRedist::EBFineToCoarRedist (  ) 

Default constructor. Leaves object undefined.

EBFineToCoarRedist::~EBFineToCoarRedist (  ) 

EBFineToCoarRedist::EBFineToCoarRedist ( const EBFineToCoarRedist  )  [inline, private]

References MayDay::Error().


Member Function Documentation

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

void EBFineToCoarRedist::setDefaultValues (  )  [protected]

void EBFineToCoarRedist::defineDataHolders (  )  [protected]

void EBFineToCoarRedist::operator= ( const EBFineToCoarRedist  )  [inline, private]

References MayDay::Error().


Friends And Related Function Documentation

friend class EBFluxRegister [friend]


Member Data Documentation

int EBFineToCoarRedist::m_nComp [protected]


The documentation for this class was generated from the following file:

Generated on Fri Apr 5 04:25:02 2019 for Chombo + EB by  doxygen 1.5.5