EBLevelRedist Class Reference

#include <EBLevelRedist.H>

List of all members.

Public Member Functions

 EBLevelRedist ()
 ~EBLevelRedist ()
 EBLevelRedist (const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const int &a_ncomp, int a_redistRad=1, bool a_do2DStencil=false)
void define (const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const int &a_ncomp, int a_redistRad=1, bool a_do2DStencil=false)
void resetWeights (const LevelData< EBCellFAB > &modifier, const int &ivar)
void increment (const BaseIVFAB< Real > &massDiff, const DataIndex &datInd, const Interval &variables)
void redistribute (LevelData< EBCellFAB > &solution, const Interval &variables)
void redistribute (LevelData< EBCellFAB > &a_solution, const Interval &a_srcVar, const Interval &a_dstVar)
void fixExplicitLap (const LevelData< EBCellFAB > &a_kappaLap, LevelData< EBCellFAB > &a_solution, const Interval &variables)
bool isDefined () const
void setToZero ()

Protected Attributes

int redistRad
RedistStencil m_stencil
int m_ncomp
int m_redistRad
DisjointBoxLayout m_grids
ProblemDomain m_domain
EBISLayout m_ebisl
bool m_isDefined
LevelData< BaseIVFAB< Real > > m_buffer
LayoutData< IntVectSetm_sets

Private Member Functions

void operator= (const EBLevelRedist &a_stenin)
 EBLevelRedist (const EBLevelRedist &a_stenin)


Constructor & Destructor Documentation

EBLevelRedist::EBLevelRedist (  ) 

Default constructor. User must subsequently call define().

EBLevelRedist::~EBLevelRedist (  ) 

EBLevelRedist::EBLevelRedist ( const DisjointBoxLayout a_dbl,
const EBISLayout a_ebisl,
const ProblemDomain a_domain,
const int &  a_ncomp,
int  a_redistRad = 1,
bool  a_do2DStencil = false 
)

Defining constructor. Constructs a valid object. Equivalent to default construction followed by define(). ebisl needs ghost cells out to 3*redistradius of the stencil. This sets the stencil to volume-weighted. Use resetWeights to set to mass weighted or whatever.

EBLevelRedist::EBLevelRedist ( const EBLevelRedist a_stenin  )  [inline, private]

References MayDay::Error().


Member Function Documentation

void EBLevelRedist::define ( const DisjointBoxLayout a_dbl,
const EBISLayout a_ebisl,
const ProblemDomain a_domain,
const int &  a_ncomp,
int  a_redistRad = 1,
bool  a_do2DStencil = false 
)

Defines this object. Existing information is overriden. ebisl needs ghost cells out to 3*redistradius

void EBLevelRedist::resetWeights ( const LevelData< EBCellFAB > &  modifier,
const int &  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.

void EBLevelRedist::increment ( const BaseIVFAB< Real > &  massDiff,
const DataIndex datInd,
const Interval variables 
)

Store the input mass difference in the buffers of the class by INCREMENTING the buffer. \ dm += massDiff

void EBLevelRedist::redistribute ( LevelData< EBCellFAB > &  solution,
const Interval variables 
)

Redistribute the data contained in the internal buffers. \ solution += weight*dm

void EBLevelRedist::redistribute ( LevelData< EBCellFAB > &  a_solution,
const Interval a_srcVar,
const Interval a_dstVar 
)

version where solution is not necessarily ncomp long. intervals have to be the same length. srcVar can be up to m_ncomp long. dstVar can be up to solution.nComp().

void EBLevelRedist::fixExplicitLap ( const LevelData< EBCellFAB > &  a_kappaLap,
LevelData< EBCellFAB > &  a_solution,
const Interval variables 
)

Adjusts an explicit Laplacian calculation so that: a_solution_i = kappa_i*lap_i + (1-kappa_i)*sum_s(kappa_s*lap_s)/(sum_s kappa_s) where s is the set of cells neighboring, but not including i NOTE: a_solution must be passed in equal to a_kappaLap

bool EBLevelRedist::isDefined (  )  const

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

void EBLevelRedist::setToZero (  ) 

Reset the mass buffers of the class.

void EBLevelRedist::operator= ( const EBLevelRedist a_stenin  )  [inline, private]

References MayDay::Error().


Member Data Documentation

int EBLevelRedist::redistRad [protected]

int EBLevelRedist::m_ncomp [protected]

int EBLevelRedist::m_redistRad [protected]

bool EBLevelRedist::m_isDefined [protected]


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

Generated on Fri Apr 5 04:25:02 2019 for Chombo + EB by  doxygen 1.5.5