Class for interpolating data to fine grids. Can use constant interpolation or include limiters.
More...
|
| EBCoarseToFineInterp () noexcept |
| Default constructor. Must subsequently call the define method.
|
|
| EBCoarseToFineInterp (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoFi, const EBLevelGrid &a_eblgCoar, const int &a_refRat) noexcept |
| Constructor. Constructs a valid object which can be used for regridding. More...
|
|
| EBCoarseToFineInterp (const EBCoarseToFineInterp &)=delete |
| Disallowed copy constructor.
|
|
| EBCoarseToFineInterp (const EBCoarseToFineInterp &&)=delete |
| Disallowed move constructor.
|
|
virtual | ~EBCoarseToFineInterp () noexcept |
| Destructor.
|
|
EBCoarseToFineInterp & | operator= (const EBCoarseToFineInterp &)=delete |
| Disallowed copy operator.
|
|
EBCoarseToFineInterp & | operator= (const EBCoarseToFineInterp &&)=delete |
| Disallowed move operator.
|
|
virtual void | define (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoFi, const EBLevelGrid &a_eblgCoar, const int &a_refRat) noexcept |
| Define operation. Puts object in usable state. More...
|
|
virtual void | interpolate (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarData, const Interval &a_variables, const EBCoarseToFineInterp::Type &a_interpType) const noexcept |
| Interpolate to the fine grid using the specified method. More...
|
|
virtual void | interpolate (LevelData< BaseIVFAB< Real >> &a_fineData, const LevelData< BaseIVFAB< Real >> &a_coarData, const Interval &a_variables, const EBCoarseToFineInterp::Type &a_interpType) const noexcept |
| Interpolate to the fine grid using the specified method. More...
|
|
|
virtual void | defineWeights () noexcept |
| Define weights for cut-cell conservative regridding.
|
|
virtual void | interpolatePWC (EBCellFAB &a_fineData, const EBCellFAB &a_coarData, const DataIndex &a_dit, const int &a_fineVar, const int &a_coarVar) const noexcept |
| Piecewise constant interpolation of an EBCellFAB. This ignores the volume fraction. This sets the fine-grid data to the coarse-grid data, so it is not conservative. More...
|
|
virtual void | interpolateConservativePWC (EBCellFAB &a_fineData, const EBCellFAB &a_coarData, const DataIndex &a_dit, const int &a_fineVar, const int &a_coarVar) const noexcept |
| Piecewise constant interpolation of an EBCellFAB. Does not use slopes. More...
|
|
virtual void | interpolateConservativeSlope (EBCellFAB &a_fineData, const EBCellFAB &a_coarData, const DataIndex &a_dit, const int &a_fineVar, const int &a_coarVar, const SlopeLimiter &a_limiter) const noexcept |
| Sloped interpolation of an EBCellFAB. Uses specified input slope. More...
|
|
virtual void | interpolatePWC (BaseIVFAB< Real > &a_fineData, const BaseIVFAB< Real > &a_coarData, const DataIndex &a_dit, const int &a_fineVar, const int &a_coarVar) const noexcept |
| Piecewise constant interpolation of an EB-data. This ignores the area fraction. This sets the fine-grid data to the coarse-grid data. More...
|
|
virtual void | interpolateConservativePWC (BaseIVFAB< Real > &a_fineData, const BaseIVFAB< Real > &a_coarData, const DataIndex &a_dit, const int &a_fineVar, const int &a_coarVar) const noexcept |
| Piecewise constant interpolation of an EB-data. This includes the area fraction and is therefore conservative. More...
|
|
virtual void | checkConservation (const EBCellFAB &a_fineData, const EBCellFAB &a_coarData, const DataIndex &a_dit, const int a_fineVar, const int a_coarVar) const noexcept |
| Check if the interpolation conserved. This will print an error message if it didn't. More...
|
|
virtual void | checkConservation (const BaseIVFAB< Real > &a_fineData, const BaseIVFAB< Real > &a_coarData, const DataIndex &a_dit, const int a_fineVar, const int a_coarVar) const noexcept |
| Check if the interpolation conserved. This will print an error message if it didn't. More...
|
|
|
bool | m_isDefined |
| Is defined or not.
|
|
int | m_refRat |
| Refinement factor.
|
|
Copier | m_ebCopier |
| Copier for making copying from m_eblg to m_eblgCoFi go faster.
|
|
std::map< IntVect, Copier > | m_cellCopiers |
| Map of Copiers that we need for going from valid+ghost -> valid+ghost.
|
|
EBLevelGrid | m_eblgFine |
| Fine grid.
|
|
EBLevelGrid | m_eblgCoar |
| Coarse grid.
|
|
EBLevelGrid | m_eblgCoFi |
| Coarsened fine grid (i.e., has same ProblemDomain as m_eblgCoar);.
|
|
LevelData< BaseIVFAB< Real > > | m_volumeWeights |
| Weights in cut-cells when regridding conservatively. More...
|
|
LevelData< BaseIVFAB< Real > > | m_areaWeights |
| Weights in cut-cells when regridding conservatively. More...
|
|
LevelData< BaseIVFAB< Real > > | m_irregCoFi |
| Data holder for holding data on the coarsened fine grids. More...
|
|
LayoutData< VoFIterator > | m_fineVoFs |
| Iterator for valid cut-cells. More...
|
|
LayoutData< VoFIterator > | m_coarVoFs |
| Iterator for coarse grid cells.
|
|
Class for interpolating data to fine grids. Can use constant interpolation or include limiters.
This class should be used through the interpolate methods. The methods will switch between various supported interpolation methods for the data types. For EBCellFAB-type data we support PWC, ConservativePWC, ConservativeMinMod, ConservativeMonotonizedCentral, ConservativeSuperbee For BASEIVFAB-type data we support PWC and ConservativePWC