Chombo + EB  3.0
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
EBFineToCoarRedist Class Reference

#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< 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
 

Detailed Description

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

Constructor & Destructor Documentation

EBFineToCoarRedist::EBFineToCoarRedist ( )

Default constructor. Leaves object undefined.

EBFineToCoarRedist::~EBFineToCoarRedist ( )
EBFineToCoarRedist::EBFineToCoarRedist ( const EBFineToCoarRedist )
inlineprivate

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 )
inlineprivate

References MayDay::Error().

Friends And Related Function Documentation

friend class EBFluxRegister
friend

Member Data Documentation

bool EBFineToCoarRedist::m_isDefined
protected
int EBFineToCoarRedist::m_redistRad
protected
int EBFineToCoarRedist::m_nComp
protected
int EBFineToCoarRedist::m_refRat
protected
Box EBFineToCoarRedist::m_domainCoar
protected
DisjointBoxLayout EBFineToCoarRedist::m_gridsFine
protected
DisjointBoxLayout EBFineToCoarRedist::m_gridsCoar
protected
DisjointBoxLayout EBFineToCoarRedist::m_gridsRefCoar
protected
LevelData<BaseIVFAB<Real> > EBFineToCoarRedist::m_regsFine
protected
LevelData<BaseIVFAB<Real> > EBFineToCoarRedist::m_regsRefCoar
protected
LayoutData<BaseIVFAB<VoFStencil> > EBFineToCoarRedist::m_stenRefCoar
protected
LayoutData<BaseIVFAB<VoFStencil> > EBFineToCoarRedist::m_volumeStenc
protected
LayoutData<BaseIVFAB<VoFStencil> > EBFineToCoarRedist::m_standardStenc
protected
LevelData<EBCellFAB> EBFineToCoarRedist::m_densityCoar
protected
LayoutData<IntVectSet> EBFineToCoarRedist::m_setsFine
protected
LayoutData<IntVectSet> EBFineToCoarRedist::m_setsRefCoar
protected
EBISLayout EBFineToCoarRedist::m_ebislFine
protected
EBISLayout EBFineToCoarRedist::m_ebislCoar
protected
EBISLayout EBFineToCoarRedist::m_ebislRefCoar
protected

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