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

stencil for mass redistribution More...

#include <RedistStencil.H>

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 > > 
LayoutData< BaseIVFAB
< VoFStencil > > 
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)

Detailed Description

stencil for mass redistribution

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.

Constructor & Destructor Documentation

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)

References MayDay::Error().

Member Function Documentation

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.

void RedistStencil::resetWeights ( const LevelData< EBCellFAB > &  a_modifier,
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.

const BaseIVFAB<VoFStencil >& RedistStencil::operator[] ( const DataIndex datInd) const

Returns the redistribution stencil at every irregular point in input Box associated with this DataIndex.

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 
void RedistStencil::operator= ( const RedistStencil fabin)

References MayDay::Error().

Member Data Documentation

LayoutData<BaseIVFAB<VoFStencil > > RedistStencil::m_stencil
LayoutData<BaseIVFAB<VoFStencil > > RedistStencil::m_volsten
DisjointBoxLayout RedistStencil::m_grids
ProblemDomain RedistStencil::m_domain
EBISLayout RedistStencil::m_ebisl
bool RedistStencil::m_isDefined
bool RedistStencil::m_hasDefaultWeights
bool RedistStencil::m_alwaysRedist
int RedistStencil::m_redistRadius

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