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 ! Generated: case_dir, namelist scalars (INT/LOG/REAL), fluid_rho, fluid_pp loop, bub_pp
30# 1 "/home/runner/work/MFC/MFC/build/include/pre_process/generated_bcast.fpp" 1
31! AUTO-GENERATED - do not edit directly. Regenerate: cmake reconfigure
32!
33 call mpi_bcast(case_dir, len(case_dir), mpi_character, 0, mpi_comm_world, ierr)
34
35 ! Character scalars
36 call mpi_bcast(file_extension, len(file_extension), mpi_character, 0, mpi_comm_world, ierr)
37 call mpi_bcast(files_dir, len(files_dir), mpi_character, 0, mpi_comm_world, ierr)
38
39 ! Integer scalars
40 call mpi_bcast(dist_type, 1, mpi_integer, 0, mpi_comm_world, ierr)
41 call mpi_bcast(elliptic_smoothing_iters, 1, mpi_integer, 0, mpi_comm_world, ierr)
42 call mpi_bcast(igr_order, 1, mpi_integer, 0, mpi_comm_world, ierr)
43 call mpi_bcast(loops_x, 1, mpi_integer, 0, mpi_comm_world, ierr)
44 call mpi_bcast(loops_y, 1, mpi_integer, 0, mpi_comm_world, ierr)
45 call mpi_bcast(loops_z, 1, mpi_integer, 0, mpi_comm_world, ierr)
46 call mpi_bcast(m, 1, mpi_integer, 0, mpi_comm_world, ierr)
47 call mpi_bcast(mixlayer_perturb_nk, 1, mpi_integer, 0, mpi_comm_world, ierr)
48 call mpi_bcast(model_eqns, 1, mpi_integer, 0, mpi_comm_world, ierr)
49 call mpi_bcast(muscl_order, 1, mpi_integer, 0, mpi_comm_world, ierr)
50 call mpi_bcast(n, 1, mpi_integer, 0, mpi_comm_world, ierr)
51 call mpi_bcast(n_start, 1, mpi_integer, 0, mpi_comm_world, ierr)
52 call mpi_bcast(n_start_old, 1, mpi_integer, 0, mpi_comm_world, ierr)
53 call mpi_bcast(nb, 1, mpi_integer, 0, mpi_comm_world, ierr)
54 call mpi_bcast(num_bc_patches, 1, mpi_integer, 0, mpi_comm_world, ierr)
55 call mpi_bcast(num_fluids, 1, mpi_integer, 0, mpi_comm_world, ierr)
56 call mpi_bcast(num_ibs, 1, mpi_integer, 0, mpi_comm_world, ierr)
57 call mpi_bcast(num_particle_clouds, 1, mpi_integer, 0, mpi_comm_world, ierr)
58 call mpi_bcast(num_patches, 1, mpi_integer, 0, mpi_comm_world, ierr)
59 call mpi_bcast(num_stl_models, 1, mpi_integer, 0, mpi_comm_world, ierr)
60 call mpi_bcast(p, 1, mpi_integer, 0, mpi_comm_world, ierr)
61 call mpi_bcast(perturb_flow_fluid, 1, mpi_integer, 0, mpi_comm_world, ierr)
62 call mpi_bcast(perturb_sph_fluid, 1, mpi_integer, 0, mpi_comm_world, ierr)
63 call mpi_bcast(precision, 1, mpi_integer, 0, mpi_comm_world, ierr)
64 call mpi_bcast(recon_type, 1, mpi_integer, 0, mpi_comm_world, ierr)
65 call mpi_bcast(relax_model, 1, mpi_integer, 0, mpi_comm_world, ierr)
66 call mpi_bcast(t_step_old, 1, mpi_integer, 0, mpi_comm_world, ierr)
67 call mpi_bcast(t_step_start, 1, mpi_integer, 0, mpi_comm_world, ierr)
68 call mpi_bcast(thermal, 1, mpi_integer, 0, mpi_comm_world, ierr)
69 call mpi_bcast(weno_order, 1, mpi_integer, 0, mpi_comm_world, ierr)
70
71 ! Logical scalars
72 call mpi_bcast(adv_n, 1, mpi_logical, 0, mpi_comm_world, ierr)
73 call mpi_bcast(bubbles_euler, 1, mpi_logical, 0, mpi_comm_world, ierr)
74 call mpi_bcast(bubbles_lagrange, 1, mpi_logical, 0, mpi_comm_world, ierr)
75 call mpi_bcast(cfl_adap_dt, 1, mpi_logical, 0, mpi_comm_world, ierr)
76 call mpi_bcast(cfl_const_dt, 1, mpi_logical, 0, mpi_comm_world, ierr)
77 call mpi_bcast(cont_damage, 1, mpi_logical, 0, mpi_comm_world, ierr)
78 call mpi_bcast(cyl_coord, 1, mpi_logical, 0, mpi_comm_world, ierr)
79 call mpi_bcast(down_sample, 1, mpi_logical, 0, mpi_comm_world, ierr)
80 call mpi_bcast(elliptic_smoothing, 1, mpi_logical, 0, mpi_comm_world, ierr)
81 call mpi_bcast(fft_wrt, 1, mpi_logical, 0, mpi_comm_world, ierr)
82 call mpi_bcast(file_per_process, 1, mpi_logical, 0, mpi_comm_world, ierr)
83 call mpi_bcast(hyper_cleaning, 1, mpi_logical, 0, mpi_comm_world, ierr)
84 call mpi_bcast(hypoelasticity, 1, mpi_logical, 0, mpi_comm_world, ierr)
85 call mpi_bcast(ib, 1, mpi_logical, 0, mpi_comm_world, ierr)
86 call mpi_bcast(igr, 1, mpi_logical, 0, mpi_comm_world, ierr)
87 call mpi_bcast(mhd, 1, mpi_logical, 0, mpi_comm_world, ierr)
88 call mpi_bcast(mixlayer_perturb, 1, mpi_logical, 0, mpi_comm_world, ierr)
89 call mpi_bcast(mixlayer_vel_profile, 1, mpi_logical, 0, mpi_comm_world, ierr)
90 call mpi_bcast(mpp_lim, 1, mpi_logical, 0, mpi_comm_world, ierr)
91 call mpi_bcast(old_grid, 1, mpi_logical, 0, mpi_comm_world, ierr)
92 call mpi_bcast(old_ic, 1, mpi_logical, 0, mpi_comm_world, ierr)
93 call mpi_bcast(parallel_io, 1, mpi_logical, 0, mpi_comm_world, ierr)
94 call mpi_bcast(perturb_flow, 1, mpi_logical, 0, mpi_comm_world, ierr)
95 call mpi_bcast(perturb_sph, 1, mpi_logical, 0, mpi_comm_world, ierr)
96 call mpi_bcast(polydisperse, 1, mpi_logical, 0, mpi_comm_world, ierr)
97 call mpi_bcast(polytropic, 1, mpi_logical, 0, mpi_comm_world, ierr)
98 call mpi_bcast(qbmm, 1, mpi_logical, 0, mpi_comm_world, ierr)
99 call mpi_bcast(reactive_burn, 1, mpi_logical, 0, mpi_comm_world, ierr)
100 call mpi_bcast(relativity, 1, mpi_logical, 0, mpi_comm_world, ierr)
101 call mpi_bcast(relax, 1, mpi_logical, 0, mpi_comm_world, ierr)
102 call mpi_bcast(simplex_perturb, 1, mpi_logical, 0, mpi_comm_world, ierr)
103 call mpi_bcast(stretch_x, 1, mpi_logical, 0, mpi_comm_world, ierr)
104 call mpi_bcast(stretch_y, 1, mpi_logical, 0, mpi_comm_world, ierr)
105 call mpi_bcast(stretch_z, 1, mpi_logical, 0, mpi_comm_world, ierr)
106 call mpi_bcast(surface_tension, 1, mpi_logical, 0, mpi_comm_world, ierr)
107 call mpi_bcast(viscous, 1, mpi_logical, 0, mpi_comm_world, ierr)
108
109 ! Real scalars
110 call mpi_bcast(bx0, 1, mpi_p, 0, mpi_comm_world, ierr)
111 call mpi_bcast(ca, 1, mpi_p, 0, mpi_comm_world, ierr)
112 call mpi_bcast(r0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
113 call mpi_bcast(re_inv, 1, mpi_p, 0, mpi_comm_world, ierr)
114 call mpi_bcast(web, 1, mpi_p, 0, mpi_comm_world, ierr)
115 call mpi_bcast(a_x, 1, mpi_p, 0, mpi_comm_world, ierr)
116 call mpi_bcast(a_y, 1, mpi_p, 0, mpi_comm_world, ierr)
117 call mpi_bcast(a_z, 1, mpi_p, 0, mpi_comm_world, ierr)
118 call mpi_bcast(mixlayer_perturb_k0, 1, mpi_p, 0, mpi_comm_world, ierr)
119 call mpi_bcast(mixlayer_vel_coef, 1, mpi_p, 0, mpi_comm_world, ierr)
120 call mpi_bcast(palpha_eps, 1, mpi_p, 0, mpi_comm_world, ierr)
121 call mpi_bcast(perturb_flow_mag, 1, mpi_p, 0, mpi_comm_world, ierr)
122 call mpi_bcast(pi_fac, 1, mpi_p, 0, mpi_comm_world, ierr)
123 call mpi_bcast(poly_sigma, 1, mpi_p, 0, mpi_comm_world, ierr)
124 call mpi_bcast(ptgalpha_eps, 1, mpi_p, 0, mpi_comm_world, ierr)
125 call mpi_bcast(rhorv, 1, mpi_p, 0, mpi_comm_world, ierr)
126 call mpi_bcast(sigr, 1, mpi_p, 0, mpi_comm_world, ierr)
127 call mpi_bcast(sigv, 1, mpi_p, 0, mpi_comm_world, ierr)
128 call mpi_bcast(sigma, 1, mpi_p, 0, mpi_comm_world, ierr)
129 call mpi_bcast(x_a, 1, mpi_p, 0, mpi_comm_world, ierr)
130 call mpi_bcast(x_b, 1, mpi_p, 0, mpi_comm_world, ierr)
131 call mpi_bcast(y_a, 1, mpi_p, 0, mpi_comm_world, ierr)
132 call mpi_bcast(y_b, 1, mpi_p, 0, mpi_comm_world, ierr)
133 call mpi_bcast(z_a, 1, mpi_p, 0, mpi_comm_world, ierr)
134 call mpi_bcast(z_b, 1, mpi_p, 0, mpi_comm_world, ierr)
135
136 ! Array broadcasts (dimension from FORTRAN_ARRAY_DIMS)
137 call mpi_bcast(fluid_rho(1), num_fluids_max, mpi_p, 0, mpi_comm_world, ierr)
138
139 ! fluid_pp member loop
140 do i = 1, num_fluids_max
141 call mpi_bcast(fluid_pp(i)%G, 1, mpi_p, 0, mpi_comm_world, ierr)
142 call mpi_bcast(fluid_pp(i)%K, 1, mpi_p, 0, mpi_comm_world, ierr)
143 call mpi_bcast(fluid_pp(i)%cv, 1, mpi_p, 0, mpi_comm_world, ierr)
144 call mpi_bcast(fluid_pp(i)%eos, 1, mpi_integer, 0, mpi_comm_world, ierr)
145 call mpi_bcast(fluid_pp(i)%gamma, 1, mpi_p, 0, mpi_comm_world, ierr)
146 call mpi_bcast(fluid_pp(i)%hb_m, 1, mpi_p, 0, mpi_comm_world, ierr)
147 call mpi_bcast(fluid_pp(i)%jwl_a, 1, mpi_p, 0, mpi_comm_world, ierr)
148 call mpi_bcast(fluid_pp(i)%jwl_b, 1, mpi_p, 0, mpi_comm_world, ierr)
149 call mpi_bcast(fluid_pp(i)%jwl_omega, 1, mpi_p, 0, mpi_comm_world, ierr)
150 call mpi_bcast(fluid_pp(i)%jwl_r1, 1, mpi_p, 0, mpi_comm_world, ierr)
151 call mpi_bcast(fluid_pp(i)%jwl_r2, 1, mpi_p, 0, mpi_comm_world, ierr)
152 call mpi_bcast(fluid_pp(i)%jwl_rho0, 1, mpi_p, 0, mpi_comm_world, ierr)
153 call mpi_bcast(fluid_pp(i)%jwl_t0, 1, mpi_p, 0, mpi_comm_world, ierr)
154 call mpi_bcast(fluid_pp(i)%k_therm, 1, mpi_p, 0, mpi_comm_world, ierr)
155 call mpi_bcast(fluid_pp(i)%mg_c0, 1, mpi_p, 0, mpi_comm_world, ierr)
156 call mpi_bcast(fluid_pp(i)%mg_gruneisen, 1, mpi_p, 0, mpi_comm_world, ierr)
157 call mpi_bcast(fluid_pp(i)%mg_gruneisen_a, 1, mpi_p, 0, mpi_comm_world, ierr)
158 call mpi_bcast(fluid_pp(i)%mg_rho0, 1, mpi_p, 0, mpi_comm_world, ierr)
159 call mpi_bcast(fluid_pp(i)%mg_s, 1, mpi_p, 0, mpi_comm_world, ierr)
160 call mpi_bcast(fluid_pp(i)%mg_s2, 1, mpi_p, 0, mpi_comm_world, ierr)
161 call mpi_bcast(fluid_pp(i)%mg_s3, 1, mpi_p, 0, mpi_comm_world, ierr)
162 call mpi_bcast(fluid_pp(i)%mg_t0, 1, mpi_p, 0, mpi_comm_world, ierr)
163 call mpi_bcast(fluid_pp(i)%mu_bulk, 1, mpi_p, 0, mpi_comm_world, ierr)
164 call mpi_bcast(fluid_pp(i)%mu_max, 1, mpi_p, 0, mpi_comm_world, ierr)
165 call mpi_bcast(fluid_pp(i)%mu_min, 1, mpi_p, 0, mpi_comm_world, ierr)
166 call mpi_bcast(fluid_pp(i)%nn, 1, mpi_p, 0, mpi_comm_world, ierr)
167 call mpi_bcast(fluid_pp(i)%non_newtonian, 1, mpi_logical, 0, mpi_comm_world, ierr)
168 call mpi_bcast(fluid_pp(i)%pi_inf, 1, mpi_p, 0, mpi_comm_world, ierr)
169 call mpi_bcast(fluid_pp(i)%qv, 1, mpi_p, 0, mpi_comm_world, ierr)
170 call mpi_bcast(fluid_pp(i)%qvp, 1, mpi_p, 0, mpi_comm_world, ierr)
171 call mpi_bcast(fluid_pp(i)%tau0, 1, mpi_p, 0, mpi_comm_world, ierr)
172 call mpi_bcast(fluid_pp(i)%vinet_gruneisen, 1, mpi_p, 0, mpi_comm_world, ierr)
173 call mpi_bcast(fluid_pp(i)%vinet_gruneisen_a, 1, mpi_p, 0, mpi_comm_world, ierr)
174 call mpi_bcast(fluid_pp(i)%vinet_k0, 1, mpi_p, 0, mpi_comm_world, ierr)
175 call mpi_bcast(fluid_pp(i)%vinet_k0p, 1, mpi_p, 0, mpi_comm_world, ierr)
176 call mpi_bcast(fluid_pp(i)%vinet_rho0, 1, mpi_p, 0, mpi_comm_world, ierr)
177 call mpi_bcast(fluid_pp(i)%vinet_t0, 1, mpi_p, 0, mpi_comm_world, ierr)
178 end do
179
180 ! bub_pp members (under bubbles guard)
181 if (bubbles_euler .or. bubbles_lagrange) then
182 call mpi_bcast(bub_pp%M_g, 1, mpi_p, 0, mpi_comm_world, ierr)
183 call mpi_bcast(bub_pp%M_v, 1, mpi_p, 0, mpi_comm_world, ierr)
184 call mpi_bcast(bub_pp%R0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
185 call mpi_bcast(bub_pp%R_g, 1, mpi_p, 0, mpi_comm_world, ierr)
186 call mpi_bcast(bub_pp%R_v, 1, mpi_p, 0, mpi_comm_world, ierr)
187 call mpi_bcast(bub_pp%T0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
188 call mpi_bcast(bub_pp%cp_g, 1, mpi_p, 0, mpi_comm_world, ierr)
189 call mpi_bcast(bub_pp%cp_v, 1, mpi_p, 0, mpi_comm_world, ierr)
190 call mpi_bcast(bub_pp%gam_g, 1, mpi_p, 0, mpi_comm_world, ierr)
191 call mpi_bcast(bub_pp%gam_v, 1, mpi_p, 0, mpi_comm_world, ierr)
192 call mpi_bcast(bub_pp%k_g, 1, mpi_p, 0, mpi_comm_world, ierr)
193 call mpi_bcast(bub_pp%k_v, 1, mpi_p, 0, mpi_comm_world, ierr)
194 call mpi_bcast(bub_pp%mu_g, 1, mpi_p, 0, mpi_comm_world, ierr)
195 call mpi_bcast(bub_pp%mu_l, 1, mpi_p, 0, mpi_comm_world, ierr)
196 call mpi_bcast(bub_pp%mu_v, 1, mpi_p, 0, mpi_comm_world, ierr)
197 call mpi_bcast(bub_pp%p0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
198 call mpi_bcast(bub_pp%pv, 1, mpi_p, 0, mpi_comm_world, ierr)
199 call mpi_bcast(bub_pp%rho0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
200 call mpi_bcast(bub_pp%ss, 1, mpi_p, 0, mpi_comm_world, ierr)
201 call mpi_bcast(bub_pp%vd, 1, mpi_p, 0, mpi_comm_world, ierr)
202 end if
203
204# 30 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp" 2
205
206 ! manual: m/n/p_glb (computed from m/n/p post-read, not namelist-bound)
207 call mpi_bcast(m_glb, 1, mpi_integer, 0, mpi_comm_world, ierr)
208 call mpi_bcast(n_glb, 1, mpi_integer, 0, mpi_comm_world, ierr)
209 call mpi_bcast(p_glb, 1, mpi_integer, 0, mpi_comm_world, ierr)
210
211 ! manual: bc_x/y/z member broadcasts (struct members not in NAMELIST_VARS)
212# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
213 call mpi_bcast(bc_x%isothermal_in, 1, mpi_logical, 0, mpi_comm_world, ierr)
214# 40 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
215# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
216 call mpi_bcast(bc_y%isothermal_in, 1, mpi_logical, 0, mpi_comm_world, ierr)
217# 40 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
218# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
219 call mpi_bcast(bc_z%isothermal_in, 1, mpi_logical, 0, mpi_comm_world, ierr)
220# 40 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
221# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
222 call mpi_bcast(bc_x%isothermal_out, 1, mpi_logical, 0, mpi_comm_world, ierr)
223# 40 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
224# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
225 call mpi_bcast(bc_y%isothermal_out, 1, mpi_logical, 0, mpi_comm_world, ierr)
226# 40 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
227# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
228 call mpi_bcast(bc_z%isothermal_out, 1, mpi_logical, 0, mpi_comm_world, ierr)
229# 40 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
230# 41 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
231
232 ! manual: domain bounds and wall temperatures (REAL struct members, not in NAMELIST_VARS)
233# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
234 call mpi_bcast(x_domain%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
235# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
236# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
237 call mpi_bcast(x_domain%end, 1, mpi_p, 0, mpi_comm_world, ierr)
238# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
239# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
240 call mpi_bcast(y_domain%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
241# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
242# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
243 call mpi_bcast(y_domain%end, 1, mpi_p, 0, mpi_comm_world, ierr)
244# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
245# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
246 call mpi_bcast(z_domain%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
247# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
248# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
249 call mpi_bcast(z_domain%end, 1, mpi_p, 0, mpi_comm_world, ierr)
250# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
251# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
252 call mpi_bcast(bc_x%Twall_in, 1, mpi_p, 0, mpi_comm_world, ierr)
253# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
254# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
255 call mpi_bcast(bc_x%Twall_out, 1, mpi_p, 0, mpi_comm_world, ierr)
256# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
257# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
258 call mpi_bcast(bc_y%Twall_in, 1, mpi_p, 0, mpi_comm_world, ierr)
259# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
260# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
261 call mpi_bcast(bc_y%Twall_out, 1, mpi_p, 0, mpi_comm_world, ierr)
262# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
263# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
264 call mpi_bcast(bc_z%Twall_in, 1, mpi_p, 0, mpi_comm_world, ierr)
265# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
266# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
267 call mpi_bcast(bc_z%Twall_out, 1, mpi_p, 0, mpi_comm_world, ierr)
268# 49 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
269# 50 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
270
271 ! manual: BC type codes (INTEGER struct members)
272# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
273 call mpi_bcast(bc_x%beg, 1, mpi_integer, 0, mpi_comm_world, ierr)
274# 54 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
275# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
276 call mpi_bcast(bc_x%end, 1, mpi_integer, 0, mpi_comm_world, ierr)
277# 54 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
278# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
279 call mpi_bcast(bc_y%beg, 1, mpi_integer, 0, mpi_comm_world, ierr)
280# 54 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
281# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
282 call mpi_bcast(bc_y%end, 1, mpi_integer, 0, mpi_comm_world, ierr)
283# 54 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
284# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
285 call mpi_bcast(bc_z%beg, 1, mpi_integer, 0, mpi_comm_world, ierr)
286# 54 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
287# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
288 call mpi_bcast(bc_z%end, 1, mpi_integer, 0, mpi_comm_world, ierr)
289# 54 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
290# 55 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
291
292 ! wall-velocity members consumed by s_slip_wall/s_no_slip_wall on all ranks
293# 58 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
294# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
295 call mpi_bcast(bc_x%vb1, 1, mpi_p, 0, mpi_comm_world, ierr)
296# 60 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
297 call mpi_bcast(bc_x%ve1, 1, mpi_p, 0, mpi_comm_world, ierr)
298# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
299# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
300 call mpi_bcast(bc_x%vb2, 1, mpi_p, 0, mpi_comm_world, ierr)
301# 60 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
302 call mpi_bcast(bc_x%ve2, 1, mpi_p, 0, mpi_comm_world, ierr)
303# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
304# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
305 call mpi_bcast(bc_x%vb3, 1, mpi_p, 0, mpi_comm_world, ierr)
306# 60 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
307 call mpi_bcast(bc_x%ve3, 1, mpi_p, 0, mpi_comm_world, ierr)
308# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
309# 62 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
310# 58 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
311# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
312 call mpi_bcast(bc_y%vb1, 1, mpi_p, 0, mpi_comm_world, ierr)
313# 60 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
314 call mpi_bcast(bc_y%ve1, 1, mpi_p, 0, mpi_comm_world, ierr)
315# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
316# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
317 call mpi_bcast(bc_y%vb2, 1, mpi_p, 0, mpi_comm_world, ierr)
318# 60 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
319 call mpi_bcast(bc_y%ve2, 1, mpi_p, 0, mpi_comm_world, ierr)
320# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
321# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
322 call mpi_bcast(bc_y%vb3, 1, mpi_p, 0, mpi_comm_world, ierr)
323# 60 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
324 call mpi_bcast(bc_y%ve3, 1, mpi_p, 0, mpi_comm_world, ierr)
325# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
326# 62 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
327# 58 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
328# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
329 call mpi_bcast(bc_z%vb1, 1, mpi_p, 0, mpi_comm_world, ierr)
330# 60 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
331 call mpi_bcast(bc_z%ve1, 1, mpi_p, 0, mpi_comm_world, ierr)
332# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
333# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
334 call mpi_bcast(bc_z%vb2, 1, mpi_p, 0, mpi_comm_world, ierr)
335# 60 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
336 call mpi_bcast(bc_z%ve2, 1, mpi_p, 0, mpi_comm_world, ierr)
337# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
338# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
339 call mpi_bcast(bc_z%vb3, 1, mpi_p, 0, mpi_comm_world, ierr)
340# 60 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
341 call mpi_bcast(bc_z%ve3, 1, mpi_p, 0, mpi_comm_world, ierr)
342# 61 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
343# 62 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
344# 63 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
345
346 ! manual: cfl_dt (runtime-computed logical), bc_io (BC-file existence)
347 call mpi_bcast(cfl_dt, 1, mpi_logical, 0, mpi_comm_world, ierr)
348 call mpi_bcast(bc_io, 1, mpi_logical, 0, mpi_comm_world, ierr)
349
350 ! manual: patch_bc (complex array members broadcast with size())
351 do i = 1, num_bc_patches_max
352# 71 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
353 call mpi_bcast(patch_bc(i)%geometry, 1, mpi_integer, 0, mpi_comm_world, ierr)
354# 72 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
355# 71 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
356 call mpi_bcast(patch_bc(i)%type, 1, mpi_integer, 0, mpi_comm_world, ierr)
357# 72 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
358# 71 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
359 call mpi_bcast(patch_bc(i)%dir, 1, mpi_integer, 0, mpi_comm_world, ierr)
360# 72 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
361# 71 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
362 call mpi_bcast(patch_bc(i)%loc, 1, mpi_integer, 0, mpi_comm_world, ierr)
363# 72 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
364# 73 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
365
366 call mpi_bcast(patch_bc(i)%radius, 1, mpi_p, 0, mpi_comm_world, ierr)
367
368# 77 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
369 call mpi_bcast(patch_bc(i)%centroid, size(patch_bc(i)%centroid), mpi_p, 0, mpi_comm_world, ierr)
370# 78 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
371# 77 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
372 call mpi_bcast(patch_bc(i)%length, size(patch_bc(i)%length), mpi_p, 0, mpi_comm_world, ierr)
373# 78 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
374# 79 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
375 end do
376
377 ! manual: patch_icpp (complex members: alter_patch, sph_har_coeff, size() arrays)
378 do i = 1, num_patches_max
379# 84 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
380 call mpi_bcast(patch_icpp(i)%geometry, 1, mpi_integer, 0, mpi_comm_world, ierr)
381# 85 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
382# 84 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
383 call mpi_bcast(patch_icpp(i)%smooth_patch_id, 1, mpi_integer, 0, mpi_comm_world, ierr)
384# 85 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
385# 84 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
386 call mpi_bcast(patch_icpp(i)%hcid, 1, mpi_integer, 0, mpi_comm_world, ierr)
387# 85 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
388# 86 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
389
390 call mpi_bcast(patch_icpp(i)%smoothen, 1, mpi_logical, 0, mpi_comm_world, ierr)
391 call mpi_bcast(patch_icpp(i)%non_axis_sym, 1, mpi_logical, 0, mpi_comm_world, ierr)
392 call mpi_bcast(patch_icpp(i)%alter_patch(0), num_patches_max, mpi_logical, 0, mpi_comm_world, ierr)
393
394# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
395 call mpi_bcast(patch_icpp(i)%x_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
396# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
397# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
398 call mpi_bcast(patch_icpp(i)%y_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
399# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
400# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
401 call mpi_bcast(patch_icpp(i)%z_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
402# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
403# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
404 call mpi_bcast(patch_icpp(i)%length_x, 1, mpi_p, 0, mpi_comm_world, ierr)
405# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
406# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
407 call mpi_bcast(patch_icpp(i)%length_y, 1, mpi_p, 0, mpi_comm_world, ierr)
408# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
409# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
410 call mpi_bcast(patch_icpp(i)%length_z, 1, mpi_p, 0, mpi_comm_world, ierr)
411# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
412# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
413 call mpi_bcast(patch_icpp(i)%radius, 1, mpi_p, 0, mpi_comm_world, ierr)
414# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
415# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
416 call mpi_bcast(patch_icpp(i)%epsilon, 1, mpi_p, 0, mpi_comm_world, ierr)
417# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
418# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
419 call mpi_bcast(patch_icpp(i)%beta, 1, mpi_p, 0, mpi_comm_world, ierr)
420# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
421# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
422 call mpi_bcast(patch_icpp(i)%smooth_coeff, 1, mpi_p, 0, mpi_comm_world, ierr)
423# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
424# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
425 call mpi_bcast(patch_icpp(i)%rho, 1, mpi_p, 0, mpi_comm_world, ierr)
426# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
427# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
428 call mpi_bcast(patch_icpp(i)%p0, 1, mpi_p, 0, mpi_comm_world, ierr)
429# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
430# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
431 call mpi_bcast(patch_icpp(i)%m0, 1, mpi_p, 0, mpi_comm_world, ierr)
432# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
433# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
434 call mpi_bcast(patch_icpp(i)%r0, 1, mpi_p, 0, mpi_comm_world, ierr)
435# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
436# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
437 call mpi_bcast(patch_icpp(i)%v0, 1, mpi_p, 0, mpi_comm_world, ierr)
438# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
439# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
440 call mpi_bcast(patch_icpp(i)%pres, 1, mpi_p, 0, mpi_comm_world, ierr)
441# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
442# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
443 call mpi_bcast(patch_icpp(i)%gamma, 1, mpi_p, 0, mpi_comm_world, ierr)
444# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
445# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
446 call mpi_bcast(patch_icpp(i)%pi_inf, 1, mpi_p, 0, mpi_comm_world, ierr)
447# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
448# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
449 call mpi_bcast(patch_icpp(i)%cv, 1, mpi_p, 0, mpi_comm_world, ierr)
450# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
451# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
452 call mpi_bcast(patch_icpp(i)%qv, 1, mpi_p, 0, mpi_comm_world, ierr)
453# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
454# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
455 call mpi_bcast(patch_icpp(i)%qvp, 1, mpi_p, 0, mpi_comm_world, ierr)
456# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
457# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
458 call mpi_bcast(patch_icpp(i)%cf_val, 1, mpi_p, 0, mpi_comm_world, ierr)
459# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
460# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
461 call mpi_bcast(patch_icpp(i)%Bx, 1, mpi_p, 0, mpi_comm_world, ierr)
462# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
463# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
464 call mpi_bcast(patch_icpp(i)%By, 1, mpi_p, 0, mpi_comm_world, ierr)
465# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
466# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
467 call mpi_bcast(patch_icpp(i)%Bz, 1, mpi_p, 0, mpi_comm_world, ierr)
468# 97 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
469# 98 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
470
471# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
472 call mpi_bcast(patch_icpp(i)%a(2), 1, mpi_p, 0, mpi_comm_world, ierr)
473# 101 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
474# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
475 call mpi_bcast(patch_icpp(i)%a(3), 1, mpi_p, 0, mpi_comm_world, ierr)
476# 101 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
477# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
478 call mpi_bcast(patch_icpp(i)%a(4), 1, mpi_p, 0, mpi_comm_world, ierr)
479# 101 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
480# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
481 call mpi_bcast(patch_icpp(i)%a(5), 1, mpi_p, 0, mpi_comm_world, ierr)
482# 101 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
483# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
484 call mpi_bcast(patch_icpp(i)%a(6), 1, mpi_p, 0, mpi_comm_world, ierr)
485# 101 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
486# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
487 call mpi_bcast(patch_icpp(i)%a(7), 1, mpi_p, 0, mpi_comm_world, ierr)
488# 101 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
489# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
490 call mpi_bcast(patch_icpp(i)%a(8), 1, mpi_p, 0, mpi_comm_world, ierr)
491# 101 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
492# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
493 call mpi_bcast(patch_icpp(i)%a(9), 1, mpi_p, 0, mpi_comm_world, ierr)
494# 101 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
495# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
496
497# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
498 call mpi_bcast(patch_icpp(i)%normal, size(patch_icpp(i)%normal), mpi_p, 0, mpi_comm_world, ierr)
499# 106 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
500# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
501 call mpi_bcast(patch_icpp(i)%radii, size(patch_icpp(i)%radii), mpi_p, 0, mpi_comm_world, ierr)
502# 106 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
503# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
504 call mpi_bcast(patch_icpp(i)%vel, size(patch_icpp(i)%vel), mpi_p, 0, mpi_comm_world, ierr)
505# 106 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
506# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
507 call mpi_bcast(patch_icpp(i)%tau_e, size(patch_icpp(i)%tau_e), mpi_p, 0, mpi_comm_world, ierr)
508# 106 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
509# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
510 call mpi_bcast(patch_icpp(i)%alpha_rho, size(patch_icpp(i)%alpha_rho), mpi_p, 0, mpi_comm_world, ierr)
511# 106 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
512# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
513 call mpi_bcast(patch_icpp(i)%alpha, size(patch_icpp(i)%alpha), mpi_p, 0, mpi_comm_world, ierr)
514# 106 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
515# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
516 call mpi_bcast(patch_icpp(i)%fourier_cos, size(patch_icpp(i)%fourier_cos), mpi_p, 0, mpi_comm_world, ierr)
517# 106 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
518# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
519 call mpi_bcast(patch_icpp(i)%fourier_sin, size(patch_icpp(i)%fourier_sin), mpi_p, 0, mpi_comm_world, ierr)
520# 106 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
521# 107 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
522
523 call mpi_bcast(patch_icpp(i)%sph_har_coeff, size(patch_icpp(i)%sph_har_coeff), mpi_p, 0, mpi_comm_world, ierr)
524 call mpi_bcast(patch_icpp(i)%modal_clip_r_to_min, 1, mpi_logical, 0, mpi_comm_world, ierr)
525 call mpi_bcast(patch_icpp(i)%modal_r_min, 1, mpi_p, 0, mpi_comm_world, ierr)
526 call mpi_bcast(patch_icpp(i)%modal_use_exp_form, 1, mpi_logical, 0, mpi_comm_world, ierr)
527
528 call mpi_bcast(patch_icpp(i)%model_id, 1, mpi_integer, 0, mpi_comm_world, ierr)
529
530 if (chemistry) then
531 call mpi_bcast(patch_icpp(i)%Y, size(patch_icpp(i)%Y), mpi_p, 0, mpi_comm_world, ierr)
532 end if
533 end do
534
535 ! manual: patch_ib (per-target member subset; pre uses size() for vel/angular_vel/angles)
536 do i = 1, num_ibs
537# 123 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
538 call mpi_bcast(patch_ib(i)%vel, size(patch_ib(i)%vel), mpi_p, 0, mpi_comm_world, ierr)
539# 124 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
540# 123 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
541 call mpi_bcast(patch_ib(i)%angular_vel, size(patch_ib(i)%angular_vel), mpi_p, 0, mpi_comm_world, ierr)
542# 124 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
543# 123 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
544 call mpi_bcast(patch_ib(i)%angles, size(patch_ib(i)%angles), mpi_p, 0, mpi_comm_world, ierr)
545# 124 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
546# 125 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
547 call mpi_bcast(patch_ib(i)%geometry, 1, mpi_integer, 0, mpi_comm_world, ierr)
548
549# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
550 call mpi_bcast(patch_ib(i)%x_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
551# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
552# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
553 call mpi_bcast(patch_ib(i)%y_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
554# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
555# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
556 call mpi_bcast(patch_ib(i)%z_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
557# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
558# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
559 call mpi_bcast(patch_ib(i)%length_x, 1, mpi_p, 0, mpi_comm_world, ierr)
560# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
561# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
562 call mpi_bcast(patch_ib(i)%length_y, 1, mpi_p, 0, mpi_comm_world, ierr)
563# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
564# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
565 call mpi_bcast(patch_ib(i)%length_z, 1, mpi_p, 0, mpi_comm_world, ierr)
566# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
567# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
568 call mpi_bcast(patch_ib(i)%radius, 1, mpi_p, 0, mpi_comm_world, ierr)
569# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
570# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
571 call mpi_bcast(patch_ib(i)%Twall, 1, mpi_p, 0, mpi_comm_world, ierr)
572# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
573# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
574 call mpi_bcast(patch_ib(i)%v_blow, 1, mpi_p, 0, mpi_comm_world, ierr)
575# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
576# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
577 call mpi_bcast(patch_ib(i)%burn_rate_exp, 1, mpi_p, 0, mpi_comm_world, ierr)
578# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
579# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
580 call mpi_bcast(patch_ib(i)%burn_rate_pref, 1, mpi_p, 0, mpi_comm_world, ierr)
581# 131 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
582# 132 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
583 call mpi_bcast(patch_ib(i)%airfoil_id, 1, mpi_integer, 0, mpi_comm_world, ierr)
584 call mpi_bcast(patch_ib(i)%model_id, 1, mpi_integer, 0, mpi_comm_world, ierr)
585 call mpi_bcast(patch_ib(i)%inj_species, 1, mpi_integer, 0, mpi_comm_world, ierr)
586 call mpi_bcast(patch_ib(i)%thermal_bc, 1, mpi_integer, 0, mpi_comm_world, ierr)
587 call mpi_bcast(patch_ib(i)%surface_reaction, 1, mpi_integer, 0, mpi_comm_world, ierr)
588 call mpi_bcast(patch_ib(i)%slip, 1, mpi_logical, 0, mpi_comm_world, ierr)
589 end do
590
591 ! manual: particle_cloud (runtime loop to num_particle_clouds; irregular member subset)
592 do i = 1, num_particle_clouds
593# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
594 call mpi_bcast(particle_cloud(i)%x_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
595# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
596# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
597 call mpi_bcast(particle_cloud(i)%y_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
598# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
599# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
600 call mpi_bcast(particle_cloud(i)%z_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
601# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
602# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
603 call mpi_bcast(particle_cloud(i)%length_x, 1, mpi_p, 0, mpi_comm_world, ierr)
604# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
605# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
606 call mpi_bcast(particle_cloud(i)%length_y, 1, mpi_p, 0, mpi_comm_world, ierr)
607# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
608# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
609 call mpi_bcast(particle_cloud(i)%length_z, 1, mpi_p, 0, mpi_comm_world, ierr)
610# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
611# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
612 call mpi_bcast(particle_cloud(i)%radius, 1, mpi_p, 0, mpi_comm_world, ierr)
613# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
614# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
615 call mpi_bcast(particle_cloud(i)%mass, 1, mpi_p, 0, mpi_comm_world, ierr)
616# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
617# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
618 call mpi_bcast(particle_cloud(i)%min_spacing, 1, mpi_p, 0, mpi_comm_world, ierr)
619# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
620# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
621 call mpi_bcast(particle_cloud(i)%shell_inner_radius, 1, mpi_p, 0, mpi_comm_world, ierr)
622# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
623# 144 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
624 call mpi_bcast(particle_cloud(i)%shell_outer_radius, 1, mpi_p, 0, mpi_comm_world, ierr)
625# 145 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
626# 146 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
627 call mpi_bcast(particle_cloud(i)%num_particles, 1, mpi_integer, 0, mpi_comm_world, ierr)
628 call mpi_bcast(particle_cloud(i)%moving_ibm, 1, mpi_integer, 0, mpi_comm_world, ierr)
629 call mpi_bcast(particle_cloud(i)%seed, 1, mpi_integer, 0, mpi_comm_world, ierr)
630 call mpi_bcast(particle_cloud(i)%cloud_geometry, 1, mpi_integer, 0, mpi_comm_world, ierr)
631 call mpi_bcast(particle_cloud(i)%packing_method, 1, mpi_integer, 0, mpi_comm_world, ierr)
632 call mpi_bcast(particle_cloud(i)%periodic, 1, mpi_integer, 0, mpi_comm_world, ierr)
633 end do
634
635 ! manual: ib_airfoil (kept manual alongside patch_ib)
636 do i = 1, num_ib_airfoils_max
637# 157 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
638 call mpi_bcast(ib_airfoil(i)%c, 1, mpi_p, 0, mpi_comm_world, ierr)
639# 158 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
640# 157 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
641 call mpi_bcast(ib_airfoil(i)%p, 1, mpi_p, 0, mpi_comm_world, ierr)
642# 158 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
643# 157 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
644 call mpi_bcast(ib_airfoil(i)%t, 1, mpi_p, 0, mpi_comm_world, ierr)
645# 158 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
646# 157 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
647 call mpi_bcast(ib_airfoil(i)%m, 1, mpi_p, 0, mpi_comm_world, ierr)
648# 158 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
649# 159 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
650 end do
651
652 ! manual: stl_models loop (num_stl_models scalar is generated; grouped array members)
653 do i = 1, num_stl_models_max
654 call mpi_bcast(stl_models(i)%model_filepath, len(stl_models(i)%model_filepath), mpi_character, 0, mpi_comm_world, ierr)
655 call mpi_bcast(stl_models(i)%model_threshold, 1, mpi_p, 0, mpi_comm_world, ierr)
656# 166 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
657 call mpi_bcast(stl_models(i)%model_translate, 3, mpi_p, 0, mpi_comm_world, ierr)
658# 167 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
659# 166 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
660 call mpi_bcast(stl_models(i)%model_scale, 3, mpi_p, 0, mpi_comm_world, ierr)
661# 167 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
662# 168 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
663 end do
664
665 ! Hardcoded-patch variables (#1290; not namelist-bound, set on rank 0)
666 call mpi_bcast(interface_file, len(interface_file), mpi_character, 0, mpi_comm_world, ierr)
667 call mpi_bcast(normfac, 1, mpi_p, 0, mpi_comm_world, ierr)
668 call mpi_bcast(normmag, 1, mpi_p, 0, mpi_comm_world, ierr)
669 call mpi_bcast(g0_ic, 1, mpi_p, 0, mpi_comm_world, ierr)
670 call mpi_bcast(p0_ic, 1, mpi_p, 0, mpi_comm_world, ierr)
671
672 ! manual: simplex_params density perturbation (nested i-j loops; irregular structure)
673 do i = 1, num_fluids_max
674 call mpi_bcast(simplex_params%perturb_dens(i), 1, mpi_logical, 0, mpi_comm_world, ierr)
675 call mpi_bcast(simplex_params%perturb_dens_freq(i), 1, mpi_p, 0, mpi_comm_world, ierr)
676 call mpi_bcast(simplex_params%perturb_dens_scale(i), 1, mpi_p, 0, mpi_comm_world, ierr)
677
678 do j = 1, 3
679 call mpi_bcast(simplex_params%perturb_dens_offset(i, j), 1, mpi_p, 0, mpi_comm_world, ierr)
680 end do
681 end do
682
683 ! manual: simplex_params velocity perturbation
684 do i = 1, 3
685 call mpi_bcast(simplex_params%perturb_vel(i), 1, mpi_logical, 0, mpi_comm_world, ierr)
686 call mpi_bcast(simplex_params%perturb_vel_freq(i), 1, mpi_p, 0, mpi_comm_world, ierr)
687 call mpi_bcast(simplex_params%perturb_vel_scale(i), 1, mpi_p, 0, mpi_comm_world, ierr)
688
689 do j = 1, 3
690 call mpi_bcast(simplex_params%perturb_vel_offset(i, j), 1, mpi_p, 0, mpi_comm_world, ierr)
691 end do
692 end do
693#endif
694
695 end subroutine s_mpi_bcast_user_inputs
696
697end 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.
integer p_glb
Global number of cells in each direction.
type(int_bounds_info) bc_z
Boundary conditions in the x-, y- and z-coordinate directions.
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.
character(len=2 *path_len) interface_file
type(int_bounds_info) bc_y
type(int_bounds_info) bc_x
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...