AdH Kraken
0.0.0
Next generation Adaptive Hydraulics
Loading...
Searching...
No Matches
define.h
1
/* constants */
2
#define EARTH_ROTAT 7.2722E-5
/* Earth's rotation in 1/s (coriolis: added 6-02) */
3
#define DEGREE2RAD 0.017453292519943
4
#define PI 3.141592653589793238462643383279502884197169399375105820974944592308
5
#define SQUAREROOTTWO 1.4142135623730950488016887242096980785696718753769480732
6
7
#define COUPLING_LAG 0
8
#define COUPLING_FLUX 1
9
#define COUPLING_STRANG 2
10
11
#define DZERO 0.0e+0
12
#define D8_TH 1.25e-1
13
#define DQUAR 2.5e-1
14
#define DHALF 0.5e+0
15
#define DONE 1.0e+0
16
#define DTWO 2.0e+0
17
#define DFOUR 4.0e+0
18
#define NONE -1.0e+0
19
#define SMALL2 1.0e-2
20
#define SMALL3 1.0e-3
21
#define SMALL4 1.0e-4
22
#define SMALL5 1.0e-5
23
#define SMALL6 1.0e-6
24
#define SMALL7 1.0e-7
25
#define SMALL8 1.0e-8
26
#define SMALL10 1.0e-10
27
#define SMALL12 1.0e-12
28
#define SMALL14 1.0e-14
29
#define SMALL16 1.0e-16
30
#define EPSILON 1.0e-3
31
#define SMALL DBL_EPSILON
/* the smallest double */
32
#define NOT_QUITE_SMALL FLT_EPSILON
/* the smallest single precision number */
33
34
/* FOR GRID READ */
35
#define NEWIO_HASHSIZE 10069
36
37
#define one_2 0.5e+0
38
#define one_3 0.333333333333333333333333
39
#define one_4 2.5e-1
40
#define one_5 0.200000000000000000000000
41
#define one_6 0.166666666666666666666667
42
#define one_8 0.125000000000000000000000
43
#define one_9 0.111111111111111111111111
44
#define one_12 0.083333333333333333333333
45
#define one_18 0.055555555555555555555556
46
#define one_20 0.050000000000000000000000
47
#define one_24 0.041666666666666666666667
48
#define one_30 0.033333333333333333333333
49
#define one_36 0.027777777777777800000000
50
#define one_45 0.022222222222222222222222
51
#define one_48 0.020833333333333332000000
52
#define one_60 0.016666666666666666666667
53
#define one_72 0.013888888888888888888888
54
#define one_120 0.00833333333333333000000
55
#define one_144 0.00694444444444444444444
56
#define one_180 0.00555555555555555555556
57
#define one_360 0.00277777777777778000000
58
#define one_720 0.00138888888888889000000
59
#define one_1440 0.0006944444444444440000
60
61
62
/* SEDIMENT ALGORITHM CONSTANTS FOR READING PARAMETERS FROM BC FILE */
63
#define COHSET 4
64
#define WINDWAVE 10
65
#define NONCOENT 1
/* (cjt) -- mdw SW3_FLOW svn merge */
66
#define DIVCOEF 3
67
68
/* input line definitions */
69
#define MAXLINE 300
/* the maximum number of characters on an input line */
70
71
/* geometric definitions */
72
#define TRIANGLE 1
73
#define QUADRILATERAL 2
74
#define TETRAHEDRON 3
75
#define PRISM 4
76
77
// type of grid
78
#define UNSTRUCTURED 2
79
#define COLUMNAR 3
80
81
#define BODY -1
82
#define SURFACE 0
83
#define BED 1
84
#define SIDEWALL 2
85
#define COLUMN 3
86
#define BODY2D 4
87
88
#define NDONSEG 2
/* nodes on line segment */
89
#define NDONTRI 3
/* nodes on triangle */
90
#define NDONTRIQUAD 6
91
#define NDONQUAD 4
/* nodes on quadrilateral */
92
#define NDONQUADQUAD 8
93
#define NDONTET 4
/* nodes on tetrahedron */
94
#define NDONPRISM 6
/* nodes on prism */
95
#define NDONPYRAMID 5
/* nodes on a pyramid */
96
#define NDONTETQUAD 10
/* nodes on a tetrahedron with midpoints for quadratic baasis */
97
#define NDONPRISMQUAD 15
/* nodes on a triangular prism with midpoints for quadratic baasis */
98
99
#define MAX_NNODES_ON_ELEM1D 2
/* max number of nodes on all possible 2d elements (line here) */
100
#define MAX_NNODES_ON_ELEM2D 4
/* max number of nodes on all possible 2d elements (quads here) */
101
#define MAX_NNODES_ON_ELEM3D 6
/* max number of nodes on all possible 3d elements (triprisms here) */
102
#define MAX_NNODES_ON_ELEM3D_QUAD 15
/* max number of quadratic nodes on all possible 3d elements (triprisms here) */
103
104
#define MAX_QUAD_ORDER 4
/* the max integrand order for quadrature */
105
#define MAX_QUAD_POINTS 18
/* max number of quadrature points for an element */
106
107
#define NFCPRELM 4
/* the number of faces per element */
108
#define NDPRELM 4
/* the number of nodes per element */
109
#define NDPRFC 3
/* the number of nodes per face */
110
#define NEDGEPRELM 6
/* the number of edges per element */
111
#define NEDGEPRFC 3
/* the number of edges per face */
112
#define NDPREDG 2
/* the number of nodes per edge */
113
#define NDPRELM_MINUS_1 3
/* the number of nodes per element -1 */
114
#define NDPRFC_MINUS_1 2
/* the number of nodes per face -1 */
115
116
/* matrix sizes */
117
#define NELEMAT 16
/* NDPRELM*NDPRELM */
118
#define NFCMAT 9
/* NDPRFC*NDPRFC */
119
#define NEDGEMAT 4
/* NEDGEPRELM*NEDGEPRELM */
120
#define NFCMAT2 12
/* NDPRELM*NDPRFC */
121
#define NPRCN 4
/* The number of properties per constituent */
122
123
/* memory increment for small static arrays */
124
#define MEM_INC 128
125
126
/* the amount of reduction in time step for failure of the nonlinear iteration */
127
#define DT_REDUCE_FACTOR 0.25
/* time step reduction for failure */
128
#define DT_ENLARGE_FACTOR 2.0
/* time step expansion for success */
129
130
/* the default tolerance for a series */
131
#define XY_DEFAULT_TOL 1.0E-1
132
133
/* Constituent numbers */
134
#define TKE 1
/* turbulent kinetic energy */
135
#define TDS 2
/* turbulent dissipation */
136
#define CLA 3
/* Clay sediment */
137
#define SLT 4
/* Silt sediment */
138
#define SND 5
/* Sand sediment */
139
#define CON 6
/* Any old constituent */
140
#define VOR 7
/* Vorticity Constituent */
141
#define TMP 8
/* Temperature Constituent */
142
#define SAL 9
/* Salinity Constituent */
143
#define NOO 10
/* WQ Constituent */
144
#define NOOO 11
/* WQ Constituent */
145
#define NHHHH 12
/* WQ Constituent */
146
#define OrN 13
/* WQ Constituent */
147
#define OP 14
/* WQ Constituent */
148
#define DP 15
/* WQ Constituent */
149
#define POOOO 16
/* WQ Constituent */
150
#define ALG 17
/* WQ Constituent */
151
#define CBOD 18
/* WQ Constituent */
152
#define DO 19
/* WQ Constituent */
153
154
/* Define Dimension Units */
155
#define MKS 1
/* Meters-Kilograms-Seconds and expects Centigrade */
156
#define FPS 2
/* Feet-Pound-Seconds and expects Fahrenheit */
157
158
/* other definitions */
159
#define NDIM 3
/* the maximum number of dimensions */
160
#define ON 1
/* on */
161
#define OFF 0
/* off */
162
#define YES 1
/* yes */
163
#define NO -3
/* no */
164
#define TRUE 1
/* true */
165
#define FALSE 0
/* false */
166
#define AGREE 0
/* agreement in a string comparison */
167
#define USED 1
/* in use */
168
#define UNUSED 0
/* not in use */
169
#define ONE 1
/* 1 for binary io */
170
#define SOLV_TOL DBL_EPSILON
/* the linear solver tolerance - usually single precision zero -
171
NOTE: this number MUST be significantly larger than SMALL */
172
#define TET_PSI_AT_CENTROID 0.25
/* the linear basis functions on a tet evaluated at the centroid */
173
#define SOLV_UPDATE_FACTOR 0.01
/* the factor for the update in the solver */
174
#define HASHSIZE 25013
175
#define CHAR_SIZE 12
176
177
/* definitions of names for various solves */
178
//#define HYD 1
179
//#define TRN 2
180
//#define BLT 3
181
//#define SLT 4
182
//#define GRD 5
183
//#define HVEL 6
184
//#define WVEL 7
185
//#define SALT 8
186
//#define CLAY 9
187
//#define SAND 10
188
//#define TEMP 11
189
//#define DIFF 12
190
//#define NS 13
191
//#define GW 14
192
193
/* post processing dataset flags */
194
typedef
enum
195
{
196
UNSET_PS_FLAG = -1,
/* Unassigned flag */
197
PS_FLAG_HEAD,
/* heads */
198
PS_FLAG_SAT,
/* saturations */
199
PS_FLAG_OLHEAD,
/* overland flow heads */
200
PS_FLAG_CHHEAD,
/* channel heads */
201
PS_FLAG_PRS,
/* pressures */
202
PS_FLAG_VEL,
/* velocities */
203
PS_FLAG_DPL,
/* grid displacements */
204
PS_FLAG_BED_DPL,
/* bed displacements */
205
PS_FLAG_OLVEL,
/* overland velocities */
206
PS_FLAG_GSP,
/* grid speed */
207
PS_FLAG_ERR,
/* error indicator */
208
PS_FLAG_FLX,
/* nodal flux */
209
PS_FLAG_HEAT,
/* the temperatures */
210
PS_FLAG_UGD,
/* x-vel gradient */
211
PS_FLAG_VGD,
/* y-vel gradient */
212
PS_FLAG_WGD,
/* z-vel gradient */
213
PS_FLAG_WS_POT,
/* potential (SW3) */
214
PS_FLAG_VEL_COR,
/* velocity correction (SW3) */
215
PS_FLAG_POLHEAD,
/* old overland flow heads */
216
PS_FLAG_POLVEL,
/* old overland velocities */
217
PS_FLAG_SHSTR,
/* shear stresses */
218
PS_FLAG_2D_SC,
/* 2D scatter plot */
219
PS_FLAG_3D_SC,
/* 3D scatter plot */
220
PS_FLAG_DEPTH,
/* depth */
221
PS_FLAG_PDEPTH,
/* old depth */
222
PS_FLAG_BSH,
/* bed shear stress */
223
PS_FLAG_VORT,
/* SW2 vorticity */
224
PS_FLAG_SFLX,
/* surface heat flux */
225
PS_FLAG_PRS_HOT,
/* pressure hotstart creation (NS) */
226
PS_FLAG_VEL_HOT,
/* velocity hotstart creation (NS) */
227
PS_FLAG_DEP_HOT,
/* depth hotstart creation (SW2) */
228
PS_FLAG_PDP_HOT,
/* previous depth hotstart creation (SW2) */
229
PS_FLAG_OVL_HOT,
/* velocity hotstart creation (SW2) */
230
PS_FLAG_POV_HOT,
/* previous velocity hotstart creation (SW2) */
231
PS_FLAG_DIS_HOT,
/* displacement hotstart creation (SW2) */
232
PS_FLAG_DSP_HOT,
/* displacement hotstart creation (NS) */
233
PS_FLAG_GSP_HOT,
/* grid speed hotstart creation (NS) */
234
PS_FLAG_HED_HOT,
/* head hotstart creation (GW) */
235
PS_FLAG_TMP_HOT,
/* temperature hotstart creation (HT) */
236
PS_FLAG_SMR,
/* SW2 sed mass balance */
237
PS_FLAG_ICM_VAR,
/* ICM variable */
238
PS_FLAG_ICM_VAR_HOT,
/* ICM variable hotstart creation */
239
PS_FLAG_ICM_DRQ,
/* ICM derived quantity */
240
PS_FLAG_SWAVE_HEIGHT,
/* cjt wind-waves output (WAVE) */
241
PS_FLAG_SWAVE_FORCES,
/* cjt wind-wave forces (WAVE) */
242
PS_FLAG_SWIND_FORCES,
/* cjt wind forces */
243
PS_FLAG_BED_ELV,
/* bed elev */
244
PS_FLAG_ERR_HYDRO,
/* error indicator-hydro part */
245
PS_FLAG_SUS,
/* suspended load vector */
246
PS_FLAG_PDPL,
/* previous time step displacement */
247
PS_FLAG_PVEL,
/* previous time step velocity */
248
PS_FLAG_CON,
/* concentration (SW2 and GW) */
249
PS_FLAG_CON_HOT,
/* concentration hotstart creation (SW2) */
250
PS_FLAG_PCON,
/* previous concentration (SW2) */
251
PS_FLAG_PCON_HOT,
/* previous concentration hotstart creation (SW2) */
252
PS_FLAG_BLT,
/* bed layer thickness (SW2) */
253
PS_FLAG_BLT_HOT,
/* bed layer thickness hotstart creation (SW2) */
254
PS_FLAG_BLD,
/* bed layer distribution (SW2) */
255
PS_FLAG_BLD_HOT,
/* bed layer distribution hotstart creation (SW2) */
256
PS_FLAG_ALT,
/* active layer thickness (SW2) */
257
PS_FLAG_ALT_HOT,
/* active layer thickness hotstart creation (SW2) */
258
PS_FLAG_ALD,
/* active layer distribution (SW2) */
259
PS_FLAG_ALD_HOT,
/* active layer distribution hotstart creation (SW2) */
260
PS_FLAG_CBP,
/* Cohesive bed layer properties (SW2) */
261
PS_FLAG_CBP_HOT,
/* Cohesive bed layer properties hotstart creation (SW2) */
262
PS_FLAG_ERR_CON,
/* transport residual error (SW3) */
263
PS_FLAG_WINDS,
/* wind stress output file */
264
PS_FLAG_WAVES,
/* wind wave stress output file */
265
PS_FLAG_DAVG_VEL,
/* depth avg velocity file (sw3d) */
266
PS_FLAG_SURF_VEL,
/* surface velocity file (sw3d) */
267
PS_FLAG_BOTT_VEL,
/* bottom velocity file (sw3c) */
268
PS_FLAG_BED,
/* sediment output file */
269
PS_FLAG_BED_FLUX,
/* sediment error file */
270
PS_FLAG_ALAYER,
/* sediment bedload vector */
271
PS_FLAG_BED_LAYER,
/* sediment suspendend load vector */
272
PS_FLAG_SL_GRAIN,
273
PS_FLAG_BL_GRAIN,
274
PS_FLAG_HYV,
/* Flag for Hydro viscosity GSAVANT */
275
PS_FLAG_TRD,
/* Flag for Hydro diffusivity GSAVANT */
277
PS_FLAG_PHEAD,
/* flag for the pressure heads */
278
PS_FLAG_THEAD,
/* flag for the total heads */
279
PS_FLAG_DENS,
/* flag for the density */
280
/* Add new flags above here */
281
/* This must be last */
282
NUM_PS_FLAG_TYPES
/* number of ps flags */
283
} PS_FLAG_TYPE;
284
285
/* types of physics flags - primarily used to set string bcs and secondary physics */
286
#define NS_FLAG 1
/* navier-stokes flow */
287
#define GW_FLAG 2
/* groundwater flow */
288
#define HT_FLAG 3
/* heat flow */
289
#define OL_FLAG 4
/* overland flow */
290
#define CH_FLAG 5
/* channel flow */
291
#define SW2_FLAG 6
/* shallow water 2D flow */
292
#define SW3_FLAG 7
/* shallow water 3D flow */
293
#define USR_FLAG 8
/* sediment on this face */
294
#define SED_FLAG 9
/* sediment on this face */
295
296
/* material matrices sizes and attributes (see initio/init_read_bc.c */
297
#define MPFLAG_MAX 8
/* number of MP flags (so far) */
298
#define MATFLAG_MAX 11
/* number of material type flags */
299
#define MISCFLAG_MAX 13
/* number of misc. flags */
300
#define TRANSFLAG_MAX 4
/* number of required transport type flags */
301
#define PHYS_TYPES 8
/* number of physics types */
302
303
/* material attributes */
304
#define ML 0
305
#define EV 1
306
#define EVS 2
307
#define FVS 3
308
#define FRT 4
309
#define NCE 5
310
#define NRT 6
311
#define SRT 7
312
#define EEV 8
313
#define DPL 9
314
#define DPT 10
315
#define SS 11
316
#define SAT 12
317
//Mark Causes issues with petsc? changing from K to K1
318
#define K1 13
319
#define KR 14
320
#define POR 15
321
#define TOR 16
322
323
/* transport material attributes */
324
#define DF 0
325
#define TRT 1
326
#define TVS 2
327
#define RD 3
328
329
/* MP flags */
330
#define MU 0
331
#define G 1
332
#define RHO 2
333
#define TMN 3
334
#define TCN 4
335
#define U0 5
336
#define L0 6
337
#define R0 7
338
339
/* Misc. flags */
340
#define MIT 0
341
#define NIT 1
342
#define T0 2
343
#define IDT 3
344
#define TF 4
345
#define INC 5
346
#define PRE 6
347
#define FTYPE 7
348
#define SDI 8
349
#define SST 9
350
#define NTL 10
351
#define ITL 11
352
#define FIN 12
/* External file read (cjt) */
353
354
/* Hydraulic Structures Flag */
355
#define HST_FLOW_THROUGH 1
356
357
/* an unflaged normal item */
358
#define NORMAL -1
/* normal */
359
360
/* refinement flags */
361
#define REFINE 1
/* refine the element */
362
#define FINE 0
/* leave the element alone */
363
//#define UNREFINE -1 /* unrefine the element */
364
#define NOUNR 0
/* refined element */
365
#define CONSV 1
/* merged element at t(n-1) */
366
//#define UNREF 2 /* merged element at t(n) */
367
368
/* boundary condition string types */
369
#define BCT_DIR 1
/* a dirichlet boundary condition */
370
#define BCT_ROB 2
/* a robin boundary condition */
371
#define BCT_NEU 3
/* a neumann boundary condition */
372
#define BCT_OUTFLOW 4
/* an out flow boundary condition - for transport */
373
#define BCT_FLUX 5
/* total flux boundary conditions - for transport */
374
#define BCT_NO_FLUX 6
/* no flux bc */
375
#define BCT_PRS_DIR 7
/* Pressure Dirichlet boundary condition */
376
#define BCT_VEL_DIR 8
/* Velocity Dirichlet boundary condition */
377
#define BCT_PRS_NEU 9
/* Pressure Neumann boundary condition */
378
#define BCT_VEL_NEU 10
/* Velocity Neumann boundary condition */
379
#define BCT_BED 11
/* This is the sediment bed and invokes several boundary conditions */
380
#define BCT_WATER_SOURCE 12
381
#define BCT_FLUX_COUPLE 13
382
#define BCT_CEQ 36
/* Equilibrium Concentration boundary condition */
383
#define BCT_HSP_DIR 41
/* hydrostatic pressure boundary */
384
#define BCT_HYBRID_INTERNAL 37
385
#define BCT_HYBRID_EXTERNAL 38
/* gkc 2d-3d FLUX coupling, for flagging interface edges/surfaces */
386
387
// overland flow
388
#define BCT_ZERO_DEPTH_GRAD 50
389
#define BCT_CRITICAL_DEPTH 51
390
391
/* well types */
392
#define EXTRACTION_WELL 12
/* an extraction well */
393
#define INJECTION_WELL 13
/* an injection well */
394
395
#define BCT_FREE_DIR 14
/* set free surface boundary condition, pressure is defined */
396
#define BCT_DPL_DIR 15
/* this means that the displacement is read/defined */
397
#define BCT_VEL_PRS_DIR 16
/* Velocity and pressure Dirichlet boundary condition */
398
399
#define BCT_DIR_INT 17
/* a dirichlet boundary condition that is calculated rather than read */
400
#define BCT_OVH_NEU 18
/* this is a boundary that uses head all the time and momentum flux */
401
#define BCT_FRS 19
/* this is the free surface used with face fluxes in SW3 */
402
#define BCT_LID_DFT 20
/* the draft is set via pressure in SW2 */
403
#define BCT_LID_ELV 21
/* the culvert elevation is set in SW2 */
404
#define BCT_LID_DEP 22
/* the culvert depth is set in SW2 */
405
#define BCT_SPL_NEU 23
/* the velocity out the model is set to the critical velocity */
406
#define BCT_DIS_NEU 24
/* Total Discharge Neumann boundary condition */
407
#define BCT_OUT_NEU 25
/* Outflow from inside the mesh */
408
#define BCT_IN_NEU 26
/* Inflow linked to outflow */
409
#define BCT_WRSU 27
/* weir u/s flag*/
410
#define BCT_WRSD 28
/* Weir D/S flag*/
411
#define BCT_WEIRD 29
412
#define BCT_WEIRU 30
413
#define BCT_SDR_NEU 31
/* NB SDR Condition Stage-Discharge GS*/
414
#define BCT_FLAPD 32
/* Flap gate Strings 32 - 35 */
415
#define BCT_FLAPU 33
416
#define BCT_FLPU 34
417
#define BCT_FLPD 35
418
#define BCT_CEQ 36
/* Equilibrium Concentration boundary condition */
419
#define POINT_SOURCE 37
420
#define BCT_NEU_LOAD 38
/* transport load */
421
#define BCT_EQT 39
/* Equilibrium temperature boundary GSAVANT */
422
#define BCT_DB_VEL 40
/* cjt :: for new EGS created during DB OVL */
423
#define BCT_SLSU 41
/* Sluice gate strings 41 - 44 */
424
#define BCT_SLSD 42
425
#define BCT_SLUICEU 43
426
#define BCT_SLUICED 44
427
428
429
/* equation types */
430
#define CONSERVATIVE 0
/* equations are conservative */
431
#define NONCONSERVATIVE 1
/* equations are nonconservative */
432
433
/* string types */
434
#define STR_NODE 1
/* a node string */
435
#define STR_EDGE 2
/* a edge string */
436
#define STR_FACE 3
/* a face string */
437
#define STR_MID 4
/* a mid string */
438
#define STR_E2F 5
/* an edge string destined to be a face string */
439
#define STR_ICE 6
/* an ice string */
440
441
/* initialization definitions */
442
#define UNSET_INT -3
/* an integer variable that has not been set */
443
#define UNSET_FLT -9999999.9
//3.0 /* a float variable that has not been set */
444
445
/* refinement tolerances - these are checked against element errors
446
the element errors are already scaled by user defined tolerances */
447
#define REF_TOL 1.0
/* refinement tolerance after scaling */
448
#define UNREF_TOL 0.1
/* percent of refine tolerance used to define unrefine tolerance */
449
450
/* allocation block for the sparse vectors */
451
#define SPV_BLOCK 75
// was 15
452
#define BV_BLOCK 15
453
454
/* communication stuff */
455
#ifdef _MESSG
456
#define MESSG_REQ_INC 20
/* the increment to allocate message requests */
457
#define MESSG_INT 2
/* integer message */
458
#define MESSG_DOUBLE 3
/* double message */
459
#define MESSG_PACKED 4
/* a packed message */
460
#define NMPI_FLAG 10
/* total number of asynchronous communication flags per pe */
461
#define TAG_UPDATE 990
/* message tag for update communications */
462
#define TAG_NODE_OUT 991
/* message tag for nodes out in repartitioning routines */
463
#define TAG_NODE_NUM 992
/* message tag for new node numbers in repartitioning routines */
464
#define TAG_NODE_DATA 993
/* message tab for node data in repartitioning routines */
465
#endif
466
467
/* type of element for element level communication */
468
#define COMM_3D_ELEM_LEVELS 3
469
#define COMM_2D_ELEM_LEVELS 2
470
#define COMM_1D_ELEM_LEVELS 1
471
472
/* post processing flags */
473
#define PS_FLUX 1
/* compute the fluxes through the face string */
474
475
/* linked list definitions - these are tied very closely to the
476
initialization of the object size array in tl_list_alloc */
477
#define EDGE_LIST 0
/* the list of edges */
478
#define FACE_LIST 1
/* the list of faces with the adjacent elements */
479
#define ELEM1D_LIST 2
/* the list of 1d elements */
480
#define ELEM2D_LIST 3
/* the list of 2d elements */
481
#define ELEM3D_LIST 4
/* the list of 3d elements */
482
#ifdef _MESSG
483
#define NODE_LIST 5
/* the list of global node numbers and their local counterparts */
484
#define ELEM_REF_LIST 6
/* the list of refined elements being sent to other processors */
485
#define NLIST 7
/* the number of linked lists */
486
#else
487
#define NLIST 5
488
#endif
489
490
/* the types of series */
491
#define ANY_SERIES 0
/* flag to not check series type */
492
#define TIME_SERIES 1
/* the series represents a time series */
493
#define OUTPUT_SERIES 2
/* the series represents an output time series */
494
#define CONSTITUITIVE_SERIES 3
/* the series represents a constituitive equation */
495
#define WIND_SERIES 4
/* the series represents a wind series */
496
#define DT_SERIES 5
/* time-step series */
497
#define WAVE_SERIES 6
/* wave stress series */
498
499
/* time units */
500
#define SECONDS 0
501
#define MINUTES 1
502
#define HOURS 2
503
#define DAYS 3
504
#define WEEKS 4
505
#define MONTHS 5
506
#define YEARS 6
507
508
/* time conversion direction */
509
#define TO 0
510
#define FROM 1
511
512
/* ice friction coefficient flags */
513
#define BED_CO 1
/* bed coefficient */
514
#define ICE_CO 2
/* ice coefficient */
515
#define TOT_CO 3
/* total (bed+ice) coefficient */
516
517
/* model to use to calculate combined wave-current shear stress */
518
#define GM79 1
519
#define F84 2
520
#define HT91 3
521
#define DSK88 4
522
#define DATA13 5
523
#define DATA2 6
524
525
/* shifts for multiple equation indexing */
526
#define EQN4_ID11 0
527
#define EQN4_ID12 1
528
#define EQN4_ID13 2
529
#define EQN4_ID14 3
530
#define EQN4_ID21 4
531
#define EQN4_ID22 5
532
#define EQN4_ID23 6
533
#define EQN4_ID24 7
534
#define EQN4_ID31 8
535
#define EQN4_ID32 9
536
#define EQN4_ID33 10
537
#define EQN4_ID34 11
538
#define EQN4_ID41 12
539
#define EQN4_ID42 13
540
#define EQN4_ID43 14
541
#define EQN4_ID44 15
542
543
#define EQN3_ID11 0
544
#define EQN3_ID12 1
545
#define EQN3_ID13 2
546
#define EQN3_ID21 3
547
#define EQN3_ID22 4
548
#define EQN3_ID23 5
549
#define EQN3_ID31 6
550
#define EQN3_ID32 7
551
#define EQN3_ID33 8
552
553
#define EQN2_ID11 0
554
#define EQN2_ID12 1
555
#define EQN2_ID21 2
556
#define EQN2_ID22 3
557
558
#ifdef _ADH_ICM
559
/* ICM variable information */
560
#define NUM_ICM_DRQ 10
561
#define ICM_FACT 1000.0
562
typedef
enum
563
{
564
/* Do not re-order these, insert new vars at end */
565
UNSET_ICM_VAR = -1,
566
ICM_VAR_SLN,
/* Salinity */
567
ICM_VAR_TEM,
/* Temperature */
568
ICM_VAR_SSI,
/* Suspended Solids */
569
ICM_VAR_AG1,
/* Algal Group 1 */
570
ICM_VAR_AG2,
/* Algal Group 2 */
571
ICM_VAR_AG3,
/* Algal Group 3 */
572
ICM_VAR_LDC,
/* Labile Dissolved Organic Carbon */
573
ICM_VAR_RDC,
/* Refractory Dissolved Organic Carbon */
574
ICM_VAR_LPC,
/* Labile Particulate Organic Carbon */
575
ICM_VAR_RPC,
/* Refractory Particulate Organic Carbon */
576
ICM_VAR_NH4,
/* Ammonium */
577
ICM_VAR_NO3,
/* Nitrate */
578
ICM_VAR_LDN,
/* Labile Dissolved Organic Nitrogen */
579
ICM_VAR_RDN,
/* Refractory Dissolved Organic Nitrogen */
580
ICM_VAR_LPN,
/* Labile Particulate Organic Nitrogen */
581
ICM_VAR_RPN,
/* Refractory Particulate Organic Nitrogen */
582
ICM_VAR_PO4,
/* Phosphate */
583
ICM_VAR_LDP,
/* Labile Dissolved Organic Phosphorus */
584
ICM_VAR_RDP,
/* Refractory Dissolved Organic Phosphorus */
585
ICM_VAR_LPP,
/* Labile Particulate Organic Phosphorus */
586
ICM_VAR_RPP,
/* Refractory Particulate Organic Phosphorus */
587
ICM_VAR_COD,
/* Chemical Oxygen Demand */
588
ICM_VAR_DOX,
/* Dissolved Oxygen */
589
ICM_VAR_PTH,
/* Pathogen */
590
ICM_VAR_TOX,
/* Contaminant */
591
/* Add new vars above here and update the companion name arrays in
592
init_read_icm_xy and print_xms_pointers */
593
/* This must be last */
594
NUM_ICM_VARS
/* number of ICM variable types */
595
} ICM_VAR;
596
#endif
597
598
599
/*Individual Debug Flags */
600
/* For example "PRINT_MATRIX" is currently level 16 of DEBUG_FE, but if a change were required */
601
/* it can be made in this one location rather than several others */
602
603
#define FE_MATRIX 15
/* fe level 15 */
604
#define FE_RESID 14
/* fe level 14 */
605
#define GRID_ENSPRINT 15
/* grid level 15, prints ensight mesh exclusively */
606
#define GRID_GMSPRINT 14
/* grid level 14, prints gms mesh exclusively */
607
608
/* (cjt) */
609
#define NWVAR 13
/* number of wave variables on a node */
610
611
/*LP XDMF print control flags */
612
#define NODE_CENTERED 0
613
#define ELEM_3D_CENTERED 1
614
#define ELEM_2D_CENTERED 2
615
616
#define SCALAR_DATA 0
617
#define VECTOR2D_DATA 1
618
#define VECTOR3D_DATA 2
619
620
//Mark adding max Nodal NVAR allowed, used to create sparsity
621
#define MAX_NVAR 5
622
#define MAX_NNODE 6
623
include
define.h
Generated on Thu Apr 3 2025 22:45:55 for AdH Kraken by
1.9.5