chombo-discharge
Loading...
Searching...
No Matches
CD_EBMultigridInterpolator.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_EBMULTIGRIDINTERPOLATOR_H
14#define CD_EBMULTIGRIDINTERPOLATOR_H
15
16// Chombo includes
17#include <EBLevelGrid.H>
18#include <EBCellFAB.H>
19#include <DerivStencil.H>
20
21// Our includes
22#include <CD_NamespaceHeader.H>
23
28{
29public:
34
39
44
49 virtual int
50 getGhostCF() const = 0;
51
60 getInterpolationStencilEB(const VolIndex& a_fineGhost, const DataIndex& a_din) const noexcept = 0;
61
74 const DataIndex& a_din,
75 const int a_dir,
76 const Side::LoHiSide a_side) const noexcept = 0;
77
84 virtual void
87 const Interval a_variables) const = 0;
88
94 virtual void
96
106 virtual void
108};
109
110#include <CD_NamespaceFooter.H>
111
112#endif
Multigrid interpolator class.
Definition CD_EBMGLeastSquaresInterpolator.H:49
EBMultigridInterpolator()
Basic constructor.
virtual std::pair< DerivStencil, DerivStencil > getInterpolationStencilRegular(const IntVect &a_fineGhost, const DataIndex &a_din, const int a_dir, const Side::LoHiSide a_side) const noexcept=0
Get the interpolation stencil near the refinement boundary.
virtual void coarseFineInterpH(EBCellFAB &a_phiFine, const Interval a_variables, const DataIndex &a_din) const =0
Do homogeneous coarse-fine interpolation on a grid patch.
EBMultigridInterpolator(const EBMultigridInterpolator &a_other)=delete
Disallowed copy constructor.
virtual int getGhostCF() const =0
Return number of ghost cells across CF interface.
virtual std::pair< VoFStencil, VoFStencil > getInterpolationStencilEB(const VolIndex &a_fineGhost, const DataIndex &a_din) const noexcept=0
Get an explicit stencil for a ghost cell near the EB.
virtual ~EBMultigridInterpolator()
Destructor (does nothing)
virtual void coarseFineInterpH(LevelData< EBCellFAB > &a_phiFine, const Interval a_variables) const =0
Do homogeneous interpolation.
virtual void coarseFineInterp(LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phiCoar, const Interval a_variables) const =0
Do inhomogeneous interpolation.
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:26