Chombo + EB + MF  3.2
Notation.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 _NOTATION_H_
12 #define _NOTATION_H_
13 
14 #include <map>
15 
16 #include "IndexTM.H"
17 #include "SPACE.H"
18 
19 #include "NamespaceHeader.H"
20 
21 #ifdef CH_REALM
22 
23 #if CH_SPACEDIM != 2
24 void THIS_IS_AN_ERROR_MESSAGE(void)
25 {
26  REALM_WILL_ONLY_COMPILE_WHEN_CH_SPACEDIM_IS_2;
27 }
28 #else
29 #define GLOBALDIM 3
30 #define USING_TOP_FACE_MOMENTS 1
31 #endif
32 
33 #else
34 
35 #define GLOBALDIM SpaceDim
36 #define USING_TOP_FACE_MOMENTS 0
37 
38 #endif
39 
40 #define RECURSIVE_GEOMETRY_GENERATION 0
41 
42 #if RECURSIVE_GEOMETRY_GENERATION == 0
43 
44 // Order of the Taylor expansion of the normal used to compute the EB
45 // geometry. Only 0 or 1 are valid currently.
46 #define GEOMETRY_ORDER 1
47 
48 // The degree of the moments computed on the embedded boundary
49 #define GEOMETRY_DEGREEP 2
50 
51 #else
52 
53 // Order of the Taylor expansion of the normal used to compute the EB
54 // geometry for the maximum degree moments
55 #define GEOMETRY_ORDERPMAX 1
56 
57 // The maximum degree of the moments computed on the embedded boundary;
58 // the maximum degree of the volume moments is one less than this
59 #define GEOMETRY_DEGREEPMAX 2
60 
61 #endif
62 
63 // true -> use constaints; false -> use clipping
64 #define GEOMETRY_CONSTRAINTS true
65 
66 // Value 1 = refining in Z direction; 0 = not refining
67 #define REFINEMENT_IN_ZDIRECTION 0
68 
69 // Value 1 = refining based on residuals value; 0 = not refining
70 #define REFINEMENT_WITH_RESIDUALS 0
71 
72 // Value 1 = making an EBIS; 0 = not making an EBIS
73 #define MAKING_EB_GEOM 1
74 
75 // General constants
76 #define LARGEINTVAL -999999999
77 #define LARGEREALVAL 123456789.0
78 #define TOLERANCE 1.0e-10
79 #define MACHINEPRECISION 1.0e-14
80 #define REFINEMENTTHRESHOLD 1.0e-14
81 
82 // These terms are possible values for cornerSigns
83 #define OUT -1
84 #define ON 0
85 #define IN 1
86 
87 // These are for indexing into boundary maps
88 #define BDID_DIR 0
89 #define BDID_HILO 1
90 
91 // Ordering for map
92 template<typename T> struct LexLT
93 {
94  bool operator()(const T& a_i1,
95  const T& a_i2) const
96  {
97  return a_i1.lexLT(a_i2);
98  }
99 };
100 
102 {
103  EBMoment = 0,
105 };
106 
107 // N-tuples of integers and reals
110 typedef IndexTM<int,GLOBALDIM-1 > IvgLess1;
112 
113 #include "NamespaceFooter.H"
114 
115 #endif
IndexTM< int, GLOBALDIM > IvgDim
Definition: Notation.H:109
bool operator()(const T &a_i1, const T &a_i2) const
Definition: Notation.H:94
EBorVol
Definition: Notation.H:101
IndexTM< int, GLOBALDIM-1 > IvgLess1
Definition: Notation.H:110
Definition: IndexTM.H:36
Definition: Notation.H:103
Definition: Notation.H:104
void THIS_IS_AN_ERROR_MESSAGE(void)
Definition: EBAMRPoissonOp.H:66
Definition: Notation.H:92
IndexTM< Real, GLOBALDIM > RvgDim
Definition: Notation.H:111
IndexTM< int, 2 > Iv2
Definition: Notation.H:108
#define GLOBALDIM
Definition: Notation.H:35