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

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

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

References MayDay::Error().

Member Data Documentation

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

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