MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_global_parameters_common.fpp.f90
Go to the documentation of this file.
1# 1 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
2!>
3!! @file
4!! @brief Contains module m_global_parameters_common
5
6# 1 "/home/runner/work/MFC/MFC/src/common/include/case.fpp" 1
7! This file exists so that Fypp can be run without generating case.fpp files for
8! each target. This is useful when generating documentation, for example. This
9! should also let MFC be built with CMake directly, without invoking mfc.sh.
10
11! For pre-process.
12# 8 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
13
14! For moving immersed boundaries in simulation
15# 12 "/home/runner/work/MFC/MFC/src/common/include/case.fpp"
16# 6 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp" 2
17# 1 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 1
18# 1 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 1
19# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
20# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
21# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
22# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
23# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
24# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
25
26# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
27# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
28# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
29
30# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
31
32# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
33
34# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
35
36# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
37
38# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
39
40# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
41
42# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
43
44# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
45! New line at end of file is required for FYPP
46# 2 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
47# 1 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 1
48# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
49# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
50# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
51# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
52# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
53# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
54
55# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
56# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
57# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
58
59# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
60
61# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
62
63# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
64
65# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
66
67# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
68
69# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
70
71# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
72
73# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
74! New line at end of file is required for FYPP
75# 2 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp" 2
76
77# 4 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
78# 5 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
79# 6 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
80# 7 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
81# 8 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
82
83# 20 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
84
85# 43 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
86
87# 48 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
88
89# 53 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
90
91# 58 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
92
93# 63 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
94
95# 68 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
96
97# 76 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
98
99# 81 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
100
101# 86 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
102
103# 91 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
104
105# 96 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
106
107# 101 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
108
109# 106 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
110
111# 111 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
112
113# 116 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
114
115# 121 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
116
117# 151 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
118
119# 192 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
120
121# 206 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
122
123# 231 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
124
125# 242 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
126
127# 244 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
128# 255 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
129
130# 284 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
131
132# 294 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
133
134# 304 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
135
136# 313 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
137
138# 330 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
139
140# 340 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
141
142# 347 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
143
144# 353 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
145
146# 359 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
147
148# 365 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
149
150# 371 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
151
152# 377 "/home/runner/work/MFC/MFC/src/common/include/omp_macros.fpp"
153! New line at end of file is required for FYPP
154# 3 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
155# 1 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 1
156# 1 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp" 1
157# 2 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
158# 3 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
159# 4 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
160# 5 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
161# 6 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
162
163# 8 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
164# 9 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
165# 10 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
166
167# 17 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
168
169# 46 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
170
171# 58 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
172
173# 68 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
174
175# 98 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
176
177# 110 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
178
179# 120 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
180
181# 145 "/home/runner/work/MFC/MFC/src/common/include/shared_parallel_macros.fpp"
182! New line at end of file is required for FYPP
183# 2 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp" 2
184
185# 7 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
186
187# 17 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
188
189# 22 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
190
191# 27 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
192
193# 32 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
194
195# 37 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
196
197# 42 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
198
199# 47 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
200
201# 52 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
202
203# 57 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
204
205# 62 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
206
207# 73 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
208
209# 78 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
210
211# 83 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
212
213# 88 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
214
215# 103 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
216
217# 131 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
218
219# 160 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
220
221# 175 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
222
223# 193 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
224
225# 215 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
226
227# 244 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
228
229# 259 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
230
231# 269 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
232
233# 278 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
234
235# 294 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
236
237# 304 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
238
239# 311 "/home/runner/work/MFC/MFC/src/common/include/acc_macros.fpp"
240! New line at end of file is required for FYPP
241# 4 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp" 2
242
243! GPU parallel region (scalar reductions, maxval/minval)
244# 23 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
245
246! GPU parallel loop over threads (most common GPU macro)
247# 43 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
248
249! Required closing for GPU_PARALLEL_LOOP
250# 55 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
251
252! Mark routine for device compilation
253# 112 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
254
255! Declare device-resident data
256# 130 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
257
258! Inner loop within a GPU parallel region
259# 145 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
260
261! Scoped GPU data region
262# 164 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
263
264! Host code with device pointers (for MPI with GPU buffers)
265# 193 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
266
267! Allocate device memory (unscoped)
268# 207 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
269
270! Free device memory
271# 219 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
272
273! Atomic operation on device
274# 231 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
275
276! End atomic capture block
277# 242 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
278
279! Copy data between host and device
280# 254 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
281
282! Synchronization barrier
283# 266 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
284
285! Import GPU library module (openacc or omp_lib)
286# 275 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
287
288! Emit code only for AMD compiler
289# 282 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
290
291! Emit code for non-Cray compilers
292# 289 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
293
294! Emit code only for Cray compiler
295# 296 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
296
297! Emit code for non-NVIDIA compilers
298# 303 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
299
300# 305 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
301# 306 "/home/runner/work/MFC/MFC/src/common/include/parallel_macros.fpp"
302! New line at end of file is required for FYPP
303# 2 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp" 2
304
305# 14 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
306
307! Caution: This macro requires the use of a binding script to set CUDA_VISIBLE_DEVICES, such that we have one GPU device per MPI
308! rank. That's because for both cudaMemAdvise (preferred location) and cudaMemPrefetchAsync we use location = device_id = 0. For an
309! example see misc/nvidia_uvm/bind.sh. NVIDIA unified memory page placement hint
310# 57 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
311
312! Allocate and create GPU device memory
313# 77 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
314
315! Free GPU device memory and deallocate
316# 85 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
317
318! Cray-specific GPU pointer setup for vector fields
319# 109 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
320
321! Cray-specific GPU pointer setup for scalar fields
322# 125 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
323
324! Cray-specific GPU pointer setup for acoustic source spatials
325# 150 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
326
327# 156 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
328
329# 163 "/home/runner/work/MFC/MFC/src/common/include/macros.fpp"
330! New line at end of file is required for FYPP
331# 7 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp" 2
332
333!> @brief Shared global parameters and equation-index setup for all three executables. Each per-target m_global_parameters uses this
334!! module (default-public, so all symbols re-export to downstream consumers via two-hop use-association).
336
337#ifdef MFC_MPI
338 use mpi
339#endif
340
342 use m_thermochem, only: num_species
345
346 implicit none
347
348 ! All namelist-bound scalar and array declarations (per-target, regenerated at build time by the ninja custom command)
349# 1 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp" 1
350! AUTO-GENERATED - do not edit directly. Regenerate: cmake reconfigure
351!
352real(wp) :: bx0
353real(wp) :: ca
354real(wp) :: r0ref
355real(wp) :: re_inv
356real(wp) :: web
358logical :: adap_dt
360real(wp) :: adap_dt_tol
361logical :: adv_n
362real(wp) :: alf_factor
363real(wp) :: alpha_bar
365integer :: avg_state
366logical :: bf_x
367logical :: bf_y
368logical :: bf_z
369integer :: bubble_model
372character(LEN=path_len) :: case_dir
373logical :: cfl_adap_dt
374logical :: cfl_const_dt
375real(wp) :: cfl_target
378real(wp) :: collision_time
379logical :: cont_damage
380real(wp) :: cont_damage_s
381logical :: cyl_coord
382logical :: down_sample
383real(wp) :: dt
384integer :: fd_order
385logical :: fft_wrt
387real(wp) :: g_x
388real(wp) :: g_y
389real(wp) :: g_z
395logical :: ib
398logical :: ib_state_wrt
399real(wp) :: ic_beta
400real(wp) :: ic_eps
401integer :: int_comp
402logical :: integral_wrt
403real(wp) :: k_x
404real(wp) :: k_y
405real(wp) :: k_z
406integer :: low_mach
407integer :: m
409logical :: mixture_err
410integer :: model_eqns
411logical :: mp_weno
412logical :: mpp_lim
413real(wp) :: muscl_eps
414integer :: n
415integer :: n_start
416logical :: null_weights
418integer :: num_ibs
423integer :: num_probes
424integer :: num_source
429integer :: p
430real(wp) :: p_x
431real(wp) :: p_y
432real(wp) :: p_z
433real(wp) :: palpha_eps
434logical :: parallel_io
435real(wp) :: pi_fac
436real(wp) :: poly_sigma
437logical :: polydisperse
438logical :: polytropic
439integer :: precision
440real(wp) :: pref
442logical :: probe_wrt
443real(wp) :: ptgalpha_eps
444logical :: qbmm
445logical :: rdma_mpi
446logical :: relax
447integer :: relax_model
448real(wp) :: rhoref
451real(wp) :: sigma
453real(wp) :: t_save
454integer :: t_step_old
455integer :: t_step_print
456integer :: t_step_save
457integer :: t_step_start
458integer :: t_step_stop
459real(wp) :: t_stop
460real(wp) :: tau_star
461real(wp) :: teno_ct
462integer :: thermal
463integer :: time_stepper
464real(wp) :: w_x
465real(wp) :: w_y
466real(wp) :: w_z
467integer :: wave_speeds
468logical :: weno_re_flux
469logical :: weno_avg
470real(wp) :: weno_eps
471real(wp) :: x_a
472real(wp) :: x_b
473real(wp) :: y_a
474real(wp) :: y_b
475real(wp) :: z_a
476real(wp) :: z_b
477type(physical_parameters), dimension(num_fluids_max) :: fluid_pp !< Per-fluid stiffened-gas EOS parameters, Reynolds numbers, and shear modulus
478type(subgrid_bubble_physical_parameters) :: bub_pp !< Subgrid bubble physical parameters
479type(ib_patch_parameters), dimension(num_ib_patches_max_namelist) :: patch_ib !< Immersed boundary patch parameters
480
481# 131 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
482#if defined(MFC_OpenACC)
483# 131 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
484!$acc declare create(patch_ib)
485# 131 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
486#elif defined(MFC_OpenMP)
487# 131 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
488!$omp declare target (patch_ib)
489# 131 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
490#endif
491type(ib_airfoil_parameters), dimension(num_ib_airfoils_max) :: ib_airfoil !< Per-airfoil NACA user inputs
492
493# 133 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
494#if defined(MFC_OpenACC)
495# 133 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
496!$acc declare create(ib_airfoil)
497# 133 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
498#elif defined(MFC_OpenMP)
499# 133 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
500!$omp declare target (ib_airfoil)
501# 133 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
502#endif
503type(ib_stl_parameters), dimension(num_stl_models_max) :: stl_models !< Per-STL model parameters
504
505# 135 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
506#if defined(MFC_OpenACC)
507# 135 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
508!$acc declare create(stl_models)
509# 135 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
510#elif defined(MFC_OpenMP)
511# 135 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
512!$omp declare target (stl_models)
513# 135 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
514#endif
515type(vec3_dt), dimension(num_probes_max) :: probe
516type(integral_parameters), dimension(num_probes_max) :: integral
517type(acoustic_parameters), dimension(num_probes_max) :: acoustic !< Acoustic source parameters
518
519# 139 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
520#if defined(MFC_OpenACC)
521# 139 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
522!$acc declare create(acoustic)
523# 139 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
524#elif defined(MFC_OpenMP)
525# 139 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
526!$omp declare target (acoustic)
527# 139 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
528#endif
530
531# 141 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
532#if defined(MFC_OpenACC)
533# 141 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
534!$acc declare create(chem_params)
535# 141 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
536#elif defined(MFC_OpenMP)
537# 141 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
538!$omp declare target (chem_params)
539# 141 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
540#endif
541type(bubbles_lagrange_parameters) :: lag_params !< Lagrange bubbles' parameters
542
543# 143 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
544#if defined(MFC_OpenACC)
545# 143 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
546!$acc declare create(lag_params)
547# 143 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
548#elif defined(MFC_OpenMP)
549# 143 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
550!$omp declare target (lag_params)
551# 143 "/home/runner/work/MFC/MFC/build/include/simulation/generated_decls.fpp"
552#endif
553type(particle_cloud_parameters), dimension(num_particle_clouds_max) :: particle_cloud !< Particle bed specifications
554# 25 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp" 2
555
556 ! Case-optimization declarations: parameters (under MFC_CASE_OPTIMIZATION) or plain variables for
557 ! num_dims, num_vels, weno_polyn, muscl_polyn, weno_num_stencils, wenojs, igr, etc.
558# 1 "/home/runner/work/MFC/MFC/build/include/simulation/generated_case_opt_decls.fpp" 1
559! AUTO-GENERATED - do not edit directly. Regenerate: cmake reconfigure
560!
561# 27 "/home/runner/work/MFC/MFC/build/include/simulation/generated_case_opt_decls.fpp"
562 integer :: num_dims
563 integer :: num_vels
564 integer :: weno_polyn
565 integer :: muscl_polyn
567 logical :: wenojs
568 logical :: igr
570 integer :: igr_order
571 logical :: igr_pres_lim
572 logical :: mapped_weno
573 logical :: mhd
574 integer :: muscl_lim
575 integer :: muscl_order
576 integer :: num_fluids
577 integer :: recon_type
578 logical :: relativity
579 logical :: teno
580 logical :: viscous
581 integer :: weno_order
582 logical :: wenoz
583 real(wp) :: wenoz_q
584# 50 "/home/runner/work/MFC/MFC/build/include/simulation/generated_case_opt_decls.fpp"
585# 29 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp" 2
586
587 ! For pre_process and post_process: num_dims and num_vels are declared manually here
588 ! (sim gets them from generated_case_opt_decls.fpp above)
589#ifndef MFC_SIMULATION
590 integer :: num_dims !< Number of spatial dimensions
591 integer :: num_vels !< Number of velocity components (different from num_dims for mhd)
592#endif
593
594 ! For pre_process: weno_polyn and muscl_polyn are declared manually here
595 ! (sim gets them from generated_case_opt_decls.fpp; post does not use them)
596#ifdef MFC_PRE_PROCESS
597 integer :: weno_polyn !< Degree of the WENO polynomials
598 integer :: muscl_polyn !< Degree of the MUSCL polynomials
599#endif
600
601 !> @name Annotations of the structure of the state and flux vectors in terms of the size and configuration of the system of
602 !! equations
603 !> @{
604 integer :: sys_size !< Number of unknowns in system of equations
605 type(eqn_idx_info) :: eqn_idx !< All conserved-variable equation index ranges and scalars
606 integer :: b_size !< Number of elements in the symmetric b tensor, plus one
607 integer :: tensor_size !< Number of elements in the full tensor plus one
608 !> @}
609
610 !> @name Chemistry modeling (Fypp compile-time constant; same value in all targets)
611 !> @{
612 logical, parameter :: chemistry = .false.
613 !> @}
614
615 !> @name Elasticity and shear stress state (identical across all three executables)
616 !> @{
617 logical :: elasticity !< elasticity modeling, true for hyper or hypo
618 integer :: shear_num !< Number of shear stress components
619 integer, dimension(3) :: shear_indices !< Indices of the stress components that represent shear stress
620 integer :: shear_bc_flip_num !< Number of shear stress components to reflect for boundary conditions
621 integer, dimension(3, 2) :: shear_bc_flip_indices !< Shear stress BC reflection indices (1:3, 1:shear_BC_flip_num)
622 !> @}
623
624#ifdef MFC_SIMULATION
625
626# 68 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
627#if defined(MFC_OpenACC)
628# 68 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
629!$acc declare create(sys_size, eqn_idx, b_size, tensor_size)
630# 68 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
631#elif defined(MFC_OpenMP)
632# 68 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
633!$omp declare target (sys_size, eqn_idx, b_size, tensor_size)
634# 68 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
635#endif
636
637# 69 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
638#if defined(MFC_OpenACC)
639# 69 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
640!$acc declare create(shear_num, shear_indices, shear_BC_flip_num, shear_BC_flip_indices)
641# 69 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
642#elif defined(MFC_OpenMP)
643# 69 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
644!$omp declare target (shear_num, shear_indices, shear_BC_flip_num, shear_BC_flip_indices)
645# 69 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
646#endif
647 ! Device residency for namelist/case-opt state declared above via the generated
648 ! includes: declare directives must live in the declaring module (Cray ftn rejects
649 ! declare-target on use-associated names), so these moved here from simulation.
650
651# 73 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
652#if defined(MFC_OpenACC)
653# 73 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
654!$acc declare create(cyl_coord)
655# 73 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
656#elif defined(MFC_OpenMP)
657# 73 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
658!$omp declare target (cyl_coord)
659# 73 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
660#endif
661
662# 74 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
663#if defined(MFC_OpenACC)
664# 74 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
665!$acc declare create(dt, m, n, p)
666# 74 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
667#elif defined(MFC_OpenMP)
668# 74 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
669!$omp declare target (dt, m, n, p)
670# 74 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
671#endif
672
673# 75 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
674#if defined(MFC_OpenACC)
675# 75 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
676!$acc declare create(cfl_target)
677# 75 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
678#elif defined(MFC_OpenMP)
679# 75 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
680!$omp declare target (cfl_target)
681# 75 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
682#endif
683
684# 76 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
685#if defined(MFC_OpenACC)
686# 76 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
687!$acc declare create(int_comp, ic_eps, ic_beta)
688# 76 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
689#elif defined(MFC_OpenMP)
690# 76 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
691!$omp declare target (int_comp, ic_eps, ic_beta)
692# 76 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
693#endif
694
695# 77 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
696#if defined(MFC_OpenACC)
697# 77 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
698!$acc declare create(muscl_eps)
699# 77 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
700#elif defined(MFC_OpenMP)
701# 77 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
702!$omp declare target (muscl_eps)
703# 77 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
704#endif
705
706# 78 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
707#if defined(MFC_OpenACC)
708# 78 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
709!$acc declare create(mpp_lim, model_eqns, mixture_err, alt_soundspeed)
710# 78 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
711#elif defined(MFC_OpenMP)
712# 78 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
713!$omp declare target (mpp_lim, model_eqns, mixture_err, alt_soundspeed)
714# 78 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
715#endif
716
717# 79 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
718#if defined(MFC_OpenACC)
719# 79 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
720!$acc declare create(avg_state, mp_weno, weno_eps, teno_CT, hypoelasticity)
721# 79 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
722#elif defined(MFC_OpenMP)
723# 79 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
724!$omp declare target (avg_state, mp_weno, weno_eps, teno_CT, hypoelasticity)
725# 79 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
726#endif
727
728# 80 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
729#if defined(MFC_OpenACC)
730# 80 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
731!$acc declare create(hyperelasticity, elasticity, low_Mach)
732# 80 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
733#elif defined(MFC_OpenMP)
734# 80 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
735!$omp declare target (hyperelasticity, elasticity, low_Mach)
736# 80 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
737#endif
738
739# 81 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
740#if defined(MFC_OpenACC)
741# 81 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
742!$acc declare create(cont_damage, hyper_cleaning)
743# 81 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
744#elif defined(MFC_OpenMP)
745# 81 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
746!$omp declare target (cont_damage, hyper_cleaning)
747# 81 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
748#endif
749
750# 82 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
751#if defined(MFC_OpenACC)
752# 82 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
753!$acc declare create(relax, relax_model, palpha_eps, ptgalpha_eps)
754# 82 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
755#elif defined(MFC_OpenMP)
756# 82 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
757!$omp declare target (relax, relax_model, palpha_eps, ptgalpha_eps)
758# 82 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
759#endif
760
761# 83 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
762#if defined(MFC_OpenACC)
763# 83 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
764!$acc declare create(down_sample)
765# 83 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
766#elif defined(MFC_OpenMP)
767# 83 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
768!$omp declare target (down_sample)
769# 83 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
770#endif
771
772# 84 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
773#if defined(MFC_OpenACC)
774# 84 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
775!$acc declare create(fd_order)
776# 84 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
777#elif defined(MFC_OpenMP)
778# 84 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
779!$omp declare target (fd_order)
780# 84 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
781#endif
782
783# 85 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
784#if defined(MFC_OpenACC)
785# 85 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
786!$acc declare create(rhoref, pref)
787# 85 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
788#elif defined(MFC_OpenMP)
789# 85 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
790!$omp declare target (rhoref, pref)
791# 85 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
792#endif
793
794# 86 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
795#if defined(MFC_OpenACC)
796# 86 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
797!$acc declare create(ib, num_ibs)
798# 86 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
799#elif defined(MFC_OpenMP)
800# 86 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
801!$omp declare target (ib, num_ibs)
802# 86 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
803#endif
804
805# 87 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
806#if defined(MFC_OpenACC)
807# 87 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
808!$acc declare create(ib_coefficient_of_friction)
809# 87 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
810#elif defined(MFC_OpenMP)
811# 87 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
812!$omp declare target (ib_coefficient_of_friction)
813# 87 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
814#endif
815
816# 88 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
817#if defined(MFC_OpenACC)
818# 88 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
819!$acc declare create(Ca, Web, Re_inv)
820# 88 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
821#elif defined(MFC_OpenMP)
822# 88 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
823!$omp declare target (Ca, Web, Re_inv)
824# 88 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
825#endif
826
827# 89 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
828#if defined(MFC_OpenACC)
829# 89 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
830!$acc declare create(bubbles_euler, polytropic, polydisperse)
831# 89 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
832#elif defined(MFC_OpenMP)
833# 89 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
834!$omp declare target (bubbles_euler, polytropic, polydisperse)
835# 89 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
836#endif
837
838# 90 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
839#if defined(MFC_OpenACC)
840# 90 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
841!$acc declare create(adv_n, adap_dt, adap_dt_tol, adap_dt_max_iters)
842# 90 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
843#elif defined(MFC_OpenMP)
844# 90 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
845!$omp declare target (adv_n, adap_dt, adap_dt_tol, adap_dt_max_iters)
846# 90 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
847#endif
848
849# 91 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
850#if defined(MFC_OpenACC)
851# 91 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
852!$acc declare create(bubble_model, thermal)
853# 91 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
854#elif defined(MFC_OpenMP)
855# 91 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
856!$omp declare target (bubble_model, thermal)
857# 91 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
858#endif
859
860# 92 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
861#if defined(MFC_OpenACC)
862# 92 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
863!$acc declare create(poly_sigma)
864# 92 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
865#elif defined(MFC_OpenMP)
866# 92 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
867!$omp declare target (poly_sigma)
868# 92 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
869#endif
870
871# 93 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
872#if defined(MFC_OpenACC)
873# 93 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
874!$acc declare create(qbmm, pi_fac)
875# 93 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
876#elif defined(MFC_OpenMP)
877# 93 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
878!$omp declare target (qbmm, pi_fac)
879# 93 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
880#endif
881
882# 94 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
883#if defined(MFC_OpenACC)
884# 94 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
885!$acc declare create(R0ref)
886# 94 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
887#elif defined(MFC_OpenMP)
888# 94 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
889!$omp declare target (R0ref)
890# 94 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
891#endif
892
893# 95 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
894#if defined(MFC_OpenACC)
895# 95 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
896!$acc declare create(acoustic_source, num_source)
897# 95 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
898#elif defined(MFC_OpenMP)
899# 95 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
900!$omp declare target (acoustic_source, num_source)
901# 95 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
902#endif
903
904# 96 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
905#if defined(MFC_OpenACC)
906# 96 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
907!$acc declare create(sigma, surface_tension)
908# 96 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
909#elif defined(MFC_OpenMP)
910# 96 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
911!$omp declare target (sigma, surface_tension)
912# 96 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
913#endif
914
915# 97 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
916#if defined(MFC_OpenACC)
917# 97 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
918!$acc declare create(bubbles_lagrange)
919# 97 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
920#elif defined(MFC_OpenMP)
921# 97 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
922!$omp declare target (bubbles_lagrange)
923# 97 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
924#endif
925
926# 98 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
927#if defined(MFC_OpenACC)
928# 98 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
929!$acc declare create(Bx0)
930# 98 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
931#elif defined(MFC_OpenMP)
932# 98 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
933!$omp declare target (Bx0)
934# 98 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
935#endif
936
937# 99 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
938#if defined(MFC_OpenACC)
939# 99 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
940!$acc declare create(tau_star, cont_damage_s, alpha_bar)
941# 99 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
942#elif defined(MFC_OpenMP)
943# 99 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
944!$omp declare target (tau_star, cont_damage_s, alpha_bar)
945# 99 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
946#endif
947
948# 100 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
949#if defined(MFC_OpenACC)
950# 100 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
951!$acc declare create(hyper_cleaning_speed, hyper_cleaning_tau)
952# 100 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
953#elif defined(MFC_OpenMP)
954# 100 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
955!$omp declare target (hyper_cleaning_speed, hyper_cleaning_tau)
956# 100 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
957#endif
958# 102 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
959
960# 102 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
961#if defined(MFC_OpenACC)
962# 102 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
963!$acc declare create(num_dims, num_vels, weno_polyn, weno_order)
964# 102 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
965#elif defined(MFC_OpenMP)
966# 102 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
967!$omp declare target (num_dims, num_vels, weno_polyn, weno_order)
968# 102 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
969#endif
970
971# 103 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
972#if defined(MFC_OpenACC)
973# 103 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
974!$acc declare create(weno_num_stencils, num_fluids, wenojs)
975# 103 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
976#elif defined(MFC_OpenMP)
977# 103 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
978!$omp declare target (weno_num_stencils, num_fluids, wenojs)
979# 103 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
980#endif
981
982# 104 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
983#if defined(MFC_OpenACC)
984# 104 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
985!$acc declare create(mapped_weno, wenoz, teno, wenoz_q, mhd, relativity)
986# 104 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
987#elif defined(MFC_OpenMP)
988# 104 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
989!$omp declare target (mapped_weno, wenoz, teno, wenoz_q, mhd, relativity)
990# 104 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
991#endif
992
993# 105 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
994#if defined(MFC_OpenACC)
995# 105 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
996!$acc declare create(igr_iter_solver, igr_order, viscous, igr_pres_lim, igr)
997# 105 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
998#elif defined(MFC_OpenMP)
999# 105 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1000!$omp declare target (igr_iter_solver, igr_order, viscous, igr_pres_lim, igr)
1001# 105 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1002#endif
1003
1004# 106 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1005#if defined(MFC_OpenACC)
1006# 106 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1007!$acc declare create(recon_type, muscl_order, muscl_polyn, muscl_lim)
1008# 106 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1009#elif defined(MFC_OpenMP)
1010# 106 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1011!$omp declare target (recon_type, muscl_order, muscl_polyn, muscl_lim)
1012# 106 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1013#endif
1014# 108 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1015#endif
1016
1017 !> @name Processor coordinates and parallel-IO addressing (identical declaration across all three targets)
1018 !> @{
1019 integer, allocatable, dimension(:) :: proc_coords !< Processor coordinates in MPI_CART_COMM
1020 integer, allocatable, dimension(:) :: start_idx !< Starting cell-center index of local processor in global grid
1021 integer :: num_procs_x = 1 !< Number of MPI ranks in x-direction
1022 integer :: num_procs_y = 1 !< Number of MPI ranks in y-direction
1023 integer :: num_procs_z = 1 !< Number of MPI ranks in z-direction
1024 !> @}
1025
1026 !> @name MPI info for parallel IO with Lustre file systems (identical across all three targets)
1027 !> @{
1028 character(len=name_len) :: mpiiofs
1029 integer :: mpi_info_int
1030 !> @}
1031
1032contains
1033
1034 !> Initialize equation-index state (eqn_idx, sys_size, b_size, tensor_size) from the namelist parameters. This is the shared
1035 !! skeleton: it covers the model_eqns dispatch, all eqn_idx field assignments, and the elasticity/surface-tension/chemistry
1036 !! extensions.
1037 !!
1038 !! @param nmom_in Number of carried moments per R0 location (per-target: pre/post pass an
1039 !! integer variable; sim passes its integer parameter nmom = 6). Used only in the 5eq
1040 !! qbmm bubble-index calculation (eqn_idx%bub%end = eqn_idx%adv%end + nb_in*nmom_in).
1041 !!
1042 !! Per-target callers are responsible for the following after this call:
1043 !! - qbmm_idx allocations and fills (diverge between pre vs sim/post)
1044 !! - sim-only: gam = bub_pp%gam_g, nmomsp/nmomtot, Re_idx allocation, GPU_UPDATE calls
1045 !! - post-only: beta_idx increment (bubbles_lagrange path), offset/grid allocations
1046 impure subroutine s_initialize_eqn_idx(nmom_in, nb_in)
1047
1048 integer, intent(in) :: nmom_in
1049 integer, intent(in) :: nb_in
1050
1051 ! Gamma/Pi_inf Model
1052
1053 if (model_eqns == model_eqns_gamma_law) then
1054 ! Annotating structure of the state and flux vectors belonging to the system of
1055 ! equations defined by the selected number of spatial dimensions and the gamma/pi_inf model
1056 eqn_idx%cont%beg = 1
1057 eqn_idx%cont%end = eqn_idx%cont%beg
1058 eqn_idx%mom%beg = eqn_idx%cont%end + 1
1059 eqn_idx%mom%end = eqn_idx%cont%end + num_vels
1060 eqn_idx%E = eqn_idx%mom%end + 1
1061 eqn_idx%adv%beg = eqn_idx%E + 1
1062 eqn_idx%adv%end = eqn_idx%adv%beg + 1
1063 eqn_idx%gamma = eqn_idx%adv%beg
1064 eqn_idx%pi_inf = eqn_idx%adv%end
1065 sys_size = eqn_idx%adv%end
1066
1067 ! Volume Fraction Model (5-equation model)
1068 else if (model_eqns == model_eqns_5eq) then
1069 ! Annotating structure of the state and flux vectors belonging to the system of
1070 ! equations defined by the selected number of spatial dimensions and the volume fraction model
1071 eqn_idx%cont%beg = 1
1072 eqn_idx%cont%end = num_fluids
1073 eqn_idx%mom%beg = eqn_idx%cont%end + 1
1074 eqn_idx%mom%end = eqn_idx%cont%end + num_vels
1075 eqn_idx%E = eqn_idx%mom%end + 1
1076
1077 if (igr) then
1078 ! IGR: volume fractions after energy (N-1 for N fluids; skipped when num_fluids=1)
1079 eqn_idx%adv%beg = eqn_idx%E + 1
1080 eqn_idx%adv%end = eqn_idx%E + num_fluids - 1
1081 else
1082 ! WENO/MUSCL + Riemann tracks a total of (N) volume fractions for N fluids
1083 eqn_idx%adv%beg = eqn_idx%E + 1
1084 eqn_idx%adv%end = eqn_idx%E + num_fluids
1085 end if
1086
1087 sys_size = eqn_idx%adv%end
1088
1089 if (bubbles_euler) then
1090 eqn_idx%alf = eqn_idx%adv%end
1091 else
1092 eqn_idx%alf = 1
1093 end if
1094
1095 if (bubbles_euler) then
1096 eqn_idx%bub%beg = sys_size + 1
1097 if (qbmm) then
1098 eqn_idx%bub%end = eqn_idx%adv%end + nb_in*nmom_in
1099 else
1100 if (.not. polytropic) then
1101 eqn_idx%bub%end = sys_size + 4*nb_in
1102 else
1103 eqn_idx%bub%end = sys_size + 2*nb_in
1104 end if
1105 end if
1106 sys_size = eqn_idx%bub%end
1107
1108 if (adv_n) then
1109 eqn_idx%n = eqn_idx%bub%end + 1
1110 sys_size = eqn_idx%n
1111 end if
1112 end if
1113
1114 if (mhd) then
1115 eqn_idx%B%beg = sys_size + 1
1116 if (n == 0) then
1117 eqn_idx%B%end = sys_size + 2 ! 1D: By, Bz
1118 else
1119 eqn_idx%B%end = sys_size + 3 ! 2D/3D: Bx, By, Bz
1120 end if
1121 sys_size = eqn_idx%B%end
1122 end if
1123
1124 ! Volume Fraction Model (6-equation model)
1125 else if (model_eqns == model_eqns_6eq) then
1126 ! Annotating structure of the state and flux vectors belonging to the system of
1127 ! equations defined by the selected number of spatial dimensions and the volume fraction model
1128 eqn_idx%cont%beg = 1
1129 eqn_idx%cont%end = num_fluids
1130 eqn_idx%mom%beg = eqn_idx%cont%end + 1
1131 eqn_idx%mom%end = eqn_idx%cont%end + num_vels
1132 eqn_idx%E = eqn_idx%mom%end + 1
1133 eqn_idx%adv%beg = eqn_idx%E + 1
1134 eqn_idx%adv%end = eqn_idx%E + num_fluids
1135#ifdef MFC_SIMULATION
1136 eqn_idx%alf = eqn_idx%adv%end
1137#endif
1138 eqn_idx%int_en%beg = eqn_idx%adv%end + 1
1139 eqn_idx%int_en%end = eqn_idx%adv%end + num_fluids
1140 sys_size = eqn_idx%int_en%end
1141 else if (model_eqns == model_eqns_4eq) then
1142 ! 4-equation model with subgrid bubbles
1143 eqn_idx%cont%beg = 1
1144 eqn_idx%cont%end = 1
1145 eqn_idx%mom%beg = eqn_idx%cont%end + 1
1146 eqn_idx%mom%end = eqn_idx%cont%end + num_vels
1147 eqn_idx%E = eqn_idx%mom%end + 1
1148 eqn_idx%adv%beg = eqn_idx%E + 1
1149 eqn_idx%adv%end = eqn_idx%adv%beg
1150 eqn_idx%alf = eqn_idx%adv%end
1151 sys_size = eqn_idx%adv%end
1152
1153 if (bubbles_euler) then
1154 eqn_idx%bub%beg = sys_size + 1
1155 eqn_idx%bub%end = sys_size + 2*nb_in
1156 if (.not. polytropic) then
1157 eqn_idx%bub%end = sys_size + 4*nb_in
1158 end if
1159 sys_size = eqn_idx%bub%end
1160 end if
1161 end if
1162
1164 if (hypoelasticity .or. hyperelasticity) then
1165 elasticity = .true.
1166 eqn_idx%stress%beg = sys_size + 1
1167 eqn_idx%stress%end = sys_size + (num_dims*(num_dims + 1))/2
1168 if (cyl_coord) eqn_idx%stress%end = eqn_idx%stress%end + 1
1169 ! number of stresses is 1 in 1D, 3 in 2D, 4 in 2D-Axisym, 6 in 3D
1170 sys_size = eqn_idx%stress%end
1171
1172 ! shear stress index is 2 for 2D and 2,4,5 for 3D
1173 if (num_dims == 1) then
1174 shear_num = 0
1175 else if (num_dims == 2) then
1176 shear_num = 1
1177 shear_indices(1) = eqn_idx%stress%beg - 1 + 2
1180 ! Both x-dir and y-dir: flip tau_xy only
1181 else if (num_dims == 3) then
1182 shear_num = 3
1183 shear_indices(1:3) = eqn_idx%stress%beg - 1 + (/2, 4, 5/)
1185 shear_bc_flip_indices(1,1:2) = shear_indices((/1, 2/))
1186 shear_bc_flip_indices(2,1:2) = shear_indices((/1, 3/))
1187 shear_bc_flip_indices(3,1:2) = shear_indices((/2, 3/))
1188 ! x-dir: flip tau_xy and tau_xz; y-dir: flip tau_xy and tau_yz; z-dir: flip tau_xz and tau_yz
1189 end if
1190 end if
1191
1192 if (hyperelasticity) then
1193 ! number of entries in the symmetric b tensor plus the jacobian
1194 b_size = (num_dims*(num_dims + 1))/2 + 1
1195 tensor_size = num_dims**2 + 1
1196 eqn_idx%xi%beg = sys_size + 1
1197 eqn_idx%xi%end = sys_size + num_dims
1198 ! adding equations for the xi field and the elastic energy
1199 sys_size = eqn_idx%xi%end + 1
1200 end if
1201
1202 if (surface_tension) then
1203 eqn_idx%c = sys_size + 1
1204 sys_size = eqn_idx%c
1205 end if
1206
1207 if (cont_damage) then
1208 eqn_idx%damage = sys_size + 1
1209 sys_size = eqn_idx%damage
1210 end if
1211
1212 if (hyper_cleaning) then
1213 eqn_idx%psi = sys_size + 1
1214 sys_size = eqn_idx%psi
1215 end if
1216 end if
1217
1218 if (chemistry) then
1219 eqn_idx%species%beg = sys_size + 1
1220 eqn_idx%species%end = sys_size + num_species
1221 sys_size = eqn_idx%species%end
1222 end if
1223
1224 end subroutine s_initialize_eqn_idx
1225
1226 !> Configure MPI parallel I/O settings and allocate processor coordinate arrays. Shared across all three executables;
1227 !! num_dims/num_vels are computed here for pre/post unconditionally and for sim only when not case-optimized (in which case they
1228 !! are compile-time parameters). Callers must have already populated n and p (grid dimensions).
1230
1231#ifdef MFC_MPI
1232 integer :: ierr !< Generic flag used to identify and report MPI errors
1233#endif
1234
1235#ifdef MFC_SIMULATION
1236 ! Under case-optimization, num_dims and num_vels are compile-time parameters; skip assignment.
1237# 331 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1238 num_dims = 1 + min(1, n) + min(1, p)
1239
1240 if (mhd) then
1241 num_vels = 3
1242 else
1244 end if
1245# 339 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1246#else
1247 num_dims = 1 + min(1, n) + min(1, p)
1248
1249 if (mhd) then
1250 num_vels = 3
1251 else
1253 end if
1254#endif
1255
1256 allocate (proc_coords(1:num_dims))
1257
1258 if (parallel_io .neqv. .true.) return
1259
1260#ifdef MFC_MPI
1261 ! Option for Lustre file system (Darter/Comet/Stampede)
1262 write (mpiiofs, '(A)') '/lustre_'
1263 mpiiofs = trim(mpiiofs)
1264 call mpi_info_create(mpi_info_int, ierr)
1265 call mpi_info_set(mpi_info_int, 'romio_ds_write', 'disable', ierr)
1266
1267 ! Option for UNIX file system (Hooke/Thomson) WRITE(mpiiofs, '(A)') '/ufs_' mpiiofs = TRIM(mpiiofs) mpi_info_int =
1268 ! MPI_INFO_NULL
1269
1270 allocate (start_idx(1:num_dims))
1271#endif
1272
1273 end subroutine s_initialize_parallel_io_common
1274
1275 !> Shared finalize core: deallocate proc_coords and start_idx. Per-target finalize routines call this first, then handle their
1276 !! own extras (qbmm_idx, grid arrays, MPI_IO_DATA null/dealloc - those reference per-target typed variables and stay
1277 !! per-target).
1279
1280 deallocate (proc_coords)
1281
1282#ifdef MFC_MPI
1283 if (parallel_io) then
1284 deallocate (start_idx)
1285 end if
1286#endif
1287
1289
1290 !> Assign default values to the user-input parameters that are shared across all three executables (pre_process, simulation,
1291 !! post_process). Per-target defaults (bc_io, cfl_dt, precision, nb, chem_params, bub_pp scalar companions, fluid_pp loop, patch
1292 !! arrays, output flags) remain in the per-target s_assign_default_values_to_user_inputs routines, which call this subroutine
1293 !! first, then call s_update_cell_bounds(cells_bounds, m, n, p) (cells_bounds is per-target), then apply their own assignments.
1295
1296 ! Logistics
1297 case_dir = '.'
1298
1299 ! Computational domain parameters (m/n/p set here; caller must call s_update_cell_bounds after)
1300 m = dflt_int; n = 0; p = 0
1301
1302 cyl_coord = .false.
1303
1304 ! CFL adaptive time-stepping flags
1305 cfl_adap_dt = .false.
1306 cfl_const_dt = .false.
1307
1308 ! Time-stepping bookkeeping
1311
1312 ! Simulation algorithm
1314 relax = .false.
1316 hypoelasticity = .false.
1317 hyperelasticity = .false.
1318 elasticity = .false.
1321 cont_damage = .false.
1322 hyper_cleaning = .false.
1323
1324 ! Case-optimization params: under case-opt these are compile-time constants in sim (skip assignment); in pre/post
1325 ! MFC_CASE_OPTIMIZATION is always False so the block always executes there.
1326# 420 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1331 igr = .false.
1333 mhd = .false.
1334 relativity = .false.
1335# 429 "/home/runner/work/MFC/MFC/src/common/m_global_parameters_common.fpp"
1336
1337 ! Tait EOS
1339 pref = dflt_real
1340
1341 ! Bubble modeling flags and parameters
1343 bubbles_euler = .false.
1344 polydisperse = .false.
1346 qbmm = .false.
1347 surface_tension = .false.
1348 adv_n = .false.
1350 bubbles_lagrange = .false.
1351
1352 ! Immersed boundaries
1353 ib = .false.
1355
1356 ! MHD (background field)
1357 bx0 = dflt_real
1358
1359 ! Output and I/O options
1360 parallel_io = .false.
1361 file_per_process = .false.
1362 down_sample = .false.
1363 fft_wrt = .false.
1364
1365 end subroutine s_assign_common_defaults
1366
Compile-time constant parameters: default values, tolerances, and physical constants.
integer, parameter model_eqns_4eq
integer, parameter model_eqns_5eq
integer, parameter name_len
Maximum name length.
integer, parameter dflt_int
Default integer value.
real(wp), parameter dflt_real
Default real value.
integer, parameter recon_type_muscl
integer, parameter recon_type_weno
integer, parameter model_eqns_6eq
integer, parameter model_eqns_gamma_law
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Shared global parameters and equation-index setup for all three executables. Each per-target m_global...
integer muscl_polyn
Degree of the MUSCL polynomials.
type(ib_stl_parameters), dimension(num_stl_models_max) stl_models
Per-STL model parameters.
integer, dimension(:), allocatable start_idx
Starting cell-center index of local processor in global grid.
impure subroutine s_finalize_global_parameters_common
Shared finalize core: deallocate proc_coords and start_idx. Per-target finalize routines call this fi...
type(subgrid_bubble_physical_parameters) bub_pp
Subgrid bubble physical parameters.
integer shear_num
Number of shear stress components.
type(vec3_dt), dimension(num_probes_max) probe
integer sys_size
Number of unknowns in system of equations.
type(integral_parameters), dimension(num_probes_max) integral
integer num_procs_y
Number of MPI ranks in y-direction.
type(physical_parameters), dimension(num_fluids_max) fluid_pp
Per-fluid stiffened-gas EOS parameters, Reynolds numbers, and shear modulus.
integer shear_bc_flip_num
Number of shear stress components to reflect for boundary conditions.
integer tensor_size
Number of elements in the full tensor plus one.
logical elasticity
elasticity modeling, true for hyper or hypo
integer, dimension(:), allocatable proc_coords
Processor coordinates in MPI_CART_COMM.
integer num_procs_x
Number of MPI ranks in x-direction.
integer num_dims
Number of spatial dimensions.
integer num_vels
Number of velocity components (different from num_dims for mhd).
type(eqn_idx_info) eqn_idx
All conserved-variable equation index ranges and scalars.
type(acoustic_parameters), dimension(num_probes_max) acoustic
Acoustic source parameters.
integer num_procs_z
Number of MPI ranks in z-direction.
integer, dimension(3, 2) shear_bc_flip_indices
Shear stress BC reflection indices (1:3, 1:shear_BC_flip_num).
impure subroutine s_initialize_eqn_idx(nmom_in, nb_in)
Initialize equation-index state (eqn_idx, sys_size, b_size, tensor_size) from the namelist parameters...
type(ib_patch_parameters), dimension(num_ib_patches_max_namelist) patch_ib
Immersed boundary patch parameters.
impure subroutine s_initialize_parallel_io_common
Configure MPI parallel I/O settings and allocate processor coordinate arrays. Shared across all three...
type(particle_cloud_parameters), dimension(num_particle_clouds_max) particle_cloud
Particle bed specifications.
integer weno_polyn
Degree of the WENO polynomials.
type(ib_airfoil_parameters), dimension(num_ib_airfoils_max) ib_airfoil
Per-airfoil NACA user inputs.
impure subroutine s_assign_common_defaults
Assign default values to the user-input parameters that are shared across all three executables (pre_...
integer b_size
Number of elements in the symmetric b tensor, plus one.
type(bubbles_lagrange_parameters) lag_params
Lagrange bubbles' parameters.
integer, dimension(3) shear_indices
Indices of the stress components that represent shear stress.
All conserved-variable equation indices, computed at startup from model_eqns and enabled features....
User-input parameters for a NACA 4-digit airfoil (namelist-safe: scalars only).
User-input parameters for an STL/OBJ immersed boundary model (namelist-safe: scalars + fixed arrays).
Derived type annexing integral regions.
Derived type annexing the physical parameters (PP) of the fluids. These include the specific heat rat...
Derived type annexing the physical parameters required for sub-grid bubble models.
Generic 3-component vector (e.g., spatial coordinates or field components) Named _dt (derived types: ...