#include <EBLevelRedist.H>

Public Member Functions | |
| EBLevelRedist () | |
| ~EBLevelRedist () | |
| EBLevelRedist (const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const int &a_ncomp, int redistRad=1) | |
| void | define (const DisjointBoxLayout &a_dbl, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const int &a_ncomp, int redistRad=1) |
| 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< IntVectSet > | m_sets |
Private Member Functions | |
| void | operator= (const EBLevelRedist &a_stenin) |
| EBLevelRedist (const EBLevelRedist &a_stenin) | |
| 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 | redistRad = 1 | |||
| ) |
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().
| void EBLevelRedist::define | ( | const DisjointBoxLayout & | a_dbl, | |
| const EBISLayout & | a_ebisl, | |||
| const ProblemDomain & | a_domain, | |||
| const int & | a_ncomp, | |||
| int | redistRad = 1 | |||
| ) |
Defines this object. Existing information is overriden. ebisl needs ghost cells out to 3*redistradius
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
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().
int EBLevelRedist::redistRad [protected] |
RedistStencil EBLevelRedist::m_stencil [protected] |
int EBLevelRedist::m_ncomp [protected] |
int EBLevelRedist::m_redistRad [protected] |
DisjointBoxLayout EBLevelRedist::m_grids [protected] |
ProblemDomain EBLevelRedist::m_domain [protected] |
EBISLayout EBLevelRedist::m_ebisl [protected] |
bool EBLevelRedist::m_isDefined [protected] |
LevelData<BaseIVFAB<Real> > EBLevelRedist::m_buffer [protected] |
LayoutData<IntVectSet> EBLevelRedist::m_sets [protected] |
1.5.5