chombo-discharge
Loading...
Searching...
No Matches
CD_CellCentroidInterpolation.H
Go to the documentation of this file.
1/* chombo-discharge
2 * Copyright © 2025 SINTEF Energy Research.
3 * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4 */
5
12#ifndef CD_CellCentroidInterpolation_H
13#define CD_CellCentroidInterpolation_H
14
15// Chombo includes
16#include <EBLevelGrid.H>
17#include <LevelData.H>
18#include <LayoutData.H>
19#include <VoFIterator.H>
20#include <Stencils.H>
21#include <BaseIVFAB.H>
22#include <EBCellFAB.H>
23
24// Our includes
25#include <CD_NamespaceHeader.H>
26
37{
38public:
42 enum class Type
43 {
44 Constant, // Uses cell-centered value
45 Linear, // Uses bi/tri-linear interpolation
46 Taylor, // Uses Taylor-extrapolation
47 LeastSquares, // Uses least-squares reconstruction
48 PiecewiseLinear, // Uses piecewise-linear interpolation
49 MinMod, // Uses slope limiter with minmod slope
50 MonotonizedCentral, // Uses slope limiter with van Leer limiter
51 Superbee // Uses slope limiter with superbee limiter
52 };
53
58
63
71
76
83 virtual void
85
91 virtual void
93
100 virtual void
102
107 virtual void
109
117 void
119
125
130
135
140
145
150
158 virtual bool
163
171 virtual bool
176
184 virtual bool
189
197 virtual bool
202
210
217 MonotonizedCentral(const Real& a_dwl, const Real& a_dwr) const noexcept;
218
226};
227
228#include <CD_NamespaceFooter.H>
229
231
232#endif
Implementation of CD_CellCentroidInterpolation.H.
Class for interpolating cell-centered data to the cell centroid.
Definition CD_CellCentroidInterpolation.H:37
LayoutData< VoFIterator > m_vofIterator
VoF iterator for iterating through the cut-cells.
Definition CD_CellCentroidInterpolation.H:144
virtual bool getLinearStencil(VoFStencil &a_stencil, const VolIndex &a_vof, const EBISBox &a_ebisBox, const ProblemDomain &a_domain) const noexcept
Utility function for fetching a bilinear/trilinear stencil.
Definition CD_CellCentroidInterpolation.cpp:162
LayoutData< BaseIVFAB< VoFStencil > > m_interpStencils
Stencils. This is only populated when the interpolation is expressable as a stencil.
Definition CD_CellCentroidInterpolation.H:149
virtual bool getLeastSquaresStencil(VoFStencil &a_stencil, const VolIndex &a_vof, const EBISBox &a_ebisBox, const ProblemDomain &a_domain) const noexcept
Utility function for fetching a least-squares based interpolation stencil.
Definition CD_CellCentroidInterpolation.cpp:199
virtual void interpolate(LevelData< BaseIVFAB< Real > > &a_centroidData, const LevelData< EBCellFAB > &a_cellData) const noexcept
Function for interpolating data.
Definition CD_CellCentroidInterpolation.cpp:274
bool m_isDefined
Defined or not.
Definition CD_CellCentroidInterpolation.H:124
virtual bool getTaylorExtrapolationStencil(VoFStencil &a_stencil, const VolIndex &a_vof, const EBISBox &a_ebisBox, const ProblemDomain &a_domain) const noexcept
Utility function for fetching a Taylor-extrapolation stencil.
Definition CD_CellCentroidInterpolation.cpp:179
Real MonotonizedCentral(const Real &a_dwl, const Real &a_dwr) const noexcept
Monotonized central difference slope limiter.
Definition CD_CellCentroidInterpolationImplem.H:173
Real Superbee(const Real &a_dwl, const Real &a_dwr) const noexcept
Superbee slope limiter.
Definition CD_CellCentroidInterpolationImplem.H:188
EBLevelGrid m_eblg
Grids.
Definition CD_CellCentroidInterpolation.H:129
Type
Supported interpolation types.
Definition CD_CellCentroidInterpolation.H:43
Real m_dx
Grid resolution.
Definition CD_CellCentroidInterpolation.H:139
virtual void define(const EBLevelGrid &a_eblg, const Real &a_dx, const Type &a_interpolationType) noexcept
Define function. Puts object in usable state.
Definition CD_CellCentroidInterpolation.cpp:47
virtual bool getPiecewiseLinearStencil(VoFStencil &a_stencil, const VolIndex &a_vof, const EBISBox &a_ebisBox, const ProblemDomain &a_domain) const noexcept
Utility function for fetching a piecewise linear stencil.
Definition CD_CellCentroidInterpolation.cpp:227
CellCentroidInterpolation() noexcept
Default constructor. Must call the define function afterwards.
Definition CD_CellCentroidInterpolation.cpp:23
Type m_interpolationType
Interpolation type.
Definition CD_CellCentroidInterpolation.H:134
Real MinMod(const Real &a_dwl, const Real &a_dwr) const noexcept
Minmod slope function.
Definition CD_CellCentroidInterpolationImplem.H:161
Static class containing useful routines for (weighted) least squares polynomial reconstruction.
Definition CD_LeastSquares.H:31
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37