chombo-discharge
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 
19 // Our includes
20 #include <CD_NamespaceHeader.H>
21 
26 {
27 public:
32 
37 
42 
46  virtual int
47  getGhostCF() const = 0;
48 
55  virtual void
56  coarseFineInterp(LevelData<EBCellFAB>& a_phiFine,
57  const LevelData<EBCellFAB>& a_phiCoar,
58  const Interval a_variables) const = 0;
59 
65  virtual void
66  coarseFineInterpH(LevelData<EBCellFAB>& a_phiFine, const Interval a_variables) const = 0;
67 
77  virtual void
78  coarseFineInterpH(EBCellFAB& a_phiFine, const Interval a_variables, const DataIndex& a_dit) const = 0;
79 };
80 
81 #include <CD_NamespaceFooter.H>
82 
83 #endif
Multigrid interpolator class.
Definition: CD_EBMGLeastSquaresInterpolator.H:48
EBMultigridInterpolator()
Disallowed constructor.
EBMultigridInterpolator(const EBMultigridInterpolator &a_other)=delete
Disallowed copy constructor.
virtual void coarseFineInterpH(EBCellFAB &a_phiFine, const Interval a_variables, const DataIndex &a_dit) const =0
Do homogeneous coarse-fine interpolation on a grid patch.
virtual int getGhostCF() const =0
Return number of ghost cells across CF interface.
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.