forked from WarwickDumas/FocusFusion2D
-
Notifications
You must be signed in to change notification settings - Fork 0
/
flags.h
211 lines (184 loc) · 5.51 KB
/
flags.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
#ifndef FLAGS_H
#define FLAGS_H
char const ANTICLOCKWISE = -1;
char const CLOCKWISE = 1;
#define NEEDS_ANTI 1
#define NEEDS_CLOCK -1
int const DOMAIN_VERTEX = 0;
int const INNER_VERTEX = 1;
// note that "< 4" is a test that appears hardcoded sometimes
int const INNERMOST_EDGE = 4;
int const INNERMOST = 4;
int const CONCAVE_EDGE_VERTEX = 4;
int const CONVEX_EDGE_VERTEX = 5;
int const OUTERMOST = 5;
int const IMMOVABLE_OUTER = 5;
int const REVERSE_JZ_TRI = 6;
// Note that we should find we basically never hit the insulator
// As that would entail compressing the material too much
// between the insulator and the vertex.
// However we can populate a full tri mesh including tris
// that cross the insulator.
// We then put the vertex-centred cell corners along the insulator.
// Should outer boundary be immovable? Try it so.
// Triangle::u8domain_flag: keep this.
int const DOMAIN_TRIANGLE = 0;
int const DOMAIN_MINOR = 0;
int const CROSSING_INS = 1;
//int const CROSSING_INS_2OUT = 2;
int const OUT_OF_DOMAIN = 3;
int const INNER_FRILL = 4;
int const OUTER_FRILL = 5;
// The following does not really belong in this file:
// equations for solver:
int const NUMCELLEQNS = 4; // Leave this at 4 but it really is 1
int const GAUSS = 0, AMPX = 1, AMPY = 2, AMPZ = 3, IZ = 4;
// affector index:
int const PHI = 0, AX = 1, AY = 2, AZ = 3, UNITY = 4, PHI_ANODE = 5;
int const NUMREGRESS = 2;
int const JACOBI_REGR = 0, RICHARDSON_REGR = 1;
int const GAMMANUM = NUMREGRESS*NUMCELLEQNS+1; // ??
int const EZTUNING = 5;
#define MASS_ONLY 0
#define ALL_VARS 1
#define ELEC_X 4
#define ELEC_Y 5
#define ION_X 2
#define ION_Y 3
#define NEUT_X 0
#define NEUT_Y 1
#define DEPENDS_ON_SELF 0
#define DEPENDS_ON_NONE 0
#define DEPENDS_ON_DIRECT 1
#define DEPENDS_ON_INDIRECT 2
int const KAPPA_ION = 0;
int const KAPPA_E = 1;
int const KAPPA_NEUT = 2;
int const NU_IHEART = 3;
int const NU_EHEART = 4;
int const NU_NHEART = 5;
int const FEINT = 1;
int const REAL = 2;
#define SPECIES_NEUT 0
#define SPECIES_NEUTRAL 0
#define SPECIES_ION 1
#define SPECIES_ELECTRON 2
#define SPECIES_ELEC 2
#define OVERALL 8
// graph codes (not pruned) :
#define JZAZBXYEZ 4
#define JXYAXYBZEXY 5
#define JXYAXYBZ_FIXED 6
#define SIGMA_E_J 7
#define JXY_A2XY_RHOXY 8
#define EXY_RHO_PHI_JXY 9
#define VI_VE 10
#define GRAPH_PHI 11
#define GRAPH_EXY 12
#define GRAPH_NONE 13
#define GRAPH_PHI_BIRTHRATE 14
#define GRAPH_RHO 15
#define GRAPH_RHO_OLD 16
#define GRAPH_EPSILON 17
#define GRAPH_EPS_1D 17
#define GRAPH_EPS0 17
#define GRAPH_vexy 18
#define GRAPH_JXY 19
#define GRAPH_EPSILON_Z 20
#define GRAPH_EPS_Z 20
#define GRAPH_EPS3 20
#define GRAPH_AXY 21
#define GRAPH_AZ 22
#define GRAPH_BXY 23
#define GRAPH_BZ 24
#define GRAPH_JZ 25
#define GRAPH_FLAT_WIRE_MESH 26
#define GRAPH_EPSILON_XY 27
#define GRAPH_EPS_XY 27
#define GRAPH_EPS12 27
#define GRAPH_NEUTRAL_N 28
#define GRAPH_NEUTRAL_V 29
#define GRAPH_NEUTRAL_T 30
#define GRAPH_NEUT_N 28
#define GRAPH_NEUT_V 29
#define GRAPH_NEUT_T 30
#define GRAPH_ION_N 31
#define GRAPH_ION_T 32
#define GRAPH_ION_V 33
#define GRAPH_ELECTRON_N 34
#define GRAPH_ELECTRON_T 35
#define GRAPH_ELECTRON_V 36
#define GRAPH_ELEC_N 34
#define GRAPH_ELEC_T 35
#define GRAPH_ELEC_V 36
#define GRAPH_VEZ 37
#define GRAPH_TESTCURLBZ 38
#define GRAPH_TESTCURLBXY 39
#define JZAZBXYTEST 40
#define JXYAXYBZTEST 41
#define TOTAL 42
#define GRAPH_TOTAL_N 43
#define GRAPH_TOTAL_V 44
#define GRAPH_TOTAL_T 45
#define GRAPH_TOTAL_N_II 46
#define GRAPH_EZ 47
#define SIGMA_VEZ_J_E 49
#define GRAPH_E 50
#define GRAPH_J 51
#define GRAPH_SIGMA 52
#define GRAPH_REG 53
#define GRAPH_REG_XY 54
#define GRAPH_REG2 55
#define GRAPH_REG2_XY 56
#define GRAPH_AX 57
#define GRAPH_AY 58
#define GRAPH_EPS_X 59
#define GRAPH_EPS1 59
#define GRAPH_EPSILON_X 59
#define GRAPH_EPS_Y 60
#define GRAPH_EPS2 60
#define GRAPH_EPSILON_Y 60
#define GRAPH_VE0 61
#define GRAPH_VI0 62
#define GRAPH_JZ_TEMP 63
#define GRAPH_JXY_TEMP 64
#define GRAPH_JX_TEMP 65
#define GRAPH_JY_TEMP 66
#define GRAPH_RHO_STORED 67
#define GRAPH_MAGACCEL 68
#define GRAPH_BETA 69
#define GRAPH_ACCEL_TOTAL 70
#define GRAPH_ACCEL_ION 71
#define GRAPH_ML_TOTAL 72
#define GRAPH_ML_ION 73
#define ACCELS 74
#define OHM 75
#define JCOMPONENTS 76
#define GRAPH_VIZ 77
#define GRAPH_AIZ 78
#define GRAPH_SIGMA_E 79
#define GRAPH_VE0Z 80
#define VE0 81
#define GRAPH_SIGMATEMP 82
// Number of vars used to produce heights:
int const FLAG_FLAT_MESH = 0;
int const FLAG_DATA_HEIGHT = 1;
int const FLAG_VELOCITY_HEIGHT = 2;
int const FLAG_VEC3_HEIGHT = 3;
int const FLAT_MESH = 0;
int const DATA_HEIGHT = 1;
int const VELOCITY_HEIGHT = 2;
int const VEC3_HEIGHT = 3;
int const FLAG_COLOUR_MESH = 0;
int const FLAG_SEGUE_COLOUR = 1;
int const FLAG_VELOCITY_COLOUR = 2;
int const FLAG_CURRENT_COLOUR = 3;
int const FLAG_AZSEGUE_COLOUR = 4;
int const FLAG_IONISE_COLOUR = 5;
int const COLOUR_MESH = 0;
int const SEGUE_COLOUR = 1;
int const VELOCITY_COLOUR = 2;
int const CURRENT_COLOUR = 3;
int const AZSEGUE_COLOUR = 4;
int const IONISE_COLOUR = 5;
#endif