chombo-discharge
Loading...
Searching...
No Matches
CD_EBMultigridInterpolator.H
Go to the documentation of this file.
1/* chombo-discharge
2 * Copyright © 2021 SINTEF Energy Research.
3 * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4 */
5
12#ifndef CD_EBMultigridInterpolator_H
13#define CD_EBMultigridInterpolator_H
14
15// Chombo includes
16#include <EBLevelGrid.H>
17#include <EBCellFAB.H>
18#include <DerivStencil.H>
19
20// Our includes
21#include <CD_NamespaceHeader.H>
22
27{
28public:
33
38
43
47 virtual int
48 getGhostCF() const = 0;
49
58 getInterpolationStencilEB(const VolIndex& a_fineGhost, const DataIndex& a_din) const noexcept = 0;
59
71 const DataIndex& a_din,
72 const int a_dir,
73 const Side::LoHiSide a_side) const noexcept = 0;
74
81 virtual void
84 const Interval a_variables) const = 0;
85
91 virtual void
93
103 virtual void
105};
106
107#include <CD_NamespaceFooter.H>
108
109#endif
Multigrid interpolator class.
Definition CD_EBMGLeastSquaresInterpolator.H:48
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:37
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25