chombo-discharge
Loading...
Searching...
No Matches
CD_CellCentroidInterpolation.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_CELLCENTROIDINTERPOLATION_H
14#define CD_CELLCENTROIDINTERPOLATION_H
15
16// Chombo includes
17#include <EBLevelGrid.H>
18#include <LevelData.H>
19#include <LayoutData.H>
20#include <VoFIterator.H>
21#include <Stencils.H>
22#include <BaseIVFAB.H>
23#include <EBCellFAB.H>
24
25// Our includes
26#include <CD_NamespaceHeader.H>
27
38{
39public:
43 enum class Type
44 {
45 Constant, // Uses cell-centered value
46 Linear, // Uses bi/tri-linear interpolation
47 Taylor, // Uses Taylor-extrapolation
48 LeastSquares, // Uses least-squares reconstruction
49 PiecewiseLinear, // Uses piecewise-linear interpolation
50 MinMod, // Uses slope limiter with minmod slope
51 MonotonizedCentral, // Uses slope limiter with van Leer limiter
52 Superbee // Uses slope limiter with superbee limiter
53 };
54
59
64
72
77
84 virtual void
86
92 virtual void
94
101 virtual void
103
108 virtual void
110
119 void
121
127
132
137
142
147
152
161 virtual bool
166
175 virtual bool
180
189 virtual bool
194
203 virtual bool
208
217
225 MonotonizedCentral(const Real& a_dwl, const Real& a_dwr) const noexcept;
226
235};
236
237#include <CD_NamespaceFooter.H>
238
240
241#endif
Implementation of CD_CellCentroidInterpolation.H.
Class for interpolating cell-centered data to the cell centroid.
Definition CD_CellCentroidInterpolation.H:38
LayoutData< VoFIterator > m_vofIterator
VoF iterator for iterating through the cut-cells.
Definition CD_CellCentroidInterpolation.H:146
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:160
LayoutData< BaseIVFAB< VoFStencil > > m_interpStencils
Stencils. This is only populated when the interpolation is expressible as a stencil.
Definition CD_CellCentroidInterpolation.H:151
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:197
virtual void interpolate(LevelData< BaseIVFAB< Real > > &a_centroidData, const LevelData< EBCellFAB > &a_cellData) const noexcept
Function for interpolating data.
Definition CD_CellCentroidInterpolation.cpp:272
bool m_isDefined
Defined or not.
Definition CD_CellCentroidInterpolation.H:126
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:177
Real MonotonizedCentral(const Real &a_dwl, const Real &a_dwr) const noexcept
Monotonized central difference slope limiter.
Definition CD_CellCentroidInterpolationImplem.H:174
Real Superbee(const Real &a_dwl, const Real &a_dwr) const noexcept
Superbee slope limiter.
Definition CD_CellCentroidInterpolationImplem.H:189
EBLevelGrid m_eblg
Grids.
Definition CD_CellCentroidInterpolation.H:131
Type
Supported interpolation types.
Definition CD_CellCentroidInterpolation.H:44
Real m_dx
Grid resolution.
Definition CD_CellCentroidInterpolation.H:141
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:45
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:225
CellCentroidInterpolation() noexcept
Default constructor. Must call the define function afterwards.
Definition CD_CellCentroidInterpolation.cpp:24
Type m_interpolationType
Interpolation type.
Definition CD_CellCentroidInterpolation.H:136
Real MinMod(const Real &a_dwl, const Real &a_dwr) const noexcept
Minmod slope function.
Definition CD_CellCentroidInterpolationImplem.H:162
Static class containing useful routines for (weighted) least squares polynomial reconstruction.
Definition CD_LeastSquares.H:32
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38