13#ifndef CD_EBCOARSETOFINEINTERP_H
14#define CD_EBCOARSETOFINEINTERP_H
17#include <EBLevelGrid.H>
23#include <CD_NamespaceHeader.H>
47 ConservativeMonotonizedCentral,
64 const EBLevelGrid& a_eblgCoFi,
65 const EBLevelGrid& a_eblgCoar,
66 const
int& a_refRat) noexcept;
103 define(const EBLevelGrid& a_eblgFine,
104 const EBLevelGrid& a_eblgCoFi,
105 const EBLevelGrid& a_eblgCoar,
106 const
int& a_refRat) noexcept;
117 const LevelData<EBCellFAB>& a_coarData,
118 const Interval& a_variables,
129 interpolate(LevelData<BaseIVFAB<Real>>& a_fineData,
130 const LevelData<BaseIVFAB<Real>>& a_coarData,
131 const Interval& a_variables,
226 const EBCellFAB& a_coarData,
227 const DataIndex& a_dit,
228 const
int& a_fineVar,
229 const
int& a_coarVar) const noexcept;
241 const EBCellFAB& a_coarData,
242 const DataIndex& a_dit,
243 const
int& a_fineVar,
244 const
int& a_coarVar) const noexcept;
257 const EBCellFAB& a_coarData,
258 const DataIndex& a_dit,
259 const
int& a_fineVar,
260 const
int& a_coarVar,
274 const BaseIVFAB<Real>& a_coarData,
275 const DataIndex& a_dit,
276 const
int& a_fineVar,
277 const
int& a_coarVar) const noexcept;
290 const BaseIVFAB<Real>& a_coarData,
291 const DataIndex& a_dit,
292 const
int& a_fineVar,
293 const
int& a_coarVar) const noexcept;
305 const EBCellFAB& a_coarData,
306 const DataIndex& a_dit,
308 const
int a_coarVar) const noexcept;
320 const BaseIVFAB<Real>& a_coarData,
321 const DataIndex& a_dit,
323 const
int a_coarVar) const noexcept;
326#include <CD_NamespaceFooter.H>
Class for interpolating data to fine grids. Can use constant interpolation or include limiters.
Definition CD_EBCoarseToFineInterp.H:33
virtual void defineWeights() noexcept
Define weights for cut-cell conservative regridding.
Definition CD_EBCoarseToFineInterp.cpp:104
EBLevelGrid m_eblgCoar
Coarse grid.
Definition CD_EBCoarseToFineInterp.H:173
LevelData< BaseIVFAB< Real > > m_irregCoFi
Data holder for holding data on the coarsened fine grids.
Definition CD_EBCoarseToFineInterp.H:196
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.
Definition CD_EBCoarseToFineInterp.cpp:676
LayoutData< VoFIterator > m_coarVoFs
Iterator for coarse grid cells.
Definition CD_EBCoarseToFineInterp.H:207
LayoutData< VoFIterator > m_fineVoFs
Iterator for valid cut-cells.
Definition CD_EBCoarseToFineInterp.H:202
bool m_isDefined
Is defined or not.
Definition CD_EBCoarseToFineInterp.H:148
std::map< IntVect, Copier > m_cellCopiers
Map of Copiers that we need for going from valid+ghost -> valid+ghost.
Definition CD_EBCoarseToFineInterp.H:163
LevelData< BaseIVFAB< Real > > m_volumeWeights
Weights in cut-cells when regridding conservatively.
Definition CD_EBCoarseToFineInterp.H:184
EBLevelGrid m_eblgCoFi
Coarsened fine grid (i.e., has same ProblemDomain as m_eblgCoar);.
Definition CD_EBCoarseToFineInterp.H:178
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.
Definition CD_EBCoarseToFineInterp.cpp:415
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....
Definition CD_EBCoarseToFineInterp.cpp:289
Copier m_ebCopier
Copier for making copying from m_eblg to m_eblgCoFi go faster.
Definition CD_EBCoarseToFineInterp.H:158
EBLevelGrid m_eblgFine
Fine grid.
Definition CD_EBCoarseToFineInterp.H:168
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.
Definition CD_EBCoarseToFineInterp.cpp:163
Type
Type of interpolation methods supported. PWC = Piecewise constant, ignoring the embedded boundary....
Definition CD_EBCoarseToFineInterp.H:43
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.
Definition CD_EBCoarseToFineInterp.cpp:44
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.
Definition CD_EBCoarseToFineInterp.cpp:357
LevelData< BaseIVFAB< Real > > m_areaWeights
Weights in cut-cells when regridding conservatively.
Definition CD_EBCoarseToFineInterp.H:190
int m_refRat
Refinement factor.
Definition CD_EBCoarseToFineInterp.H:153
SlopeLimiter
Supported slope limiters for conservative interpolation with slopes.
Definition CD_EBCoarseToFineInterp.H:139
EBCoarseToFineInterp() noexcept
Default constructor. Must subsequently call the define method.
Definition CD_EBCoarseToFineInterp.cpp:26