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() [1/3]

RedistStencil::RedistStencil ( )

Default constructor. User must subsequently call define().

◆ ~RedistStencil()

RedistStencil::~RedistStencil ( )

◆ RedistStencil() [2/3]

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() [3/3]

RedistStencil::RedistStencil ( const RedistStencil ebcin)
inlineprivate

References MayDay::Error().

Member Function Documentation

◆ define()

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

◆ isDefined()

bool RedistStencil::isDefined ( ) const

Returns true if this object was created with the defining constructor or if define() has been called.

◆ resetWeights()

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.

◆ operator[]()

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

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

◆ deepCopy()

void RedistStencil::deepCopy ( const RedistStencil a_stenin)

This copy operation detaches copier from copyee.

◆ getRedistRadius()

int RedistStencil::getRedistRadius ( ) const

◆ computePointStencil()

void RedistStencil::computePointStencil ( VoFStencil a_stencil,
const VolIndex a_srcVoF,
const DataIndex a_datInd,
const bool &  a_do2DStencil 
)
private

◆ operator=()

void RedistStencil::operator= ( const RedistStencil fabin)
inlineprivate

References MayDay::Error().

Member Data Documentation

◆ m_stencil

LayoutData<BaseIVFAB<VoFStencil > > RedistStencil::m_stencil
protected

◆ m_volsten

LayoutData<BaseIVFAB<VoFStencil > > RedistStencil::m_volsten
protected

◆ m_grids

DisjointBoxLayout RedistStencil::m_grids
protected

◆ m_domain

ProblemDomain RedistStencil::m_domain
protected

◆ m_ebisl

EBISLayout RedistStencil::m_ebisl
protected

◆ m_isDefined

bool RedistStencil::m_isDefined
protected

◆ m_hasDefaultWeights

bool RedistStencil::m_hasDefaultWeights
protected

◆ m_alwaysRedist

bool RedistStencil::m_alwaysRedist
protected

◆ m_redistRadius

int RedistStencil::m_redistRadius
protected

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