Chombo + EB
3.0
|
Piecewise constant interpolation. More...
#include <EBMGInterp.H>
Public Member Functions | |
EBMGInterp () | |
~EBMGInterp () | |
EBMGInterp (const DisjointBoxLayout &dblFine, const DisjointBoxLayout &dblCoar, const EBISLayout &ebislFine, const EBISLayout &ebislCoar, const ProblemDomain &domainCoar, const int &nref, const int &nvar, const EBIndexSpace *ebisPtr, const IntVect &ghostCellsPhi, const bool &layoutChanged=true, const bool &doLinear=false) | |
void | define (const DisjointBoxLayout &dblFine, const DisjointBoxLayout &dblCoar, const EBISLayout &ebislFine, const EBISLayout &ebislCoar, const ProblemDomain &domainCoar, const int &nref, const int &nvar, const EBIndexSpace *ebisPtr, const IntVect &ghostCellsPhi, const bool &layoutChanged=true, const bool &doLinear=false) |
bool | isDefined () const |
void | pwcInterp (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarseData, const Interval &a_variables) |
void | pwlInterp (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarseData, const Interval &a_variables) |
void | pwlInterpMG (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarseData, const Interval &a_variables) |
void | pwcInterpMG (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarseData, const Interval &a_variables) |
Protected Member Functions | |
void | defineLinearStencil (const DataIndex &a_dit, const Vector< VolIndex > &a_allFineVoFs, const EBISLayout &a_ebislStenFine, const EBISLayout &a_ebislStenCoar, const Box &a_boxFine, const Box &a_boxCoar) |
void | defineConstantStencil (const DataIndex &a_dit, const Vector< VolIndex > &a_allFineVoFs, const EBISLayout &a_ebislStenFine, const EBISLayout &a_ebislStenCoar, const Box &a_boxFine, const Box &a_boxCoar) |
void | fillGhostCellsPWC (LevelData< EBCellFAB > &a_data, const EBISLayout &a_ebisl, const ProblemDomain &a_dom) |
void | pwcInterpFAB (EBCellFAB &a_refCoar, const Box &a_coarBox, const EBCellFAB &a_fine, const DataIndex &a_datInd, const Interval &a_variables) const |
void | pwlInterpFAB (EBCellFAB &a_refCoar, const Box &a_coarBox, const EBCellFAB &a_fine, const DataIndex &a_datInd, const Interval &a_variables) const |
void | setDefaultValues () |
void | defineStencils () |
Private Member Functions | |
EBMGInterp (const EBMGInterp &ebcin) | |
void | operator= (const EBMGInterp &fabin) |
Piecewise constant interpolation.
Finedata += coarse data.
EBMGInterp::EBMGInterp | ( | ) |
Default constructor. User must subsequently call define().
EBMGInterp::~EBMGInterp | ( | ) |
EBMGInterp::EBMGInterp | ( | const DisjointBoxLayout & | dblFine, |
const DisjointBoxLayout & | dblCoar, | ||
const EBISLayout & | ebislFine, | ||
const EBISLayout & | ebislCoar, | ||
const ProblemDomain & | domainCoar, | ||
const int & | nref, | ||
const int & | nvar, | ||
const EBIndexSpace * | ebisPtr, | ||
const IntVect & | ghostCellsPhi, | ||
const bool & | layoutChanged = true , |
||
const bool & | doLinear = false |
||
) |
Defining constructor. Constructs a valid object. Equivalent to default construction followed by define().
{ Arguments:}\ dblFine, dblCoar: The fine and coarse layouts of the data.\ ebislFine, ebislCoar: The fine and coarse layouts of the geometric description.\ nref: The refinement ratio between the two levels. \ nvar: The number of variables contained in the data at each VoF.
|
inlineprivate |
References MayDay::Error().
void EBMGInterp::define | ( | const DisjointBoxLayout & | dblFine, |
const DisjointBoxLayout & | dblCoar, | ||
const EBISLayout & | ebislFine, | ||
const EBISLayout & | ebislCoar, | ||
const ProblemDomain & | domainCoar, | ||
const int & | nref, | ||
const int & | nvar, | ||
const EBIndexSpace * | ebisPtr, | ||
const IntVect & | ghostCellsPhi, | ||
const bool & | layoutChanged = true , |
||
const bool & | doLinear = false |
||
) |
Defines this object. Existing information is overriden.
{ Arguments:}\ dblFine, dblCoar: The fine and coarse layouts of the data.\ ebislFine, ebislCoar: The fine and coarse layouts of the geometric description.\ nref: The refinement ratio between the two levels. \ nvar: The number of variables contained in the data at each VoF.
bool EBMGInterp::isDefined | ( | ) | const |
Returns true if this object was created with the defining constructor or if define() has been called.
void EBMGInterp::pwcInterp | ( | LevelData< EBCellFAB > & | a_fineData, |
const LevelData< EBCellFAB > & | a_coarseData, | ||
const Interval & | a_variables | ||
) |
Piecewise constant interpolation function FineData += coarseData
void EBMGInterp::pwlInterp | ( | LevelData< EBCellFAB > & | a_fineData, |
const LevelData< EBCellFAB > & | a_coarseData, | ||
const Interval & | a_variables | ||
) |
Piecewise linear interpolation function FineData += coarseData + slope*dist only works if you turned on useLinear in define function. Ghost cells for the coarse data must be filled coming into the function.
void EBMGInterp::pwlInterpMG | ( | LevelData< EBCellFAB > & | a_fineData, |
const LevelData< EBCellFAB > & | a_coarseData, | ||
const Interval & | a_variables | ||
) |
Piecewise linear interpolation function FineData += coarseData + slope*dist only works if you turned on useLinear in define function. no copies here Ghost cells for the coarse data must be filled coming into the function.
void EBMGInterp::pwcInterpMG | ( | LevelData< EBCellFAB > & | a_fineData, |
const LevelData< EBCellFAB > & | a_coarseData, | ||
const Interval & | a_variables | ||
) |
Piecewise constant interpolation function for unchanged layouts (no agglomeration) there are no copies here FineData += coarseData
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inlineprivate |
References MayDay::Error().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |