chombo-discharge
Loading...
Searching...
No Matches
CD_EBCentroidInterpolation.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_EBCENTROIDINTERPOLATION_H
14#define CD_EBCENTROIDINTERPOLATION_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 void
103
109
114
119
124
129
134
143 virtual bool
148
157 virtual bool
162
171 virtual bool
176
185 virtual bool
190
199
207 MonotonizedCentral(const Real& a_dwl, const Real& a_dwr) noexcept;
208
216 Superbee(const Real& a_dwl, const Real& a_dwr) noexcept;
217};
218
219#include <CD_NamespaceFooter.H>
220
221#endif
Class for interpolating cell-centered data to the EB centroid.
Definition CD_EBCentroidInterpolation.H:38
EBLevelGrid m_eblg
Grids.
Definition CD_EBCentroidInterpolation.H:113
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_EBCentroidInterpolation.cpp:161
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_EBCentroidInterpolation.cpp:226
EBCentroidInterpolation() noexcept
Default constructor. Must call the define function afterwards.
Definition CD_EBCentroidInterpolation.cpp:24
virtual void interpolate(LevelData< BaseIVFAB< Real > > &a_centroidData, const LevelData< EBCellFAB > &a_cellData) const noexcept
Function for interpolating data.
Definition CD_EBCentroidInterpolation.cpp:273
bool m_isDefined
Defined or not.
Definition CD_EBCentroidInterpolation.H:108
Real m_dx
Grid resolution.
Definition CD_EBCentroidInterpolation.H:123
static Real Superbee(const Real &a_dwl, const Real &a_dwr) noexcept
Superbee slope limiter.
Definition CD_EBCentroidInterpolation.cpp:461
LayoutData< VoFIterator > m_vofIterator
VoF iterator for iterating through the cut-cells.
Definition CD_EBCentroidInterpolation.H:128
Type
Supported interpolation types.
Definition CD_EBCentroidInterpolation.H:44
static Real MonotonizedCentral(const Real &a_dwl, const Real &a_dwr) noexcept
Monotonized central difference slope limiter.
Definition CD_EBCentroidInterpolation.cpp:446
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_EBCentroidInterpolation.cpp:178
Type m_interpolationType
Interpolation type.
Definition CD_EBCentroidInterpolation.H:118
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_EBCentroidInterpolation.cpp:198
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_EBCentroidInterpolation.cpp:46
static Real MinMod(const Real &a_dwl, const Real &a_dwr) noexcept
Minmod slope function.
Definition CD_EBCentroidInterpolation.cpp:434
LayoutData< BaseIVFAB< VoFStencil > > m_interpStencils
Stencils. This is only populated when the interpolation is expressible as a stencil.
Definition CD_EBCentroidInterpolation.H:133
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