AdH Kraken 0.0.0
Next generation Adaptive Hydraulics
Loading...
Searching...
No Matches
sflags.h
1#ifndef H_SFLAGS_
2#define H_SFLAGS_
3
4/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
5/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
6
7typedef struct {
8
9 /* Model Flags */
10 bool NS_FLOW; /* if TRUE then run Navier-Stokes */
11 bool NS2_FLOW; /* if TRUE then run 2D Navier-Stokes */
12 bool NS3_FLOW; /* if TRUE then run 3D Navier-Stokes */
13 bool GW_FLOW; /* if TRUE then run ground water flow */
14 bool SW_FLOW; /* if TRUE then run 2D or 3D shallow water */
15 bool SW2_FLOW; /* if TRUE then run 2D shallow water */
16 bool SW3_FLOW; /* if TRUE then run 3D shallow water */
17 bool DIFFUSIVE_WAVE; /* if TRUE then run the 2D overland flow */
18
19 /* moving grid */
20 bool MG;
21
22 /* baroclinic :: flag to signify what variables affect density */
23 /* baroclinic code = 0 :: no density effects */
24 /* baroclinic code = 1 :: salinity only affects density */
25 /* baroclinic code = 10 :: temperature only affects density */
26 /* baroclinic code = 11 :: salinity and temperature affect density */
27 bool BAROCLINIC;
28
29 int EOS;
30 /* 0 Linearlized EOS */
31 /* 1 Full Equation EOS */
32
33 /* mesh adaption */
34 bool GRID_ADAPTION; /* flag that grid *can* be adapted during the simulation */
35 bool ADAPTED_THE_GRID; /* flag that grid was adapted during a given time-step */
36 bool GRID_REFINED; /* flat that grid was refined */
37 bool GRID_UNREFINED; /* flag the grid was unrefined */
38
39 /* time adaption */
40 bool TIME_ADAPT; /* was t_adpt_flag */
41 bool TIME_ADAPT_FAIL; /* was t_fail_flag */
42
43 /* transport */
44 bool TRANSPORT;
45 bool NS2_TRANSPORT;
46 bool NS3_TRANSPORT;
47 bool SW2_TRANSPORT;
48 bool SW3_TRANSPORT;
49 bool VORTICITY;
50
51 /* sediment */
52 bool SEDIMENT;
53 bool SEDLIB;
54
55#ifdef _ADH_GROUNDWATER
56 /* groundwater */
57 bool GW_SALINITY;
58 bool GW_TRANSPORT;
59 bool GW_REACTION;
60 bool RAY_TRACING;
61 bool SOCKETS;
62 bool METEOROLOGY;
63#endif
64 /* steady state flag */
65 bool STEADY_STATE;
66
67 /* external libraries */
68 bool ICM;
69 bool NSM;
70
71 /* surface stresses */
72 bool WAVE_RADS;
73 bool WAVE_STRESS;
74 bool WIND_STRESS;
75 bool WAVE_STATION;
76 bool WIND_STATION;
77
78 /* coriolis force */
79 bool CORIOLIS;
80
81 /* manning's unit flag */
82 bool MUC;
83
84 /* units (MKE or FPS) */
85 bool UNITS;
86
87 /* conveyance ?? */
88 bool CONVEYANCE;
89
90 /* flag whether or not to prbooled the adapted mesh */
91 bool PRN_ADPT;
92
93 /* flag whether to write output or not */
94 bool OUTPUT;
95
96 /* flag for solver on initial automatic time determination */
97 bool SOLVE_ATF;
98
99 /* if TRUE, singular matrix occurred, but don't exit */
100 bool UMFPACK_FAIL;
101
102 /* ice */
103 bool ICE; /* indicates that ice is included (SW) */
104 bool INS; /* indicates that ice is designated by circular string */
105 bool nice_coords; /* number of ice coordinates */
106
107 /* tides */
108 bool TIDE;
109
110 /* unrefine this ts */
111 bool UNREFINE;
112
113 /* CStorm WSID flag */
114 bool CSTORM_WSID;
115
116#ifdef _HDF5
117 /* Parallel XDMF output */
118 bool PC_FILE_XDMF;
119#endif
120
121 bool FLUX_WEIGHTED_NORMALS; /* Gajanan gkc adding. ON/OFF. Default OFF. Triggered using "NB FLXNML" in bc file. */
122
123} SFLAGS;
124
125/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
126/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
127// Methods
128void sflags_init(SFLAGS *f);
129
130/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
131/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
132#endif
133
void sflags_init(SFLAGS *f)
Intializes a SFLAGS structure.
Definition: sflags.c:21
Definition: sflags.h:7