#include <RedistStencil.H>
The RedistStencil class holds the stencil for mass redistribution at every irregular VoF in a layout. The default weights that the stencil holds are volume weights. The class does allow the flexibility to redefine these weights.
Public Member Functions | |
RedistStencil () | |
~RedistStencil () | |
RedistStencil (const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const int &a_redistRadius) | |
void | define (const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const int &a_redistRadius, bool a_do2DStencil=false) |
bool | isDefined () const |
void | resetWeights (const LevelData< EBCellFAB > &a_modifier, const int &a_ivar) |
const BaseIVFAB< VoFStencil > & | operator[] (const DataIndex &datInd) const |
void | deepCopy (const RedistStencil &a_stenin) |
int | getRedistRadius () const |
Protected Attributes | |
LayoutData< BaseIVFAB < VoFStencil > > | m_stencil |
LayoutData< BaseIVFAB < VoFStencil > > | m_volsten |
DisjointBoxLayout | m_grids |
ProblemDomain | m_domain |
EBISLayout | m_ebisl |
bool | m_isDefined |
bool | m_hasDefaultWeights |
bool | m_alwaysRedist |
int | m_redistRadius |
Private Member Functions | |
void | computePointStencil (VoFStencil &a_stencil, const VolIndex &a_srcVoF, const DataIndex &a_datInd, const bool &a_do2DStencil) |
RedistStencil (const RedistStencil &ebcin) | |
void | operator= (const RedistStencil &fabin) |
RedistStencil::RedistStencil | ( | ) |
Default constructor. User must subsequently call define().
RedistStencil::~RedistStencil | ( | ) |
RedistStencil::RedistStencil | ( | const DisjointBoxLayout & | a_dbl, | |
const EBISLayout & | a_ebisl, | |||
const ProblemDomain & | a_domain, | |||
const int & | a_redistRadius | |||
) |
Defining constructor. Constructs a valid object. Equivalent to default construction followed by define(). ebisl needs ghost cells out to 3*redistradius
RedistStencil::RedistStencil | ( | const RedistStencil & | ebcin | ) | [inline, private] |
References MayDay::Error().
void RedistStencil::define | ( | const DisjointBoxLayout & | a_dbl, | |
const EBISLayout & | a_ebisl, | |||
const ProblemDomain & | a_domain, | |||
const int & | a_redistRadius, | |||
bool | a_do2DStencil = false | |||
) |
Defines this object. Existing information is overriden. ebisl needs ghost cells out to 3*redistradius
bool RedistStencil::isDefined | ( | ) | const |
Returns true if this object was created with the defining constructor or if define() has been called.
Modify the weights in the stencil by multiplying by the inputs in a normalized way. If you want mass weighting, send in the density.
const BaseIVFAB<VoFStencil >& RedistStencil::operator[] | ( | const DataIndex & | datInd | ) | const |
void RedistStencil::deepCopy | ( | const RedistStencil & | a_stenin | ) |
This copy operation detaches copier from copyee.
int RedistStencil::getRedistRadius | ( | ) | const |
void RedistStencil::computePointStencil | ( | VoFStencil & | a_stencil, | |
const VolIndex & | a_srcVoF, | |||
const DataIndex & | a_datInd, | |||
const bool & | a_do2DStencil | |||
) | [private] |
void RedistStencil::operator= | ( | const RedistStencil & | fabin | ) | [inline, private] |
References MayDay::Error().
LayoutData<BaseIVFAB<VoFStencil > > RedistStencil::m_stencil [protected] |
LayoutData<BaseIVFAB<VoFStencil > > RedistStencil::m_volsten [protected] |
DisjointBoxLayout RedistStencil::m_grids [protected] |
ProblemDomain RedistStencil::m_domain [protected] |
EBISLayout RedistStencil::m_ebisl [protected] |
bool RedistStencil::m_isDefined [protected] |
bool RedistStencil::m_hasDefaultWeights [protected] |
bool RedistStencil::m_alwaysRedist [protected] |
int RedistStencil::m_redistRadius [protected] |