chombo-discharge
Loading...
Searching...
No Matches
CD_EBCoarAve.H
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
13#ifndef CD_EBCOARAVE_H
14#define CD_EBCOARAVE_H
15
16// Chombo includes
17#include <AggStencil.H>
18#include <EBLevelGrid.H>
19#include <VoFIterator.H>
20#include <FaceIterator.H>
21
22// Our includes
23#include <CD_Average.H>
24#include <CD_NamespaceHeader.H>
25
32{
33public:
37 enum class Type
38 {
39 Arithmetic,
40 Conservative,
41 Harmonic
42 };
43
48
53
70 const int& a_refRat,
72
84
89
97 virtual void
101 const int& a_refRat) noexcept;
102
106 virtual void
108
116 virtual void
121
129 virtual void
134
142 virtual void
147
153
158
163
168
173
178
183
188
193
198
203
208
215
220
225
230
235
240
245
250
254 virtual void
256
260 virtual void
262
266 virtual void
268
272 virtual void
274
283 virtual void
287 const int& a_coarVar,
297 virtual void
301 const int& a_coarVar,
303
312 virtual void
316 const int& a_coarVar,
318
328 virtual void
332 const int& a_coarVar,
333 const int& a_fineVar,
335
345 virtual void
349 const int& a_coarVar,
350 const int& a_fineVar,
352
362 virtual void
366 const int& a_coarVar,
367 const int& a_fineVar,
369
378 virtual void
382 const int& a_coarVar,
384
393 virtual void
397 const int& a_coarVar,
399
408 virtual void
412 const int& a_coarVar,
414};
415
416#include <CD_NamespaceFooter.H>
417
418#endif
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
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38