chombo-discharge
Loading...
Searching...
No Matches
CD_EBGhostCellInterpolator.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_EBGHOSTCELLINTERPOLATOR_H
14#define CD_EBGHOSTCELLINTERPOLATOR_H
15
16// Std includes
17#include <map>
18
19// Chombo includes
20#include <EBLevelGrid.H>
21
22// Our includes
23#include <CD_Location.H>
24#include <CD_NamespaceHeader.H>
25
33{
34public:
38 enum Type
39 {
40 PWC,
41 MinMod,
42 MonotonizedCentral,
43 Superbee
44 };
45
50
55
69 const int a_refRat,
71
76
86 virtual void
91 const int a_refRat,
93
101 virtual void
106
112
117
122
127
132
137
143
148
153
160
165
170
176
180 virtual void
182
186 virtual void
188
198 virtual void
202 const int a_fineVar,
203 const int a_coarVar,
205
215 virtual void
219 const int a_fineVar,
220 const int a_coarVar,
222
231
240
249};
250
251#include <CD_NamespaceFooter.H>
252
253#endif
Declaration of cell positions.
Class which can interpolate ghost cells across the coarse-fine interface. To select an interpolation ...
Definition CD_EBGhostCellInterpolator.H:33
virtual void interpolateRegular(FArrayBox &a_phiFine, const FArrayBox &a_phiCoar, const DataIndex &a_dit, const int a_fineVar, const int a_coarVar, const Type a_interpType) const noexcept
Regular interpolation, as if the EB was not there.
Definition CD_EBGhostCellInterpolator.cpp:214
LayoutData< std::map< std::pair< int, Side::LoHiSide >, Box > > m_regularGhostRegions
Regular ghost regions to be interpolated.
Definition CD_EBGhostCellInterpolator.H:147
EBGhostCellInterpolator() noexcept
Weak constructor. Need to call define afterwards.
Definition CD_EBGhostCellInterpolator.cpp:25
LayoutData< VoFIterator > m_coarIrregCells
Coarse-grid cells on the caorse-side of the interface that are irregular cells.
Definition CD_EBGhostCellInterpolator.H:169
virtual void defineBuffers() noexcept
Define buffers.
Definition CD_EBGhostCellInterpolator.cpp:159
IntVect m_ghostVector
Minimum number of ghost cells in input data.
Definition CD_EBGhostCellInterpolator.H:131
static Real monotonizedCentral(const Real &dwl, const Real &dwr) noexcept
Monotonized central difference slope limiter.
Definition CD_EBGhostCellInterpolator.cpp:484
virtual void define(const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoFi, const EBLevelGrid &a_eblgCoar, const IntVect &a_ghostVector, const int a_refRat, const int a_ghostCF) noexcept
Define method. Puts object in usable state.
Definition CD_EBGhostCellInterpolator.cpp:48
static Real minmod(const Real &dwl, const Real &dwr) noexcept
minmod slope function.
Definition CD_EBGhostCellInterpolator.cpp:455
Copier m_copier
Copier for making copying from m_eblgCoar to m_grownCoarData go faster.
Definition CD_EBGhostCellInterpolator.H:152
virtual void defineGhostRegions() noexcept
Define ghost regions to be interpolated.
Definition CD_EBGhostCellInterpolator.cpp:74
bool m_isDefined
Is defined or not.
Definition CD_EBGhostCellInterpolator.H:111
virtual void interpolateIrregular(EBCellFAB &a_phiFine, const EBCellFAB &a_phiCoar, const DataIndex &a_dit, const int a_fineVar, const int a_coarVar, const Type a_interpType) const noexcept
Ghost cell interpolation near the EB, correcting slopes that broke in interpolateRegular.
Definition CD_EBGhostCellInterpolator.cpp:336
LayoutData< BaseIVFAB< VolIndex > > m_coarsenedFineGhosts
List of coarse-grid cells that appear through coarsening a fine-grid ghost cell.
Definition CD_EBGhostCellInterpolator.H:159
EBLevelGrid m_eblgFine
Fine grids.
Definition CD_EBGhostCellInterpolator.H:116
LayoutData< VoFIterator > m_fineIrregCells
Fine-grid ghost cells on the coarse-fine interface that overlap an irregular coarse cell.
Definition CD_EBGhostCellInterpolator.H:164
EBLevelGrid m_eblgCoar
Coarse grids.
Definition CD_EBGhostCellInterpolator.H:121
EBLevelGrid m_eblgCoFi
Coarsened fine grids.
Definition CD_EBGhostCellInterpolator.H:126
virtual void interpolate(LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phiCoar, const Interval a_variables, const Type a_interpType) const noexcept
Do inhomogeneous interpolation.
Definition CD_EBGhostCellInterpolator.cpp:167
int m_refRat
Refinement factor between fine and coarse level.
Definition CD_EBGhostCellInterpolator.H:136
Type
Type of interpolation slopes supported.
Definition CD_EBGhostCellInterpolator.H:39
LayoutData< BaseIVFAB< Real > > m_coarIrregSlopes
Buffer data defined on the coarsened fine grids (over m_coarIrregCells). Used for holding slopes in t...
Definition CD_EBGhostCellInterpolator.H:175
int m_ghostCF
Number of ghost cells to fill across coarse-fine interface.
Definition CD_EBGhostCellInterpolator.H:142
static Real superbee(const Real &dwl, const Real &dwr) noexcept
Superbee slope limiter.
Definition CD_EBGhostCellInterpolator.cpp:467
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38