17#include <AggStencil.H>
18#include <EBLevelGrid.H>
19#include <VoFIterator.H>
20#include <FaceIterator.H>
24#include <CD_NamespaceHeader.H>
65 EBCoarAve(const DisjointBoxLayout& a_dblFine,
66 const DisjointBoxLayout& a_dblCoar,
67 const EBISLayout& a_ebislFine,
68 const EBISLayout& a_ebislCoar,
69 const ProblemDomain& a_domainCoar,
71 const EBIndexSpace* a_ebisPtr) noexcept;
81 const EBLevelGrid& a_eblgCoar,
82 const EBLevelGrid& a_eblgCoFi,
83 const
int& a_refRat) noexcept;
98 define(const EBLevelGrid& a_eblgFine,
99 const EBLevelGrid& a_eblgCoar,
100 const EBLevelGrid& a_eblgCoFi,
101 const
int& a_refRat) noexcept;
118 const LevelData<EBCellFAB>& a_fineData,
119 const Interval& a_variables,
120 const
Average& a_average) const noexcept;
131 const LevelData<EBFluxFAB>& a_fineData,
132 const Interval& a_variables,
133 const
Average& a_average) const noexcept;
143 averageData(LevelData<BaseIVFAB<Real>>& a_coarData,
144 const LevelData<BaseIVFAB<Real>>& a_fineData,
145 const Interval& a_variables,
146 const
Average& a_average) const noexcept;
285 const EBCellFAB& a_fineData,
286 const DataIndex& a_datInd,
287 const
int& a_coarVar,
288 const
int& a_fineVar) const noexcept;
299 const EBCellFAB& a_fineData,
300 const DataIndex& a_datInd,
301 const
int& a_coarVar,
302 const
int& a_fineVar) const noexcept;
314 const EBCellFAB& a_fineData,
315 const DataIndex& a_datInd,
316 const
int& a_coarVar,
317 const
int& a_fineVar) const noexcept;
330 const EBFaceFAB& a_fineData,
331 const DataIndex& a_datInd,
332 const
int& a_coarVar,
333 const
int& a_fineVar,
334 const
int& a_dir) const noexcept;
347 const EBFaceFAB& a_fineData,
348 const DataIndex& a_datInd,
349 const
int& a_coarVar,
350 const
int& a_fineVar,
351 const
int& a_dir) const noexcept;
364 const EBFaceFAB& a_fineData,
365 const DataIndex& a_datInd,
366 const
int& a_coarVar,
367 const
int& a_fineVar,
368 const
int& a_dir) const noexcept;
380 const BaseIVFAB<Real>& a_fineData,
381 const DataIndex& a_datInd,
382 const
int& a_coarVar,
383 const
int& a_fineVar) const noexcept;
395 const BaseIVFAB<Real>& a_fineData,
396 const DataIndex& a_datInd,
397 const
int& a_coarVar,
398 const
int& a_fineVar) const noexcept;
410 const BaseIVFAB<Real>& a_fineData,
411 const DataIndex& a_datInd,
412 const
int& a_coarVar,
413 const
int& a_fineVar) const noexcept;
416#include <CD_NamespaceFooter.H>
Declaration of averaging methods.
Average
Various averaging methods.
Definition CD_Average.H:25
Class which replaces data at coarse level of refinement with average at fine level of refinement.
Definition CD_EBCoarAve.H:32
LayoutData< BaseIVFAB< VoFStencil > > m_cellConservativeStencils
Stencils for conservative coarsening of volume data.
Definition CD_EBCoarAve.H:219
virtual void defineCellStencils() noexcept
Define stencils for the various coarsening functions of cell data.
Definition CD_EBCoarAve.cpp:118
int m_refRat
Refinement ratio.
Definition CD_EBCoarAve.H:157
LayoutData< BaseIVFAB< VoFStencil > > m_ebConservativeStencils
Stencils for conservative coarsening of EB data.
Definition CD_EBCoarAve.H:249
virtual void harmonicAverage(EBCellFAB &a_coarData, const EBCellFAB &a_fineData, const DataIndex &a_datInd, const int &a_coarVar, const int &a_fineVar) const noexcept
Do a harmonic average of cell-centered data when coarsening.
Definition CD_EBCoarAve.cpp:511
EBLevelGrid m_eblgCoFi
Coarsened fine grids.
Definition CD_EBCoarAve.H:172
virtual void define(const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const EBLevelGrid &a_eblgCoFi, const int &a_refRat) noexcept
Define function – puts operator in usable state.
Definition CD_EBCoarAve.cpp:77
LayoutData< std::map< int, FaceIterator > > m_irregFacesCoFi
Irregular faces on the coarsened fine layout.
Definition CD_EBCoarAve.H:202
EBLevelGrid m_eblgCoar
Coarse grids.
Definition CD_EBCoarAve.H:167
virtual void defineFaceStencils() noexcept
Define stencils for the various coarsening functions of face data.
Definition CD_EBCoarAve.cpp:194
LayoutData< BaseIVFAB< VoFStencil > > m_ebHarmonicStencils
Stencils for harmonic coarsening of EB data.
Definition CD_EBCoarAve.H:244
std::map< IntVect, Copier > m_ebCopiers
Pre-built copier for copying from m_eblgCoFi to m_eblgCoar.
Definition CD_EBCoarAve.H:187
std::map< IntVect, Copier > m_faceCopiers
Pre-built copier for copying from m_eblgCoFi to m_eblgCoar.
Definition CD_EBCoarAve.H:182
virtual void defineEBStencils() noexcept
Define stencils for the various coarsening functions of EB data.
Definition CD_EBCoarAve.cpp:276
LayoutData< VoFIterator > m_irregCellsCoFi
Irregular cells on the coarsened fine layout.
Definition CD_EBCoarAve.H:197
EBCoarAve() noexcept
Default constructor. Must call define afterwards.
Definition CD_EBCoarAve.cpp:24
virtual void conservativeAverage(EBCellFAB &a_coarData, const EBCellFAB &a_fineData, const DataIndex &a_datInd, const int &a_coarVar, const int &a_fineVar) const noexcept
Do a conservative average of cell-centered data when coarsening.
Definition CD_EBCoarAve.cpp:588
Type
Type of coarsening supported.
Definition CD_EBCoarAve.H:38
EBLevelGrid m_eblgFine
Fine grids.
Definition CD_EBCoarAve.H:162
LayoutData< IntVectSet > m_irregSetsCoFi
Irregular cells on the coarsened fine layout.
Definition CD_EBCoarAve.H:192
LayoutData< BaseIVFAB< VoFStencil > > m_cellArithmeticStencils
Stencils for arithmetic coarsening of volume data.
Definition CD_EBCoarAve.H:207
virtual void averageData(LevelData< EBCellFAB > &a_coarData, const LevelData< EBCellFAB > &a_fineData, const Interval &a_variables, const Average &a_average) const noexcept
Do an average of cell data.
Definition CD_EBCoarAve.cpp:365
LayoutData< BaseIVFAB< VoFStencil > > m_cellHarmonicStencils
Stencils for harmonic coarsening of volume data.
Definition CD_EBCoarAve.H:214
LayoutData< BaseIVFAB< VoFStencil > > m_ebArithmeticStencils
Stencils for arithmetic coarsening of EB data.
Definition CD_EBCoarAve.H:239
virtual void arithmeticAverage(EBCellFAB &a_coarData, const EBCellFAB &a_fineData, const DataIndex &a_datInd, const int &a_coarVar, const int &a_fineVar) const noexcept
Do an arithmetic average of cell-centered data when coarsening.
Definition CD_EBCoarAve.cpp:437
std::map< IntVect, Copier > m_cellCopiers
Pre-built copier for copying from m_eblgCoFi to m_eblgCoar.
Definition CD_EBCoarAve.H:177
LayoutData< std::map< int, BaseIFFAB< FaceStencil > > > m_faceHarmonicStencils
Stencils for harmonic coarsening of face data.
Definition CD_EBCoarAve.H:229
LayoutData< std::map< int, BaseIFFAB< FaceStencil > > > m_faceArithmeticStencils
Stencils for arithmetic coarsening of face data.
Definition CD_EBCoarAve.H:224
bool m_isDefined
Defined or not.
Definition CD_EBCoarAve.H:152
virtual void defineBuffers() noexcept
Define buffer storage.
Definition CD_EBCoarAve.cpp:359
LayoutData< std::map< int, BaseIFFAB< FaceStencil > > > m_faceConservativeStencils
Stencils for conservative coarsening of face data.
Definition CD_EBCoarAve.H:234