Chombo + EB  3.0
EBConstantCFInterp.H
Go to the documentation of this file.
1 #ifdef CH_LANG_CC
2 /*
3  * _______ __
4  * / ___/ / ___ __ _ / / ___
5  * / /__/ _ \/ _ \/ V \/ _ \/ _ \
6  * \___/_//_/\___/_/_/_/_.__/\___/
7  * Please refer to Copyright.txt, in Chombo's root directory.
8  */
9 #endif
10 
11 #ifndef _EBCONSTANTCFINTERP_H_
12 #define _EBCONSTANTCFINTERP_H_
13 
14 #include "REAL.H"
15 #include "Box.H"
16 #include "RefCountedPtr.H"
17 
18 #include "EBCellFAB.H"
19 #include "EBISLayout.H"
20 #include "CornerCopier.H"
21 #include "NamespaceHeader.H"
22 
23 ///
24 /**
25  Class to do constant extrapolation of data onto ONE ghost cell
26  from neighboring internal data.
27  */
29 {
30 public:
31  ///
33  const EBISLayout& a_ebisl,
34  const ProblemDomain& a_domain,
35  const IntVect& a_nGhost);
36 
37  ///
39 
40  ///
41  /**
42  fills ghost cells over coarse fine interpolation with constant extrapolation
43  */
44  void interpolate(LevelData<EBCellFAB>& a_soln);
45 
46 protected:
47 
53  ///
54  void interpolate(EBCellFAB& a_phi,
55  const DataIndex& a_datInd,
56  int a_idir,
57  Side::LoHiSide a_hiorlo);
58 
59 
60 private:
61 
62  //strong construction is forced here
64  {
65  MayDay::Error("invalid operator");
66  }
67 
68  //copy constructor and operator= disallowed for all the usual reasons
70  {
71  MayDay::Error("invalid operator");
72  }
73 
74  void operator=(const EBConstantCFInterp& a_opin)
75  {
76  MayDay::Error("invalid operator");
77  }
78 };
79 
80 #include "NamespaceFooter.H"
81 #endif
EBConstantCFInterp()
Definition: EBConstantCFInterp.H:63
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:130
Definition: EBConstantCFInterp.H:28
void interpolate(LevelData< EBCellFAB > &a_soln)
Definition: EBCellFAB.H:29
IntVect m_nGhost
Definition: EBConstantCFInterp.H:51
CornerCopier m_cornerCopier
Definition: EBConstantCFInterp.H:52
void operator=(const EBConstantCFInterp &a_opin)
Definition: EBConstantCFInterp.H:74
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:31
LoHiSide
Definition: LoHiSide.H:27
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
Definition: DataIndex.H:112
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
An even stranger (than Copier) thing to copy from ghost cells to corner ghost cells.
Definition: CornerCopier.H:31
Definition: EBISLayout.H:39
EBISLayout m_ebisl
Definition: EBConstantCFInterp.H:49
DisjointBoxLayout m_dbl
Definition: EBConstantCFInterp.H:48
EBConstantCFInterp(const EBConstantCFInterp &a_opin)
Definition: EBConstantCFInterp.H:69
ProblemDomain m_domain
Definition: EBConstantCFInterp.H:50