Carmen Code
 All Classes Files Functions Variables Macros Pages
Parameters.h
Go to the documentation of this file.
1 /***************************************************************************
2  Parameters.h - description
3  -------------------
4  begin : Thu Jun 7 2001
5  copyright : (C) 2001 by Olivier Roussel & Alexei Tsigulin
6  email : roussel@ict.uni-karlsruhe.de, lpsoft@mail.ru
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************
17 ______________________________________________________________________________________________
18 
19 DESCRIPTION
20 
21 This header contains all parameters as global variables.
22 ______________________________________________________________________________________________
23 
24 PUBLIC VARIABLES
25 
26 1/ Parameters for time integration and performance analysis
27 ______________________________________________________________________________________________
28 
29 */
34 #include <stdlib.h>
35 
36  extern int Cluster;
37  extern int StepNb;
38  extern int StepNo;
39  extern int IterationNb;
40  extern int IterationNbRef;
41  extern int IterationNo;
42  extern real CFL;
43  extern real TimeStep;
44  extern real PhysicalTime;
45  extern Timer CPUTime;
46  extern double FVTimeRef;
47  extern int Refresh;
48  extern int RefreshNb;
49  extern real PrintTime1;
50  extern real PrintTime2;
51  extern real PrintTime3;
52  extern real PrintTime4;
53  extern real PrintTime5;
54  extern real PrintTime6;
55  extern int PrintIt1;
56  extern int PrintIt2;
57  extern int PrintIt3;
58  extern int PrintIt4;
59  extern int PrintIt5;
60  extern int PrintIt6;
61  extern int PrintEvery;
62  extern int ImageNb;
63  extern bool TimeAveraging;
64  extern real StartTimeAveraging;
65  extern bool Recovery;
66  extern bool UseBackup;
67  extern bool ConstantTimeStep;
68  extern real ElapsedTime;
69  extern real SpaceStep;
70  extern bool ComputeCPUTimeRef;
71 /*
72 ______________________________________________________________________________________________
73 
74 2/ Parameters for equations
75 
76 * EquationType
77  ------------
78  1 = advection-diffusion
79  2 = diffusive Burgers
80  3 = Flame front
81  4 = Flame ball
82  5 = Flame ball-vortex
83  6 = Navier-Stokes
84 
85 ______________________________________________________________________________________________
86 
87 */
88  extern int SchemeNb;
89  extern int IcNb;
90  extern int LimiterNo;
91  extern int QuantityNb;
92  extern int EquationType;
93  extern int ScalarEqNb;
94  extern int DivClean;
96 /*
97 ______________________________________________________________________________________________
98 
99 3/ Geometry
100 ______________________________________________________________________________________________
101 
102 */
103  extern int Dimension;
104  extern int ChildNb;
105  extern int Coordinate;
106  extern real XMin[4];
107  extern real XMax[4];
108  extern int CMin[4];
109  extern int CMax[4];
110  extern bool UseBoundaryRegions;
112 /*
113 ______________________________________________________________________________________________
114 
115 4/ Parameters for multiresolution
116 ______________________________________________________________________________________________
117 
118 */
119  extern bool Multiresolution;
120  extern bool TimeAdaptivity;
121  extern int TimeAdaptivityFactor;
122  extern int CellNb;
123  extern int LeafNb;
124  extern real TotalCellNb;
125  extern real TotalLeafNb;
126  extern int ScaleNb;
127  extern int ScaleNbRef;
128  extern int PrintMoreScales;
129  extern real Tolerance;
130  extern real ToleranceScale;
131  extern real ToleranceInit;
132  extern real PenalizeFactor;
133  extern real ExpectedCompression;
134  extern bool CVS;
135  extern bool LES;
136  extern int ThresholdNorm;
137  extern real SmoothCoeff;
138 /*
139 ______________________________________________________________________________________________
140 
141 5/ Physics
142 ______________________________________________________________________________________________
143 
144 */
145  extern real eta;
146  extern real Gamma;
147  extern bool Resistivity;
148  extern bool Diffusivity;
149  extern real chi;
150  extern real Celerity;
151  extern real Viscosity;
152  extern real Re;
153  extern real Pr;
154  extern real Ma;
155  extern real Fr;
156  extern real TRef;
157  extern real ModelConstant;
158  extern real ThermalConduction;
159  extern real ConstantForce;
160  extern real Circulation;
161  extern bool ComputeTemp;
162 /*
163 ______________________________________________________________________________________________
164 
165 6/ Chemistry
166 ______________________________________________________________________________________________
167 
168 */
169  extern real Alpha;
170  extern real Ze;
171  extern real Le;
172  extern real Sigma;
173 /*
174 ______________________________________________________________________________________________
175 
176 Integral values
177 ______________________________________________________________________________________________
178 
179 */
180  extern real ErrorMax;
181  extern real ErrorGlobalMax;
182  extern real ErrorMid;
183  extern real ErrorGlobalMid;
184  extern real ErrorL2;
185  extern real ErrorGlobalL2;
186  extern int ErrorNb;
187  extern int ErrorGlobalNb;
189  extern real cr;
190  extern real Helicity;
191  extern real GlobalMomentum;
192  extern real GlobalEnergy;
193  extern real GlobalEnstrophy;
194  extern real ExactMomentum;
195  extern real ExactEnergy;
196  extern real GlobalMomentumOld;
197  extern real GlobalVolume;
199  extern real EigenvalueZ;
200  extern real EigenvalueY;
201  extern real EigenvalueX;
202  extern real Eigenvalue;
203  extern real EigenvalueMax;
204  extern Vector QuantityMax;
205  extern Vector QuantityAverage;
207  // ---Parameters used in the Runge-Kutta-Fehlberg (RKF) method to adapt time step ---
208 
209  extern real RKFError;
210  extern real RKFAccuracyFactor;
211  extern real RKFSafetyFactor;
213  // --- Global variables for flame computations (EquationType = 3,4,5)
214 
215  extern real FlameVelocity;
216  extern real GlobalReactionRate;
217  extern real AverageRadius;
218  extern real PreviousAverageRadius;
220  extern real XCenter[4];
221  extern real ReactionRateMax;
223  // ---Integral values for Navier-Stokes computations ---
224 
225  extern real IntVorticity;
226  extern real IntDensity;
227  extern Vector IntMomentum;
228  extern real IntEnergy;
229  extern real BaroclinicEffect;
231 /*
232 ______________________________________________________________________________________________
233 
234 Others
235 ______________________________________________________________________________________________
236 
237 */
238  extern real DIVB;
239  extern real DIVBMax;
240  extern real Bdivergence;
241  extern real PsiGrad;
242  extern real ch;
243  extern real auxvar;
244  extern real pi;
245  extern bool debug;
246  extern bool FluxCorrection;
247  extern real CarmenVersion;
248  extern FILE* GlobalFile;
249  extern int PostProcessing;
250  extern bool DataIsBinary;
251  extern bool ZipData;
252  extern bool WriteAsPoints;
255 /*
256 ______________________________________________________________________________________________
257 
258 parallel
259 ______________________________________________________________________________________________
260 
261 */
262 
263 
264 extern int AllTaskScaleNb;
265 extern int CPUScales;
266 extern int size;
267 extern int rank;
268 extern real AllXMin[4];
269 extern real AllXMax[4];
270 
271 extern int NeighbourNb;
273 extern int coords[3];
274 extern int CartDims[3];
275 
276 extern int CellElementsNb;
277 extern int MaxCellElementsNb;
278 
279 extern int one_D;
280 extern int two_D;
281 
282 extern int MPISendType;
283 extern int MPIRecvType;
284 
285 extern Timer CommTimer;
287  //ranks of the neighbours processors
288 extern int rank_il;
289 extern int rank_iu;
290 extern int rank_jl;
291 extern int rank_ju; //etc..
292 extern int rank_kl;
293 extern int rank_ku;
294 
295 extern int WhatSend; //see the manual for the more information about this parameters
296 extern int SendD;
297 extern int SendGrad;
298 extern int SendQ;
299 extern int SendQs;
300 extern int SendX;
301 extern int SenddX;
302 
303 
304 #if defined PARMPI //MPI Data Types
305 extern MPI_Datatype MPItypeSiL;
306 extern MPI_Datatype MPItypeSiU;
307 extern MPI_Datatype MPItypeRiL;
308 extern MPI_Datatype MPItypeRiU;
309 extern MPI_Datatype MPItypeSjL;
310 extern MPI_Datatype MPItypeSjU;
311 extern MPI_Datatype MPItypeRjL;
312 extern MPI_Datatype MPItypeRjU;
313 extern MPI_Datatype MPItypeSkL;
314 extern MPI_Datatype MPItypeSkU;
315 extern MPI_Datatype MPItypeRkL;
316 extern MPI_Datatype MPItypeRkU;
317 
318 extern MPI_Aint *disp; //MPI Types buffers
319 extern int *blocklen;
320 
321 extern MPI_Comm comm_cart; //MPI Topology
322 
323 extern real *MPIbuffer; //Additional Buffer for the MPI
324 
325 extern MPI_Status st[12]; //Status of MPI non-blocking operations
326 extern MPI_Request req[12];
327 #endif
328 
329 extern char BackupName[255]; //Name of the carmen back up files (cart coordinates of the current CPU + standart name "carmen.bak")
330 
331 // End file
real CFL
Definition: Parameters.cpp:39
bool LES
Definition: Parameters.cpp:98
real PrintTime3
Definition: Parameters.cpp:46
real TotalCellNb
Definition: Parameters.cpp:177
real AllXMin[4]
Definition: Parameters.cpp:226
real Ma
Definition: Parameters.cpp:110
real ErrorL2
Definition: Parameters.cpp:183
real Gamma
Definition: Parameters.cpp:109
int rank_ju
Definition: Parameters.cpp:244
int PrintIt5
Definition: Parameters.cpp:54
int ErrorGlobalNb
Definition: Parameters.cpp:186
int ScalarEqNb
Definition: Parameters.cpp:69
bool UseBackup
Definition: Parameters.cpp:58
real ErrorMax
Definition: Parameters.cpp:179
int coords[3]
Definition: Parameters.cpp:230
int PrintIt1
Definition: Parameters.cpp:50
bool TimeAdaptivity
Definition: Parameters.cpp:85
real ExactEnergy
Definition: Parameters.cpp:200
int RefreshNb
Definition: Parameters.cpp:43
real Bdivergence
Definition: Parameters.cpp:138
real Sigma
Definition: Parameters.cpp:132
real auxvar
Definition: Parameters.cpp:141
bool ConstantTimeStep
Definition: Parameters.cpp:94
int MPIRecvType
Definition: Parameters.cpp:239
int ScaleNbRef
Definition: Parameters.cpp:88
int ErrorNb
Definition: Parameters.cpp:185
Standard class for every vector in Carmen.
Definition: Vector.h:29
real GlobalMomentum
Definition: Parameters.cpp:196
real PenalizeFactor
Definition: Parameters.cpp:93
int SendD
Definition: Parameters.cpp:250
real Celerity
Definition: Parameters.cpp:105
real EigenvalueX
Definition: Parameters.cpp:158
real PrintTime5
Definition: Parameters.cpp:48
real Pr
Definition: Parameters.cpp:108
int rank_jl
Definition: Parameters.cpp:244
int DivClean
Definition: Parameters.cpp:70
int two_D
Definition: Parameters.cpp:236
int SchemeNb
Definition: Parameters.cpp:67
bool WriteAsPoints
Definition: Parameters.cpp:147
int IterationNo
Definition: Parameters.cpp:168
real EigenvalueY
Definition: Parameters.cpp:159
real GlobalEnstrophy
Definition: Parameters.cpp:198
int TimeAdaptivityFactor
Definition: Parameters.cpp:86
real AllXMax[4]
Definition: Parameters.cpp:226
real Ze
Definition: Parameters.cpp:130
bool debug
Definition: Parameters.cpp:142
int StepNb
Definition: Parameters.cpp:36
real ErrorGlobalL2
Definition: Parameters.cpp:184
char BackupName[255]
Definition: Parameters.cpp:257
real Eigenvalue
Definition: Parameters.cpp:157
real TimeStep
Definition: Parameters.cpp:40
int EquationType
Definition: Parameters.cpp:66
real DIVB
Definition: Parameters.cpp:136
int Cluster
Definition: Parameters.cpp:170
real GlobalMomentumOld
Definition: Parameters.cpp:202
int StepNo
Definition: Parameters.cpp:167
real PsiGrad
Definition: Parameters.cpp:139
real Helicity
Definition: Parameters.cpp:195
int SendQ
Definition: Parameters.cpp:252
real ErrorGlobalMax
Definition: Parameters.cpp:180
int ScaleNb
Definition: Parameters.cpp:87
int QuantityNb
Definition: Parameters.cpp:171
int IcNb
Definition: Parameters.cpp:89
int rank_il
Definition: Parameters.cpp:243
real EigenvalueMax
Definition: Parameters.cpp:161
int CMax[4]
Definition: Parameters.cpp:79
Vector QuantityMax
Definition: Parameters.cpp:162
real Le
Definition: Parameters.cpp:131
FILE * GlobalFile
Definition: Parameters.cpp:212
real PrintTime2
Definition: Parameters.cpp:45
real IntVorticity
Definition: Parameters.cpp:215
int MaxCellElementsNb
Definition: Parameters.cpp:234
Timer CPUTime
Definition: Parameters.cpp:169
real XMax[4]
Definition: Parameters.cpp:77
int LimiterNo
Definition: Parameters.cpp:68
int rank_kl
Definition: Parameters.cpp:245
bool ComputeTemp
Definition: Parameters.cpp:122
int ThresholdNorm
Definition: Parameters.cpp:100
Vector IntMomentum
Definition: Parameters.cpp:217
real BaroclinicEffect
Definition: Parameters.cpp:219
int size
Definition: Parameters.cpp:224
real ModelConstant
Definition: Parameters.cpp:117
real DIVBMax
Definition: Parameters.cpp:137
real chi
Definition: Parameters.cpp:124
bool Recovery
Definition: Parameters.cpp:59
real PrintTime4
Definition: Parameters.cpp:47
int IterationNbRef
Definition: Parameters.cpp:38
int rank_ku
Definition: Parameters.cpp:245
real SmoothCoeff
Definition: Parameters.cpp:99
real Re
Definition: Parameters.cpp:107
int Refresh
Definition: Parameters.cpp:42
real Viscosity
Definition: Parameters.cpp:106
real Fr
Definition: Parameters.cpp:111
real FlameVelocity
Definition: Parameters.cpp:201
int IterationNb
Definition: Parameters.cpp:37
real Alpha
Definition: Parameters.cpp:129
int NeighbourNb
Definition: Parameters.cpp:228
bool DataIsBinary
Definition: Parameters.cpp:145
bool CVS
Definition: Parameters.cpp:97
real IntDensity
Definition: Parameters.cpp:216
bool Diffusivity
Definition: Parameters.cpp:121
real RKFError
Definition: Parameters.cpp:190
real ErrorMid
Definition: Parameters.cpp:181
int CellElementsNb
Definition: Parameters.cpp:233
double FVTimeRef
Definition: Parameters.cpp:172
real ToleranceInit
real TRef
Definition: Parameters.cpp:112
int ChildNb
Definition: Parameters.cpp:213
bool ComputeCPUTimeRef
Definition: Parameters.cpp:62
real ExactMomentum
Definition: Parameters.cpp:199
real PreviousAverageRadius2
Definition: Parameters.cpp:208
real ErrorGlobalMid
Definition: Parameters.cpp:182
real GlobalVolume
Definition: Parameters.cpp:203
real PrintTime1
Definition: Parameters.cpp:44
int Dimension
Definition: Parameters.cpp:74
real ExpectedCompression
Definition: Parameters.cpp:96
real AverageRadius
Definition: Parameters.cpp:206
int AllTaskScaleNb
Definition: Parameters.cpp:227
int CartDims[3]
Definition: Parameters.cpp:231
real ElapsedTime
Definition: Parameters.cpp:95
int PrintIt3
Definition: Parameters.cpp:52
real XCenter[4]
Definition: Parameters.cpp:209
Timer CommTimer
Definition: Parameters.cpp:241
real eta
Definition: Parameters.cpp:123
int SendGrad
Definition: Parameters.cpp:251
real StartTimeAveraging
Definition: Parameters.cpp:61
int PostProcessing
Definition: Parameters.cpp:144
int CMin[4]
Definition: Parameters.cpp:78
real GlobalEnergy
Definition: Parameters.cpp:197
real ThermalConduction
Definition: Parameters.cpp:118
real SpaceStep
Definition: Parameters.cpp:156
real XMin[4]
Definition: Parameters.cpp:76
bool UseBoundaryRegions
Definition: Parameters.cpp:80
real Circulation
Definition: Parameters.cpp:113
int SendQs
Definition: Parameters.cpp:253
int CPUScales
Definition: Parameters.cpp:225
real IntEnergy
Definition: Parameters.cpp:218
int SenddX
Definition: Parameters.cpp:255
real GlobalReactionRate
Definition: Parameters.cpp:205
real ConstantForce
Definition: Parameters.cpp:119
bool FluxCorrection
Definition: Parameters.cpp:143
bool Resistivity
Definition: Parameters.cpp:120
real PreviousAverageRadius
Definition: Parameters.cpp:207
int one_D
Definition: Parameters.cpp:236
int WhatSend
Definition: Parameters.cpp:247
real EigenvalueZ
Definition: Parameters.cpp:160
int PrintIt4
Definition: Parameters.cpp:53
real PrintTime6
Definition: Parameters.cpp:49
An object Timer gives information on the CPU time of long-time computations.
Definition: Timer.h:31
real ReactionRateMax
Definition: Parameters.cpp:210
int Coordinate
Definition: Parameters.cpp:75
real ch
Definition: Parameters.cpp:140
int PrintIt6
Definition: Parameters.cpp:55
bool TimeAveraging
Definition: Parameters.cpp:60
int PrintIt2
Definition: Parameters.cpp:51
int CellNb
Definition: Parameters.cpp:174
int MPISendType
Definition: Parameters.cpp:238
real RKFAccuracyFactor
Definition: Parameters.cpp:191
real ToleranceScale
Definition: Parameters.cpp:92
int ImageNb
Definition: Parameters.cpp:57
int SendX
Definition: Parameters.cpp:254
int LeafNb
Definition: Parameters.cpp:175
int rank
Definition: Parameters.cpp:223
real cr
Definition: Parameters.cpp:194
int PrintMoreScales
Definition: Parameters.cpp:90
real CarmenVersion
Definition: Parameters.cpp:28
int PrintEvery
Definition: Parameters.cpp:56
int rank_iu
Definition: Parameters.cpp:243
bool ZipData
Definition: Parameters.cpp:146
bool Multiresolution
Definition: Parameters.cpp:84
real TotalLeafNb
Definition: Parameters.cpp:176
real Tolerance
Definition: Parameters.cpp:91
Vector QuantityAverage
Definition: Parameters.cpp:163
#define real
Definition: PreProcessor.h:31
real PhysicalTime
Definition: Parameters.cpp:41
real RKFSafetyFactor
Definition: Parameters.cpp:192
real pi
Definition: Parameters.cpp:165