#include <EBMGInterp.H>
Finedata += coarse data.
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 () |
Protected Attributes | |
| bool | m_isDefined |
| IntVect | m_ghost |
| DisjointBoxLayout | m_coarGrids |
| DisjointBoxLayout | m_fineGrids |
| ProblemDomain | m_coarDomain |
| ProblemDomain | m_fineDomain |
| EBISLayout | m_coarEBISL |
| EBISLayout | m_fineEBISL |
| LevelData< EBCellFAB > | m_buffer |
| int | m_refRat |
| int | m_nComp |
| bool | m_doLinear |
| bool | m_layoutChanged |
| bool | m_coarsenable |
| DisjointBoxLayout | m_buffGrids |
| EBISLayout | m_buffEBISL |
| Copier | m_copierFtoRC |
| Copier | m_copierRCtoF |
| LayoutData< RefCountedPtr < EBStencil > > | m_interpEBStencil |
| LayoutData< RefCountedPtr < EBStencil > > | m_linearEBStencil |
Private Member Functions | |
| EBMGInterp (const EBMGInterp &ebcin) | |
| void | operator= (const EBMGInterp &fabin) |
| 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.
| EBMGInterp::EBMGInterp | ( | const EBMGInterp & | ebcin | ) | [inline, private] |
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
| void EBMGInterp::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 | |||
| ) | [protected] |
| void EBMGInterp::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 | |||
| ) | [protected] |
| void EBMGInterp::fillGhostCellsPWC | ( | LevelData< EBCellFAB > & | a_data, | |
| const EBISLayout & | a_ebisl, | |||
| const ProblemDomain & | a_dom | |||
| ) | [protected] |
| void EBMGInterp::pwcInterpFAB | ( | EBCellFAB & | a_refCoar, | |
| const Box & | a_coarBox, | |||
| const EBCellFAB & | a_fine, | |||
| const DataIndex & | a_datInd, | |||
| const Interval & | a_variables | |||
| ) | const [protected] |
| void EBMGInterp::pwlInterpFAB | ( | EBCellFAB & | a_refCoar, | |
| const Box & | a_coarBox, | |||
| const EBCellFAB & | a_fine, | |||
| const DataIndex & | a_datInd, | |||
| const Interval & | a_variables | |||
| ) | const [protected] |
| void EBMGInterp::setDefaultValues | ( | ) | [protected] |
| void EBMGInterp::defineStencils | ( | ) | [protected] |
| void EBMGInterp::operator= | ( | const EBMGInterp & | fabin | ) | [inline, private] |
References MayDay::Error().
bool EBMGInterp::m_isDefined [protected] |
IntVect EBMGInterp::m_ghost [protected] |
DisjointBoxLayout EBMGInterp::m_coarGrids [protected] |
DisjointBoxLayout EBMGInterp::m_fineGrids [protected] |
ProblemDomain EBMGInterp::m_coarDomain [protected] |
ProblemDomain EBMGInterp::m_fineDomain [protected] |
EBISLayout EBMGInterp::m_coarEBISL [protected] |
EBISLayout EBMGInterp::m_fineEBISL [protected] |
LevelData<EBCellFAB> EBMGInterp::m_buffer [protected] |
int EBMGInterp::m_refRat [protected] |
int EBMGInterp::m_nComp [protected] |
bool EBMGInterp::m_doLinear [protected] |
bool EBMGInterp::m_layoutChanged [protected] |
bool EBMGInterp::m_coarsenable [protected] |
DisjointBoxLayout EBMGInterp::m_buffGrids [protected] |
EBISLayout EBMGInterp::m_buffEBISL [protected] |
Copier EBMGInterp::m_copierFtoRC [protected] |
Copier EBMGInterp::m_copierRCtoF [protected] |
LayoutData<RefCountedPtr<EBStencil> > EBMGInterp::m_interpEBStencil [protected] |
LayoutData<RefCountedPtr<EBStencil> > EBMGInterp::m_linearEBStencil [protected] |
1.5.5