MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_mpi_proxy.fpp.f90
Go to the documentation of this file.
1# 1 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
2!>
3!! @file
4!! @brief Contains module m_mpi_proxy
5
6!> @brief Broadcasts user inputs and decomposes the domain across MPI ranks for pre-processing
8
9#ifdef MFC_MPI
10 use mpi
11#endif
12
13 use m_helper
16 use m_mpi_common
17
18 implicit none
19
20contains
21 !> Since only processor with rank 0 is in charge of reading and checking the consistency of the user provided inputs, these are
22 !! not available to the remaining processors. This subroutine is then in charge of broadcasting the required information.
23 impure subroutine s_mpi_bcast_user_inputs
24
25#ifdef MFC_MPI
26 integer :: i, j
27 integer :: ierr
28
29 call mpi_bcast(case_dir, len(case_dir), mpi_character, 0, mpi_comm_world, ierr)
30
31# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
32 call mpi_bcast(t_step_old, 1, mpi_integer, 0, mpi_comm_world, ierr)
33# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
34 call mpi_bcast(t_step_start, 1, mpi_integer, 0, mpi_comm_world, ierr)
35# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
36 call mpi_bcast(m, 1, mpi_integer, 0, mpi_comm_world, ierr)
37# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
38 call mpi_bcast(n, 1, mpi_integer, 0, mpi_comm_world, ierr)
39# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
40 call mpi_bcast(p, 1, mpi_integer, 0, mpi_comm_world, ierr)
41# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
42 call mpi_bcast(m_glb, 1, mpi_integer, 0, mpi_comm_world, ierr)
43# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
44 call mpi_bcast(n_glb, 1, mpi_integer, 0, mpi_comm_world, ierr)
45# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
46 call mpi_bcast(p_glb, 1, mpi_integer, 0, mpi_comm_world, ierr)
47# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
48 call mpi_bcast(loops_x, 1, mpi_integer, 0, mpi_comm_world, ierr)
49# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
50 call mpi_bcast(loops_y, 1, mpi_integer, 0, mpi_comm_world, ierr)
51# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
52 call mpi_bcast(loops_z, 1, mpi_integer, 0, mpi_comm_world, ierr)
53# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
54 call mpi_bcast(model_eqns, 1, mpi_integer, 0, mpi_comm_world, ierr)
55# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
56 call mpi_bcast(num_fluids, 1, mpi_integer, 0, mpi_comm_world, ierr)
57# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
58 call mpi_bcast(weno_order, 1, mpi_integer, 0, mpi_comm_world, ierr)
59# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
60 call mpi_bcast(precision, 1, mpi_integer, 0, mpi_comm_world, ierr)
61# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
62 call mpi_bcast(perturb_flow_fluid, 1, mpi_integer, 0, mpi_comm_world, ierr)
63# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
64 call mpi_bcast(perturb_sph_fluid, 1, mpi_integer, 0, mpi_comm_world, ierr)
65# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
66 call mpi_bcast(num_patches, 1, mpi_integer, 0, mpi_comm_world, ierr)
67# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
68 call mpi_bcast(thermal, 1, mpi_integer, 0, mpi_comm_world, ierr)
69# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
70 call mpi_bcast(nb, 1, mpi_integer, 0, mpi_comm_world, ierr)
71# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
72 call mpi_bcast(dist_type, 1, mpi_integer, 0, mpi_comm_world, ierr)
73# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
74 call mpi_bcast(relax_model, 1, mpi_integer, 0, mpi_comm_world, ierr)
75# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
76 call mpi_bcast(num_ibs, 1, mpi_integer, 0, mpi_comm_world, ierr)
77# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
78 call mpi_bcast(n_start, 1, mpi_integer, 0, mpi_comm_world, ierr)
79# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
80 call mpi_bcast(elliptic_smoothing_iters, 1, mpi_integer, 0, mpi_comm_world, ierr)
81# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
82 call mpi_bcast(num_bc_patches, 1, mpi_integer, 0, mpi_comm_world, ierr)
83# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
84 call mpi_bcast(mixlayer_perturb_nk, 1, mpi_integer, 0, mpi_comm_world, ierr)
85# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
86 call mpi_bcast(recon_type, 1, mpi_integer, 0, mpi_comm_world, ierr)
87# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
88 call mpi_bcast(muscl_order, 1, mpi_integer, 0, mpi_comm_world, ierr)
89# 37 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
90 call mpi_bcast(igr_order, 1, mpi_integer, 0, mpi_comm_world, ierr)
91# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
92
93# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
94 call mpi_bcast(old_grid, 1, mpi_logical, 0, mpi_comm_world, ierr)
95# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
96 call mpi_bcast(old_ic, 1, mpi_logical, 0, mpi_comm_world, ierr)
97# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
98 call mpi_bcast(stretch_x, 1, mpi_logical, 0, mpi_comm_world, ierr)
99# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
100 call mpi_bcast(stretch_y, 1, mpi_logical, 0, mpi_comm_world, ierr)
101# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
102 call mpi_bcast(stretch_z, 1, mpi_logical, 0, mpi_comm_world, ierr)
103# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
104 call mpi_bcast(cyl_coord, 1, mpi_logical, 0, mpi_comm_world, ierr)
105# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
106 call mpi_bcast(mpp_lim, 1, mpi_logical, 0, mpi_comm_world, ierr)
107# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
108 call mpi_bcast(hypoelasticity, 1, mpi_logical, 0, mpi_comm_world, ierr)
109# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
110 call mpi_bcast(relax, 1, mpi_logical, 0, mpi_comm_world, ierr)
111# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
112 call mpi_bcast(parallel_io, 1, mpi_logical, 0, mpi_comm_world, ierr)
113# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
114 call mpi_bcast(perturb_flow, 1, mpi_logical, 0, mpi_comm_world, ierr)
115# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
116 call mpi_bcast(perturb_sph, 1, mpi_logical, 0, mpi_comm_world, ierr)
117# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
118 call mpi_bcast(mixlayer_vel_profile, 1, mpi_logical, 0, mpi_comm_world, ierr)
119# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
120 call mpi_bcast(mixlayer_perturb, 1, mpi_logical, 0, mpi_comm_world, ierr)
121# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
122 call mpi_bcast(bubbles_euler, 1, mpi_logical, 0, mpi_comm_world, ierr)
123# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
124 call mpi_bcast(polytropic, 1, mpi_logical, 0, mpi_comm_world, ierr)
125# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
126 call mpi_bcast(polydisperse, 1, mpi_logical, 0, mpi_comm_world, ierr)
127# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
128 call mpi_bcast(qbmm, 1, mpi_logical, 0, mpi_comm_world, ierr)
129# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
130 call mpi_bcast(file_per_process, 1, mpi_logical, 0, mpi_comm_world, ierr)
131# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
132 call mpi_bcast(adv_n, 1, mpi_logical, 0, mpi_comm_world, ierr)
133# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
134 call mpi_bcast(ib, 1, mpi_logical, 0, mpi_comm_world, ierr)
135# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
136 call mpi_bcast(cfl_adap_dt, 1, mpi_logical, 0, mpi_comm_world, ierr)
137# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
138 call mpi_bcast(cfl_const_dt, 1, mpi_logical, 0, mpi_comm_world, ierr)
139# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
140 call mpi_bcast(cfl_dt, 1, mpi_logical, 0, mpi_comm_world, ierr)
141# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
142 call mpi_bcast(surface_tension, 1, mpi_logical, 0, mpi_comm_world, ierr)
143# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
144 call mpi_bcast(hyperelasticity, 1, mpi_logical, 0, mpi_comm_world, ierr)
145# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
146 call mpi_bcast(pre_stress, 1, mpi_logical, 0, mpi_comm_world, ierr)
147# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
148 call mpi_bcast(elliptic_smoothing, 1, mpi_logical, 0, mpi_comm_world, ierr)
149# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
150 call mpi_bcast(viscous, 1, mpi_logical, 0, mpi_comm_world, ierr)
151# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
152 call mpi_bcast(bubbles_lagrange, 1, mpi_logical, 0, mpi_comm_world, ierr)
153# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
154 call mpi_bcast(bc_io, 1, mpi_logical, 0, mpi_comm_world, ierr)
155# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
156 call mpi_bcast(mhd, 1, mpi_logical, 0, mpi_comm_world, ierr)
157# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
158 call mpi_bcast(relativity, 1, mpi_logical, 0, mpi_comm_world, ierr)
159# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
160 call mpi_bcast(cont_damage, 1, mpi_logical, 0, mpi_comm_world, ierr)
161# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
162 call mpi_bcast(igr, 1, mpi_logical, 0, mpi_comm_world, ierr)
163# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
164 call mpi_bcast(down_sample, 1, mpi_logical, 0, mpi_comm_world, ierr)
165# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
166 call mpi_bcast(simplex_perturb, 1, mpi_logical, 0, mpi_comm_world, ierr)
167# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
168 call mpi_bcast(fft_wrt, 1, mpi_logical, 0, mpi_comm_world, ierr)
169# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
170 call mpi_bcast(hyper_cleaning, 1, mpi_logical, 0, mpi_comm_world, ierr)
171# 51 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
172 call mpi_bcast(fluid_rho(1), num_fluids_max, mpi_p, 0, mpi_comm_world, ierr)
173
174# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
175 call mpi_bcast(x_domain%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
176# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
177 call mpi_bcast(x_domain%end, 1, mpi_p, 0, mpi_comm_world, ierr)
178# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
179 call mpi_bcast(y_domain%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
180# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
181 call mpi_bcast(y_domain%end, 1, mpi_p, 0, mpi_comm_world, ierr)
182# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
183 call mpi_bcast(z_domain%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
184# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
185 call mpi_bcast(z_domain%end, 1, mpi_p, 0, mpi_comm_world, ierr)
186# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
187 call mpi_bcast(a_x, 1, mpi_p, 0, mpi_comm_world, ierr)
188# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
189 call mpi_bcast(a_y, 1, mpi_p, 0, mpi_comm_world, ierr)
190# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
191 call mpi_bcast(a_z, 1, mpi_p, 0, mpi_comm_world, ierr)
192# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
193 call mpi_bcast(x_a, 1, mpi_p, 0, mpi_comm_world, ierr)
194# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
195 call mpi_bcast(x_b, 1, mpi_p, 0, mpi_comm_world, ierr)
196# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
197 call mpi_bcast(y_a, 1, mpi_p, 0, mpi_comm_world, ierr)
198# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
199 call mpi_bcast(y_b, 1, mpi_p, 0, mpi_comm_world, ierr)
200# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
201 call mpi_bcast(z_a, 1, mpi_p, 0, mpi_comm_world, ierr)
202# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
203 call mpi_bcast(z_b, 1, mpi_p, 0, mpi_comm_world, ierr)
204# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
205 call mpi_bcast(bc_x%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
206# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
207 call mpi_bcast(bc_x%end, 1, mpi_p, 0, mpi_comm_world, ierr)
208# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
209 call mpi_bcast(bc_y%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
210# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
211 call mpi_bcast(bc_y%end, 1, mpi_p, 0, mpi_comm_world, ierr)
212# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
213 call mpi_bcast(bc_z%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
214# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
215 call mpi_bcast(bc_z%end, 1, mpi_p, 0, mpi_comm_world, ierr)
216# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
217 call mpi_bcast(perturb_flow_mag, 1, mpi_p, 0, mpi_comm_world, ierr)
218# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
219 call mpi_bcast(pref, 1, mpi_p, 0, mpi_comm_world, ierr)
220# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
221 call mpi_bcast(rhoref, 1, mpi_p, 0, mpi_comm_world, ierr)
222# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
223 call mpi_bcast(poly_sigma, 1, mpi_p, 0, mpi_comm_world, ierr)
224# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
225 call mpi_bcast(r0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
226# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
227 call mpi_bcast(web, 1, mpi_p, 0, mpi_comm_world, ierr)
228# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
229 call mpi_bcast(ca, 1, mpi_p, 0, mpi_comm_world, ierr)
230# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
231 call mpi_bcast(re_inv, 1, mpi_p, 0, mpi_comm_world, ierr)
232# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
233 call mpi_bcast(sigr, 1, mpi_p, 0, mpi_comm_world, ierr)
234# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
235 call mpi_bcast(sigv, 1, mpi_p, 0, mpi_comm_world, ierr)
236# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
237 call mpi_bcast(rhorv, 1, mpi_p, 0, mpi_comm_world, ierr)
238# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
239 call mpi_bcast(palpha_eps, 1, mpi_p, 0, mpi_comm_world, ierr)
240# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
241 call mpi_bcast(ptgalpha_eps, 1, mpi_p, 0, mpi_comm_world, ierr)
242# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
243 call mpi_bcast(sigma, 1, mpi_p, 0, mpi_comm_world, ierr)
244# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
245 call mpi_bcast(pi_fac, 1, mpi_p, 0, mpi_comm_world, ierr)
246# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
247 call mpi_bcast(mixlayer_vel_coef, 1, mpi_p, 0, mpi_comm_world, ierr)
248# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
249 call mpi_bcast(bx0, 1, mpi_p, 0, mpi_comm_world, ierr)
250# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
251 call mpi_bcast(mixlayer_perturb_k0, 1, mpi_p, 0, mpi_comm_world, ierr)
252# 63 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
253
254 do i = 1, num_bc_patches_max
255# 66 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
256 call mpi_bcast(patch_bc(i)%geometry, 1, mpi_integer, 0, mpi_comm_world, ierr)
257# 66 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
258 call mpi_bcast(patch_bc(i)%type, 1, mpi_integer, 0, mpi_comm_world, ierr)
259# 66 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
260 call mpi_bcast(patch_bc(i)%dir, 1, mpi_integer, 0, mpi_comm_world, ierr)
261# 66 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
262 call mpi_bcast(patch_bc(i)%loc, 1, mpi_integer, 0, mpi_comm_world, ierr)
263# 68 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
264
265 call mpi_bcast(patch_bc(i)%radius, 1, mpi_p, 0, mpi_comm_world, ierr)
266
267# 72 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
268 call mpi_bcast(patch_bc(i)%centroid, size(patch_bc(i)%centroid), mpi_p, 0, mpi_comm_world, ierr)
269# 72 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
270 call mpi_bcast(patch_bc(i)%length, size(patch_bc(i)%length), mpi_p, 0, mpi_comm_world, ierr)
271# 74 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
272 end do
273
274 do i = 1, num_patches_max
275# 78 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
276 call mpi_bcast(patch_icpp(i)%geometry, 1, mpi_integer, 0, mpi_comm_world, ierr)
277# 78 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
278 call mpi_bcast(patch_icpp(i)%smooth_patch_id, 1, mpi_integer, 0, mpi_comm_world, ierr)
279# 80 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
280
281 call mpi_bcast(patch_icpp(i)%smoothen, 1, mpi_logical, 0, mpi_comm_world, ierr)
282 call mpi_bcast(patch_icpp(i)%non_axis_sym, 1, mpi_logical, 0, mpi_comm_world, ierr)
283 call mpi_bcast(patch_icpp(i)%alter_patch(0), num_patches_max, mpi_logical, 0, mpi_comm_world, ierr)
284
285# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
286 call mpi_bcast(patch_icpp(i)%x_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
287# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
288 call mpi_bcast(patch_icpp(i)%y_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
289# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
290 call mpi_bcast(patch_icpp(i)%z_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
291# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
292 call mpi_bcast(patch_icpp(i)%length_x, 1, mpi_p, 0, mpi_comm_world, ierr)
293# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
294 call mpi_bcast(patch_icpp(i)%length_y, 1, mpi_p, 0, mpi_comm_world, ierr)
295# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
296 call mpi_bcast(patch_icpp(i)%length_z, 1, mpi_p, 0, mpi_comm_world, ierr)
297# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
298 call mpi_bcast(patch_icpp(i)%radius, 1, mpi_p, 0, mpi_comm_world, ierr)
299# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
300 call mpi_bcast(patch_icpp(i)%epsilon, 1, mpi_p, 0, mpi_comm_world, ierr)
301# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
302 call mpi_bcast(patch_icpp(i)%beta, 1, mpi_p, 0, mpi_comm_world, ierr)
303# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
304 call mpi_bcast(patch_icpp(i)%smooth_coeff, 1, mpi_p, 0, mpi_comm_world, ierr)
305# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
306 call mpi_bcast(patch_icpp(i)%rho, 1, mpi_p, 0, mpi_comm_world, ierr)
307# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
308 call mpi_bcast(patch_icpp(i)%p0, 1, mpi_p, 0, mpi_comm_world, ierr)
309# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
310 call mpi_bcast(patch_icpp(i)%m0, 1, mpi_p, 0, mpi_comm_world, ierr)
311# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
312 call mpi_bcast(patch_icpp(i)%r0, 1, mpi_p, 0, mpi_comm_world, ierr)
313# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
314 call mpi_bcast(patch_icpp(i)%v0, 1, mpi_p, 0, mpi_comm_world, ierr)
315# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
316 call mpi_bcast(patch_icpp(i)%pres, 1, mpi_p, 0, mpi_comm_world, ierr)
317# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
318 call mpi_bcast(patch_icpp(i)%gamma, 1, mpi_p, 0, mpi_comm_world, ierr)
319# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
320 call mpi_bcast(patch_icpp(i)%pi_inf, 1, mpi_p, 0, mpi_comm_world, ierr)
321# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
322 call mpi_bcast(patch_icpp(i)%hcid, 1, mpi_p, 0, mpi_comm_world, ierr)
323# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
324 call mpi_bcast(patch_icpp(i)%cv, 1, mpi_p, 0, mpi_comm_world, ierr)
325# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
326 call mpi_bcast(patch_icpp(i)%qv, 1, mpi_p, 0, mpi_comm_world, ierr)
327# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
328 call mpi_bcast(patch_icpp(i)%qvp, 1, mpi_p, 0, mpi_comm_world, ierr)
329# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
330 call mpi_bcast(patch_icpp(i)%model_threshold, 1, mpi_p, 0, mpi_comm_world, ierr)
331# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
332 call mpi_bcast(patch_icpp(i)%cf_val, 1, mpi_p, 0, mpi_comm_world, ierr)
333# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
334 call mpi_bcast(patch_icpp(i)%Bx, 1, mpi_p, 0, mpi_comm_world, ierr)
335# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
336 call mpi_bcast(patch_icpp(i)%By, 1, mpi_p, 0, mpi_comm_world, ierr)
337# 90 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
338 call mpi_bcast(patch_icpp(i)%Bz, 1, mpi_p, 0, mpi_comm_world, ierr)
339# 92 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
340
341# 94 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
342 call mpi_bcast(patch_icpp(i)%a(2), 1, mpi_p, 0, mpi_comm_world, ierr)
343# 94 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
344 call mpi_bcast(patch_icpp(i)%a(3), 1, mpi_p, 0, mpi_comm_world, ierr)
345# 94 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
346 call mpi_bcast(patch_icpp(i)%a(4), 1, mpi_p, 0, mpi_comm_world, ierr)
347# 94 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
348 call mpi_bcast(patch_icpp(i)%a(5), 1, mpi_p, 0, mpi_comm_world, ierr)
349# 94 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
350 call mpi_bcast(patch_icpp(i)%a(6), 1, mpi_p, 0, mpi_comm_world, ierr)
351# 94 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
352 call mpi_bcast(patch_icpp(i)%a(7), 1, mpi_p, 0, mpi_comm_world, ierr)
353# 94 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
354 call mpi_bcast(patch_icpp(i)%a(8), 1, mpi_p, 0, mpi_comm_world, ierr)
355# 94 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
356 call mpi_bcast(patch_icpp(i)%a(9), 1, mpi_p, 0, mpi_comm_world, ierr)
357# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
358
359 call mpi_bcast(patch_icpp(i)%model_filepath, len(patch_icpp(i)%model_filepath), mpi_character, 0, mpi_comm_world, ierr)
360
361# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
362 call mpi_bcast(patch_icpp(i)%model_translate, size(patch_icpp(i)%model_translate), mpi_p, 0, mpi_comm_world, ierr)
363# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
364 call mpi_bcast(patch_icpp(i)%model_scale, size(patch_icpp(i)%model_scale), mpi_p, 0, mpi_comm_world, ierr)
365# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
366 call mpi_bcast(patch_icpp(i)%model_rotate, size(patch_icpp(i)%model_rotate), mpi_p, 0, mpi_comm_world, ierr)
367# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
368 call mpi_bcast(patch_icpp(i)%normal, size(patch_icpp(i)%normal), mpi_p, 0, mpi_comm_world, ierr)
369# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
370 call mpi_bcast(patch_icpp(i)%radii, size(patch_icpp(i)%radii), mpi_p, 0, mpi_comm_world, ierr)
371# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
372 call mpi_bcast(patch_icpp(i)%vel, size(patch_icpp(i)%vel), mpi_p, 0, mpi_comm_world, ierr)
373# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
374 call mpi_bcast(patch_icpp(i)%tau_e, size(patch_icpp(i)%tau_e), mpi_p, 0, mpi_comm_world, ierr)
375# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
376 call mpi_bcast(patch_icpp(i)%alpha_rho, size(patch_icpp(i)%alpha_rho), mpi_p, 0, mpi_comm_world, ierr)
377# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
378 call mpi_bcast(patch_icpp(i)%alpha, size(patch_icpp(i)%alpha), mpi_p, 0, mpi_comm_world, ierr)
379# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
380 call mpi_bcast(patch_icpp(i)%fourier_cos, size(patch_icpp(i)%fourier_cos), mpi_p, 0, mpi_comm_world, ierr)
381# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
382 call mpi_bcast(patch_icpp(i)%fourier_sin, size(patch_icpp(i)%fourier_sin), mpi_p, 0, mpi_comm_world, ierr)
383# 104 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
384
385 call mpi_bcast(patch_icpp(i)%sph_har_coeff, size(patch_icpp(i)%sph_har_coeff), mpi_p, 0, mpi_comm_world, ierr)
386 call mpi_bcast(patch_icpp(i)%modal_clip_r_to_min, 1, mpi_logical, 0, mpi_comm_world, ierr)
387 call mpi_bcast(patch_icpp(i)%modal_r_min, 1, mpi_p, 0, mpi_comm_world, ierr)
388 call mpi_bcast(patch_icpp(i)%modal_use_exp_form, 1, mpi_logical, 0, mpi_comm_world, ierr)
389
390 call mpi_bcast(patch_icpp(i)%model_spc, 1, mpi_integer, 0, mpi_comm_world, ierr)
391
392 if (chemistry) then
393 call mpi_bcast(patch_icpp(i)%Y, size(patch_icpp(i)%Y), mpi_p, 0, mpi_comm_world, ierr)
394 end if
395 ! Broadcast IB variables: patch_ib is indexed 1:num_patches_max, not 1:num_bc_patches_max, so these must live in the
396 ! num_patches_max loop.
397# 118 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
398 call mpi_bcast(patch_ib(i)%vel, size(patch_ib(i)%vel), mpi_p, 0, mpi_comm_world, ierr)
399# 118 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
400 call mpi_bcast(patch_ib(i)%angular_vel, size(patch_ib(i)%angular_vel), mpi_p, 0, mpi_comm_world, ierr)
401# 118 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
402 call mpi_bcast(patch_ib(i)%angles, size(patch_ib(i)%angles), mpi_p, 0, mpi_comm_world, ierr)
403# 120 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
404 call mpi_bcast(patch_ib(i)%geometry, 1, mpi_integer, 0, mpi_comm_world, ierr)
405 call mpi_bcast(patch_ib(i)%model_filepath, len(patch_ib(i)%model_filepath), mpi_character, 0, mpi_comm_world, ierr)
406 call mpi_bcast(patch_ib(i)%model_threshold, 1, mpi_p, 0, mpi_comm_world, ierr)
407 call mpi_bcast(patch_ib(i)%model_spc, 1, mpi_integer, 0, mpi_comm_world, ierr)
408
409# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
410 call mpi_bcast(patch_ib(i)%x_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
411# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
412 call mpi_bcast(patch_ib(i)%y_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
413# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
414 call mpi_bcast(patch_ib(i)%z_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
415# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
416 call mpi_bcast(patch_ib(i)%length_x, 1, mpi_p, 0, mpi_comm_world, ierr)
417# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
418 call mpi_bcast(patch_ib(i)%length_y, 1, mpi_p, 0, mpi_comm_world, ierr)
419# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
420 call mpi_bcast(patch_ib(i)%length_z, 1, mpi_p, 0, mpi_comm_world, ierr)
421# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
422 call mpi_bcast(patch_ib(i)%radius, 1, mpi_p, 0, mpi_comm_world, ierr)
423# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
424 call mpi_bcast(patch_ib(i)%c, 1, mpi_p, 0, mpi_comm_world, ierr)
425# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
426 call mpi_bcast(patch_ib(i)%p, 1, mpi_p, 0, mpi_comm_world, ierr)
427# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
428 call mpi_bcast(patch_ib(i)%t, 1, mpi_p, 0, mpi_comm_world, ierr)
429# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
430 call mpi_bcast(patch_ib(i)%m, 1, mpi_p, 0, mpi_comm_world, ierr)
431# 127 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
432 call mpi_bcast(patch_ib(i)%theta, 1, mpi_p, 0, mpi_comm_world, ierr)
433# 129 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
434 call mpi_bcast(patch_ib(i)%slip, 1, mpi_logical, 0, mpi_comm_world, ierr)
435
436# 132 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
437 call mpi_bcast(patch_ib(i)%model_translate, size(patch_ib(i)%model_translate), mpi_p, 0, mpi_comm_world, ierr)
438# 132 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
439 call mpi_bcast(patch_ib(i)%model_scale, size(patch_ib(i)%model_scale), mpi_p, 0, mpi_comm_world, ierr)
440# 132 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
441 call mpi_bcast(patch_ib(i)%model_rotate, size(patch_ib(i)%model_rotate), mpi_p, 0, mpi_comm_world, ierr)
442# 134 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
443 end do
444
445 ! Simplex noise and fluid physical parameters
446 do i = 1, num_fluids_max
447# 139 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
448 call mpi_bcast(fluid_pp(i)%gamma, 1, mpi_p, 0, mpi_comm_world, ierr)
449# 139 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
450 call mpi_bcast(fluid_pp(i)%pi_inf, 1, mpi_p, 0, mpi_comm_world, ierr)
451# 139 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
452 call mpi_bcast(fluid_pp(i)%G, 1, mpi_p, 0, mpi_comm_world, ierr)
453# 139 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
454 call mpi_bcast(fluid_pp(i)%cv, 1, mpi_p, 0, mpi_comm_world, ierr)
455# 139 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
456 call mpi_bcast(fluid_pp(i)%qv, 1, mpi_p, 0, mpi_comm_world, ierr)
457# 139 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
458 call mpi_bcast(fluid_pp(i)%qvp, 1, mpi_p, 0, mpi_comm_world, ierr)
459# 141 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
460
461 call mpi_bcast(simplex_params%perturb_dens(i), 1, mpi_logical, 0, mpi_comm_world, ierr)
462 call mpi_bcast(simplex_params%perturb_dens_freq(i), 1, mpi_p, 0, mpi_comm_world, ierr)
463 call mpi_bcast(simplex_params%perturb_dens_scale(i), 1, mpi_p, 0, mpi_comm_world, ierr)
464
465 do j = 1, 3
466 call mpi_bcast(simplex_params%perturb_dens_offset(i, j), 1, mpi_p, 0, mpi_comm_world, ierr)
467 end do
468 end do
469
470 ! Subgrid bubble parameters
471 if (bubbles_euler .or. bubbles_lagrange) then
472# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
473 call mpi_bcast(bub_pp%R0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
474# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
475 call mpi_bcast(bub_pp%p0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
476# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
477 call mpi_bcast(bub_pp%rho0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
478# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
479 call mpi_bcast(bub_pp%T0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
480# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
481 call mpi_bcast(bub_pp%ss, 1, mpi_p, 0, mpi_comm_world, ierr)
482# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
483 call mpi_bcast(bub_pp%pv, 1, mpi_p, 0, mpi_comm_world, ierr)
484# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
485 call mpi_bcast(bub_pp%vd, 1, mpi_p, 0, mpi_comm_world, ierr)
486# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
487 call mpi_bcast(bub_pp%mu_l, 1, mpi_p, 0, mpi_comm_world, ierr)
488# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
489 call mpi_bcast(bub_pp%mu_v, 1, mpi_p, 0, mpi_comm_world, ierr)
490# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
491 call mpi_bcast(bub_pp%mu_g, 1, mpi_p, 0, mpi_comm_world, ierr)
492# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
493 call mpi_bcast(bub_pp%gam_v, 1, mpi_p, 0, mpi_comm_world, ierr)
494# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
495 call mpi_bcast(bub_pp%gam_g, 1, mpi_p, 0, mpi_comm_world, ierr)
496# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
497 call mpi_bcast(bub_pp%M_v, 1, mpi_p, 0, mpi_comm_world, ierr)
498# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
499 call mpi_bcast(bub_pp%M_g, 1, mpi_p, 0, mpi_comm_world, ierr)
500# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
501 call mpi_bcast(bub_pp%k_v, 1, mpi_p, 0, mpi_comm_world, ierr)
502# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
503 call mpi_bcast(bub_pp%k_g, 1, mpi_p, 0, mpi_comm_world, ierr)
504# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
505 call mpi_bcast(bub_pp%cp_v, 1, mpi_p, 0, mpi_comm_world, ierr)
506# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
507 call mpi_bcast(bub_pp%cp_g, 1, mpi_p, 0, mpi_comm_world, ierr)
508# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
509 call mpi_bcast(bub_pp%R_v, 1, mpi_p, 0, mpi_comm_world, ierr)
510# 156 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
511 call mpi_bcast(bub_pp%R_g, 1, mpi_p, 0, mpi_comm_world, ierr)
512# 158 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
513 end if
514
515 do i = 1, 3
516 call mpi_bcast(simplex_params%perturb_vel(i), 1, mpi_logical, 0, mpi_comm_world, ierr)
517 call mpi_bcast(simplex_params%perturb_vel_freq(i), 1, mpi_p, 0, mpi_comm_world, ierr)
518 call mpi_bcast(simplex_params%perturb_vel_scale(i), 1, mpi_p, 0, mpi_comm_world, ierr)
519
520 do j = 1, 3
521 call mpi_bcast(simplex_params%perturb_vel_offset(i, j), 1, mpi_p, 0, mpi_comm_world, ierr)
522 end do
523 end do
524#endif
525
526 end subroutine s_mpi_bcast_user_inputs
527
528end module m_mpi_proxy
integer, intent(in) j
Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.
Defines global parameters for the computational domain, simulation algorithm, and initial conditions.
real(wp) perturb_flow_mag
Magnitude of perturbation with perturb_flow flag.
real(wp) mixlayer_perturb_k0
Peak wavenumber for mixlayer perturbation (default: most unstable mode).
logical cont_damage
continuum damage modeling
integer p_glb
Global number of cells in each direction.
logical igr
Use information geometric regularization.
logical hypoelasticity
activate hypoelasticity
integer thermal
1 = adiabatic, 2 = isotherm, 3 = transfer
integer perturb_flow_fluid
Fluid to be perturbed with perturb_flow flag.
integer recon_type
Reconstruction Type.
logical, parameter chemistry
Chemistry modeling.
type(ib_patch_parameters), dimension(num_patches_max) patch_ib
Immersed boundary patch parameters.
type(int_bounds_info) bc_z
Boundary conditions in the x-, y- and z-coordinate directions.
integer num_fluids
Number of different fluids present in the flow.
logical pre_stress
activate pre_stressed domain
integer dist_type
1 = binormal, 2 = lognormal-normal
logical bc_io
whether or not to save BC data
type(bounds_info) z_domain
Locations of the domain bounds in the x-, y- and z-coordinate directions.
type(simplex_noise_params) simplex_params
integer muscl_order
Order of accuracy for the MUSCL reconstruction.
real(wp) ptgalpha_eps
trigger parameter for the pTg relaxation procedure, phase change model
integer relax_model
Relax Model.
integer num_patches
Number of patches composing initial condition.
logical ib
Turn immersed boundaries on.
integer num_bc_patches
Number of boundary condition patches.
type(bc_patch_parameters), dimension(num_bc_patches_max) patch_bc
Boundary condition patch parameters.
integer model_eqns
Multicomponent flow model.
integer precision
Precision of output files.
logical hyperelasticity
activate hyperelasticity
type(physical_parameters), dimension(num_fluids_max) fluid_pp
Stiffened gas EOS parameters and Reynolds numbers per fluid.
integer mixlayer_perturb_nk
Number of Fourier modes for perturbation with mixlayer_perturb flag.
integer perturb_sph_fluid
Fluid to be perturbed with perturb_sph flag.
logical relax
activate phase change
logical qbmm
Quadrature moment method.
logical old_grid
Use existing grid data.
real(wp) pi_fac
Factor for artificial pi_inf.
logical hyper_cleaning
Hyperbolic cleaning for MHD.
real(wp), dimension(num_fluids_max) fluid_rho
real(wp) pref
Reference parameters for Tait EOS.
real(wp) bx0
Constant magnetic field in the x-direction (1D).
logical stretch_z
Grid stretching flags for the x-, y- and z-coordinate directions.
logical adv_n
Solve the number density equation and compute alpha from number density.
character(len=path_len) case_dir
Case folder location.
type(ic_patch_parameters), dimension(num_patches_max) patch_icpp
IC patch parameters (max: num_patches_max).
integer weno_order
Order of accuracy for the WENO reconstruction.
logical mhd
Magnetohydrodynamics.
logical parallel_io
Format of the data files.
logical down_sample
Down-sample the output data.
logical file_per_process
type of data output
real(wp) palpha_eps
trigger parameter for the p relaxation procedure, phase change model
integer t_step_start
Existing IC/grid folder.
real(wp) mixlayer_vel_coef
Coefficient for the hyperbolic tangent streamwise velocity profile.
logical mpp_lim
Alpha limiter.
integer igr_order
IGR reconstruction order.
type(subgrid_bubble_physical_parameters) bub_pp
real(wp) rhorv
standard deviations in R/V
logical relativity
Relativity for RMHD.
integer num_ibs
Number of immersed boundaries.
logical mixlayer_vel_profile
Set hyperbolic tangent streamwise velocity profile.
logical mixlayer_perturb
Superimpose instability waves to surrounding fluid flow.
Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions...
MPI communication layer: domain decomposition, halo exchange, reductions, and parallel I/O setup.
Broadcasts user inputs and decomposes the domain across MPI ranks for pre-processing.
impure subroutine s_mpi_bcast_user_inputs
Since only processor with rank 0 is in charge of reading and checking the consistency of the user pro...