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_patches, 1, mpi_integer, 0, mpi_comm_world, ierr)
58 call mpi_bcast(num_stl_models, 1, mpi_integer, 0, mpi_comm_world, ierr)
59 call mpi_bcast(p, 1, mpi_integer, 0, mpi_comm_world, ierr)
60 call mpi_bcast(perturb_flow_fluid, 1, mpi_integer, 0, mpi_comm_world, ierr)
61 call mpi_bcast(perturb_sph_fluid, 1, mpi_integer, 0, mpi_comm_world, ierr)
62 call mpi_bcast(precision, 1, mpi_integer, 0, mpi_comm_world, ierr)
63 call mpi_bcast(recon_type, 1, mpi_integer, 0, mpi_comm_world, ierr)
64 call mpi_bcast(relax_model, 1, mpi_integer, 0, mpi_comm_world, ierr)
65 call mpi_bcast(t_step_old, 1, mpi_integer, 0, mpi_comm_world, ierr)
66 call mpi_bcast(t_step_start, 1, mpi_integer, 0, mpi_comm_world, ierr)
67 call mpi_bcast(thermal, 1, mpi_integer, 0, mpi_comm_world, ierr)
68 call mpi_bcast(weno_order, 1, mpi_integer, 0, mpi_comm_world, ierr)
69
70 ! Logical scalars
71 call mpi_bcast(adv_n, 1, mpi_logical, 0, mpi_comm_world, ierr)
72 call mpi_bcast(bubbles_euler, 1, mpi_logical, 0, mpi_comm_world, ierr)
73 call mpi_bcast(bubbles_lagrange, 1, mpi_logical, 0, mpi_comm_world, ierr)
74 call mpi_bcast(cfl_adap_dt, 1, mpi_logical, 0, mpi_comm_world, ierr)
75 call mpi_bcast(cfl_const_dt, 1, mpi_logical, 0, mpi_comm_world, ierr)
76 call mpi_bcast(cont_damage, 1, mpi_logical, 0, mpi_comm_world, ierr)
77 call mpi_bcast(cyl_coord, 1, mpi_logical, 0, mpi_comm_world, ierr)
78 call mpi_bcast(down_sample, 1, mpi_logical, 0, mpi_comm_world, ierr)
79 call mpi_bcast(elliptic_smoothing, 1, mpi_logical, 0, mpi_comm_world, ierr)
80 call mpi_bcast(fft_wrt, 1, mpi_logical, 0, mpi_comm_world, ierr)
81 call mpi_bcast(file_per_process, 1, mpi_logical, 0, mpi_comm_world, ierr)
82 call mpi_bcast(hyper_cleaning, 1, mpi_logical, 0, mpi_comm_world, ierr)
83 call mpi_bcast(hypoelasticity, 1, mpi_logical, 0, mpi_comm_world, ierr)
84 call mpi_bcast(ib, 1, mpi_logical, 0, mpi_comm_world, ierr)
85 call mpi_bcast(igr, 1, mpi_logical, 0, mpi_comm_world, ierr)
86 call mpi_bcast(mhd, 1, mpi_logical, 0, mpi_comm_world, ierr)
87 call mpi_bcast(mixlayer_perturb, 1, mpi_logical, 0, mpi_comm_world, ierr)
88 call mpi_bcast(mixlayer_vel_profile, 1, mpi_logical, 0, mpi_comm_world, ierr)
89 call mpi_bcast(mpp_lim, 1, mpi_logical, 0, mpi_comm_world, ierr)
90 call mpi_bcast(old_grid, 1, mpi_logical, 0, mpi_comm_world, ierr)
91 call mpi_bcast(old_ic, 1, mpi_logical, 0, mpi_comm_world, ierr)
92 call mpi_bcast(parallel_io, 1, mpi_logical, 0, mpi_comm_world, ierr)
93 call mpi_bcast(perturb_flow, 1, mpi_logical, 0, mpi_comm_world, ierr)
94 call mpi_bcast(perturb_sph, 1, mpi_logical, 0, mpi_comm_world, ierr)
95 call mpi_bcast(polydisperse, 1, mpi_logical, 0, mpi_comm_world, ierr)
96 call mpi_bcast(polytropic, 1, mpi_logical, 0, mpi_comm_world, ierr)
97 call mpi_bcast(qbmm, 1, mpi_logical, 0, mpi_comm_world, ierr)
98 call mpi_bcast(reactive_burn, 1, mpi_logical, 0, mpi_comm_world, ierr)
99 call mpi_bcast(relativity, 1, mpi_logical, 0, mpi_comm_world, ierr)
100 call mpi_bcast(relax, 1, mpi_logical, 0, mpi_comm_world, ierr)
101 call mpi_bcast(simplex_perturb, 1, mpi_logical, 0, mpi_comm_world, ierr)
102 call mpi_bcast(stretch_x, 1, mpi_logical, 0, mpi_comm_world, ierr)
103 call mpi_bcast(stretch_y, 1, mpi_logical, 0, mpi_comm_world, ierr)
104 call mpi_bcast(stretch_z, 1, mpi_logical, 0, mpi_comm_world, ierr)
105 call mpi_bcast(surface_tension, 1, mpi_logical, 0, mpi_comm_world, ierr)
106 call mpi_bcast(viscous, 1, mpi_logical, 0, mpi_comm_world, ierr)
107
108 ! Real scalars
109 call mpi_bcast(bx0, 1, mpi_p, 0, mpi_comm_world, ierr)
110 call mpi_bcast(ca, 1, mpi_p, 0, mpi_comm_world, ierr)
111 call mpi_bcast(r0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
112 call mpi_bcast(re_inv, 1, mpi_p, 0, mpi_comm_world, ierr)
113 call mpi_bcast(web, 1, mpi_p, 0, mpi_comm_world, ierr)
114 call mpi_bcast(a_x, 1, mpi_p, 0, mpi_comm_world, ierr)
115 call mpi_bcast(a_y, 1, mpi_p, 0, mpi_comm_world, ierr)
116 call mpi_bcast(a_z, 1, mpi_p, 0, mpi_comm_world, ierr)
117 call mpi_bcast(mixlayer_perturb_k0, 1, mpi_p, 0, mpi_comm_world, ierr)
118 call mpi_bcast(mixlayer_vel_coef, 1, mpi_p, 0, mpi_comm_world, ierr)
119 call mpi_bcast(palpha_eps, 1, mpi_p, 0, mpi_comm_world, ierr)
120 call mpi_bcast(perturb_flow_mag, 1, mpi_p, 0, mpi_comm_world, ierr)
121 call mpi_bcast(pi_fac, 1, mpi_p, 0, mpi_comm_world, ierr)
122 call mpi_bcast(poly_sigma, 1, mpi_p, 0, mpi_comm_world, ierr)
123 call mpi_bcast(ptgalpha_eps, 1, mpi_p, 0, mpi_comm_world, ierr)
124 call mpi_bcast(rhorv, 1, mpi_p, 0, mpi_comm_world, ierr)
125 call mpi_bcast(sigr, 1, mpi_p, 0, mpi_comm_world, ierr)
126 call mpi_bcast(sigv, 1, mpi_p, 0, mpi_comm_world, ierr)
127 call mpi_bcast(sigma, 1, mpi_p, 0, mpi_comm_world, ierr)
128 call mpi_bcast(x_a, 1, mpi_p, 0, mpi_comm_world, ierr)
129 call mpi_bcast(x_b, 1, mpi_p, 0, mpi_comm_world, ierr)
130 call mpi_bcast(y_a, 1, mpi_p, 0, mpi_comm_world, ierr)
131 call mpi_bcast(y_b, 1, mpi_p, 0, mpi_comm_world, ierr)
132 call mpi_bcast(z_a, 1, mpi_p, 0, mpi_comm_world, ierr)
133 call mpi_bcast(z_b, 1, mpi_p, 0, mpi_comm_world, ierr)
134
135 ! Array broadcasts (dimension from FORTRAN_ARRAY_DIMS)
136 call mpi_bcast(fluid_rho(1), num_fluids_max, mpi_p, 0, mpi_comm_world, ierr)
137
138 ! fluid_pp member loop
139 do i = 1, num_fluids_max
140 call mpi_bcast(fluid_pp(i)%G, 1, mpi_p, 0, mpi_comm_world, ierr)
141 call mpi_bcast(fluid_pp(i)%K, 1, mpi_p, 0, mpi_comm_world, ierr)
142 call mpi_bcast(fluid_pp(i)%cv, 1, mpi_p, 0, mpi_comm_world, ierr)
143 call mpi_bcast(fluid_pp(i)%gamma, 1, mpi_p, 0, mpi_comm_world, ierr)
144 call mpi_bcast(fluid_pp(i)%hb_m, 1, mpi_p, 0, mpi_comm_world, ierr)
145 call mpi_bcast(fluid_pp(i)%mu_bulk, 1, mpi_p, 0, mpi_comm_world, ierr)
146 call mpi_bcast(fluid_pp(i)%mu_max, 1, mpi_p, 0, mpi_comm_world, ierr)
147 call mpi_bcast(fluid_pp(i)%mu_min, 1, mpi_p, 0, mpi_comm_world, ierr)
148 call mpi_bcast(fluid_pp(i)%nn, 1, mpi_p, 0, mpi_comm_world, ierr)
149 call mpi_bcast(fluid_pp(i)%non_newtonian, 1, mpi_logical, 0, mpi_comm_world, ierr)
150 call mpi_bcast(fluid_pp(i)%pi_inf, 1, mpi_p, 0, mpi_comm_world, ierr)
151 call mpi_bcast(fluid_pp(i)%qv, 1, mpi_p, 0, mpi_comm_world, ierr)
152 call mpi_bcast(fluid_pp(i)%qvp, 1, mpi_p, 0, mpi_comm_world, ierr)
153 call mpi_bcast(fluid_pp(i)%tau0, 1, mpi_p, 0, mpi_comm_world, ierr)
154 end do
155
156 ! bub_pp members (under bubbles guard)
157 if (bubbles_euler .or. bubbles_lagrange) then
158 call mpi_bcast(bub_pp%M_g, 1, mpi_p, 0, mpi_comm_world, ierr)
159 call mpi_bcast(bub_pp%M_v, 1, mpi_p, 0, mpi_comm_world, ierr)
160 call mpi_bcast(bub_pp%R0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
161 call mpi_bcast(bub_pp%R_g, 1, mpi_p, 0, mpi_comm_world, ierr)
162 call mpi_bcast(bub_pp%R_v, 1, mpi_p, 0, mpi_comm_world, ierr)
163 call mpi_bcast(bub_pp%T0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
164 call mpi_bcast(bub_pp%cp_g, 1, mpi_p, 0, mpi_comm_world, ierr)
165 call mpi_bcast(bub_pp%cp_v, 1, mpi_p, 0, mpi_comm_world, ierr)
166 call mpi_bcast(bub_pp%gam_g, 1, mpi_p, 0, mpi_comm_world, ierr)
167 call mpi_bcast(bub_pp%gam_v, 1, mpi_p, 0, mpi_comm_world, ierr)
168 call mpi_bcast(bub_pp%k_g, 1, mpi_p, 0, mpi_comm_world, ierr)
169 call mpi_bcast(bub_pp%k_v, 1, mpi_p, 0, mpi_comm_world, ierr)
170 call mpi_bcast(bub_pp%mu_g, 1, mpi_p, 0, mpi_comm_world, ierr)
171 call mpi_bcast(bub_pp%mu_l, 1, mpi_p, 0, mpi_comm_world, ierr)
172 call mpi_bcast(bub_pp%mu_v, 1, mpi_p, 0, mpi_comm_world, ierr)
173 call mpi_bcast(bub_pp%p0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
174 call mpi_bcast(bub_pp%pv, 1, mpi_p, 0, mpi_comm_world, ierr)
175 call mpi_bcast(bub_pp%rho0ref, 1, mpi_p, 0, mpi_comm_world, ierr)
176 call mpi_bcast(bub_pp%ss, 1, mpi_p, 0, mpi_comm_world, ierr)
177 call mpi_bcast(bub_pp%vd, 1, mpi_p, 0, mpi_comm_world, ierr)
178 end if
179
180# 30 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp" 2
181
182 ! manual: m/n/p_glb (computed from m/n/p post-read, not namelist-bound)
183 call mpi_bcast(m_glb, 1, mpi_integer, 0, mpi_comm_world, ierr)
184 call mpi_bcast(n_glb, 1, mpi_integer, 0, mpi_comm_world, ierr)
185 call mpi_bcast(p_glb, 1, mpi_integer, 0, mpi_comm_world, ierr)
186
187 ! manual: bc_x/y/z member broadcasts (struct members not in NAMELIST_VARS)
188# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
189 call mpi_bcast(bc_x%isothermal_in, 1, mpi_logical, 0, mpi_comm_world, ierr)
190# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
191 call mpi_bcast(bc_y%isothermal_in, 1, mpi_logical, 0, mpi_comm_world, ierr)
192# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
193 call mpi_bcast(bc_z%isothermal_in, 1, mpi_logical, 0, mpi_comm_world, ierr)
194# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
195 call mpi_bcast(bc_x%isothermal_out, 1, mpi_logical, 0, mpi_comm_world, ierr)
196# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
197 call mpi_bcast(bc_y%isothermal_out, 1, mpi_logical, 0, mpi_comm_world, ierr)
198# 39 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
199 call mpi_bcast(bc_z%isothermal_out, 1, mpi_logical, 0, mpi_comm_world, ierr)
200# 41 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
201
202 ! manual: domain bounds and wall temperatures (REAL struct members, not in NAMELIST_VARS)
203# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
204 call mpi_bcast(x_domain%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
205# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
206 call mpi_bcast(x_domain%end, 1, mpi_p, 0, mpi_comm_world, ierr)
207# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
208 call mpi_bcast(y_domain%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
209# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
210 call mpi_bcast(y_domain%end, 1, mpi_p, 0, mpi_comm_world, ierr)
211# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
212 call mpi_bcast(z_domain%beg, 1, mpi_p, 0, mpi_comm_world, ierr)
213# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
214 call mpi_bcast(z_domain%end, 1, mpi_p, 0, mpi_comm_world, ierr)
215# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
216 call mpi_bcast(bc_x%Twall_in, 1, mpi_p, 0, mpi_comm_world, ierr)
217# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
218 call mpi_bcast(bc_x%Twall_out, 1, mpi_p, 0, mpi_comm_world, ierr)
219# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
220 call mpi_bcast(bc_y%Twall_in, 1, mpi_p, 0, mpi_comm_world, ierr)
221# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
222 call mpi_bcast(bc_y%Twall_out, 1, mpi_p, 0, mpi_comm_world, ierr)
223# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
224 call mpi_bcast(bc_z%Twall_in, 1, mpi_p, 0, mpi_comm_world, ierr)
225# 48 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
226 call mpi_bcast(bc_z%Twall_out, 1, mpi_p, 0, mpi_comm_world, ierr)
227# 50 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
228
229 ! manual: BC type codes (INTEGER struct members)
230# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
231 call mpi_bcast(bc_x%beg, 1, mpi_integer, 0, mpi_comm_world, ierr)
232# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
233 call mpi_bcast(bc_x%end, 1, mpi_integer, 0, mpi_comm_world, ierr)
234# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
235 call mpi_bcast(bc_y%beg, 1, mpi_integer, 0, mpi_comm_world, ierr)
236# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
237 call mpi_bcast(bc_y%end, 1, mpi_integer, 0, mpi_comm_world, ierr)
238# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
239 call mpi_bcast(bc_z%beg, 1, mpi_integer, 0, mpi_comm_world, ierr)
240# 53 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
241 call mpi_bcast(bc_z%end, 1, mpi_integer, 0, mpi_comm_world, ierr)
242# 55 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
243
244 ! wall-velocity members consumed by s_slip_wall/s_no_slip_wall on all ranks
245# 58 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
246# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
247 call mpi_bcast(bc_x%vb1, 1, mpi_p, 0, mpi_comm_world, ierr)
248 call mpi_bcast(bc_x%ve1, 1, mpi_p, 0, mpi_comm_world, ierr)
249# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
250 call mpi_bcast(bc_x%vb2, 1, mpi_p, 0, mpi_comm_world, ierr)
251 call mpi_bcast(bc_x%ve2, 1, mpi_p, 0, mpi_comm_world, ierr)
252# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
253 call mpi_bcast(bc_x%vb3, 1, mpi_p, 0, mpi_comm_world, ierr)
254 call mpi_bcast(bc_x%ve3, 1, mpi_p, 0, mpi_comm_world, ierr)
255# 62 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
256# 58 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
257# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
258 call mpi_bcast(bc_y%vb1, 1, mpi_p, 0, mpi_comm_world, ierr)
259 call mpi_bcast(bc_y%ve1, 1, mpi_p, 0, mpi_comm_world, ierr)
260# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
261 call mpi_bcast(bc_y%vb2, 1, mpi_p, 0, mpi_comm_world, ierr)
262 call mpi_bcast(bc_y%ve2, 1, mpi_p, 0, mpi_comm_world, ierr)
263# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
264 call mpi_bcast(bc_y%vb3, 1, mpi_p, 0, mpi_comm_world, ierr)
265 call mpi_bcast(bc_y%ve3, 1, mpi_p, 0, mpi_comm_world, ierr)
266# 62 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
267# 58 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
268# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
269 call mpi_bcast(bc_z%vb1, 1, mpi_p, 0, mpi_comm_world, ierr)
270 call mpi_bcast(bc_z%ve1, 1, mpi_p, 0, mpi_comm_world, ierr)
271# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
272 call mpi_bcast(bc_z%vb2, 1, mpi_p, 0, mpi_comm_world, ierr)
273 call mpi_bcast(bc_z%ve2, 1, mpi_p, 0, mpi_comm_world, ierr)
274# 59 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
275 call mpi_bcast(bc_z%vb3, 1, mpi_p, 0, mpi_comm_world, ierr)
276 call mpi_bcast(bc_z%ve3, 1, mpi_p, 0, mpi_comm_world, ierr)
277# 62 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
278# 63 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
279
280 ! manual: cfl_dt (runtime-computed logical), bc_io (BC-file existence)
281 call mpi_bcast(cfl_dt, 1, mpi_logical, 0, mpi_comm_world, ierr)
282 call mpi_bcast(bc_io, 1, mpi_logical, 0, mpi_comm_world, ierr)
283
284 ! manual: patch_bc (complex array members broadcast with size())
285 do i = 1, num_bc_patches_max
286# 71 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
287 call mpi_bcast(patch_bc(i)%geometry, 1, mpi_integer, 0, mpi_comm_world, ierr)
288# 71 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
289 call mpi_bcast(patch_bc(i)%type, 1, mpi_integer, 0, mpi_comm_world, ierr)
290# 71 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
291 call mpi_bcast(patch_bc(i)%dir, 1, mpi_integer, 0, mpi_comm_world, ierr)
292# 71 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
293 call mpi_bcast(patch_bc(i)%loc, 1, mpi_integer, 0, mpi_comm_world, ierr)
294# 73 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
295
296 call mpi_bcast(patch_bc(i)%radius, 1, mpi_p, 0, mpi_comm_world, ierr)
297
298# 77 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
299 call mpi_bcast(patch_bc(i)%centroid, size(patch_bc(i)%centroid), mpi_p, 0, mpi_comm_world, ierr)
300# 77 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
301 call mpi_bcast(patch_bc(i)%length, size(patch_bc(i)%length), mpi_p, 0, mpi_comm_world, ierr)
302# 79 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
303 end do
304
305 ! manual: patch_icpp (complex members: alter_patch, sph_har_coeff, size() arrays)
306 do i = 1, num_patches_max
307# 84 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
308 call mpi_bcast(patch_icpp(i)%geometry, 1, mpi_integer, 0, mpi_comm_world, ierr)
309# 84 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
310 call mpi_bcast(patch_icpp(i)%smooth_patch_id, 1, mpi_integer, 0, mpi_comm_world, ierr)
311# 84 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
312 call mpi_bcast(patch_icpp(i)%hcid, 1, mpi_integer, 0, mpi_comm_world, ierr)
313# 86 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
314
315 call mpi_bcast(patch_icpp(i)%smoothen, 1, mpi_logical, 0, mpi_comm_world, ierr)
316 call mpi_bcast(patch_icpp(i)%non_axis_sym, 1, mpi_logical, 0, mpi_comm_world, ierr)
317 call mpi_bcast(patch_icpp(i)%alter_patch(0), num_patches_max, mpi_logical, 0, mpi_comm_world, ierr)
318
319# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
320 call mpi_bcast(patch_icpp(i)%x_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
321# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
322 call mpi_bcast(patch_icpp(i)%y_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
323# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
324 call mpi_bcast(patch_icpp(i)%z_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
325# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
326 call mpi_bcast(patch_icpp(i)%length_x, 1, mpi_p, 0, mpi_comm_world, ierr)
327# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
328 call mpi_bcast(patch_icpp(i)%length_y, 1, mpi_p, 0, mpi_comm_world, ierr)
329# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
330 call mpi_bcast(patch_icpp(i)%length_z, 1, mpi_p, 0, mpi_comm_world, ierr)
331# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
332 call mpi_bcast(patch_icpp(i)%radius, 1, mpi_p, 0, mpi_comm_world, ierr)
333# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
334 call mpi_bcast(patch_icpp(i)%epsilon, 1, mpi_p, 0, mpi_comm_world, ierr)
335# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
336 call mpi_bcast(patch_icpp(i)%beta, 1, mpi_p, 0, mpi_comm_world, ierr)
337# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
338 call mpi_bcast(patch_icpp(i)%smooth_coeff, 1, mpi_p, 0, mpi_comm_world, ierr)
339# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
340 call mpi_bcast(patch_icpp(i)%rho, 1, mpi_p, 0, mpi_comm_world, ierr)
341# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
342 call mpi_bcast(patch_icpp(i)%p0, 1, mpi_p, 0, mpi_comm_world, ierr)
343# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
344 call mpi_bcast(patch_icpp(i)%m0, 1, mpi_p, 0, mpi_comm_world, ierr)
345# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
346 call mpi_bcast(patch_icpp(i)%r0, 1, mpi_p, 0, mpi_comm_world, ierr)
347# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
348 call mpi_bcast(patch_icpp(i)%v0, 1, mpi_p, 0, mpi_comm_world, ierr)
349# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
350 call mpi_bcast(patch_icpp(i)%pres, 1, mpi_p, 0, mpi_comm_world, ierr)
351# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
352 call mpi_bcast(patch_icpp(i)%gamma, 1, mpi_p, 0, mpi_comm_world, ierr)
353# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
354 call mpi_bcast(patch_icpp(i)%pi_inf, 1, mpi_p, 0, mpi_comm_world, ierr)
355# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
356 call mpi_bcast(patch_icpp(i)%cv, 1, mpi_p, 0, mpi_comm_world, ierr)
357# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
358 call mpi_bcast(patch_icpp(i)%qv, 1, mpi_p, 0, mpi_comm_world, ierr)
359# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
360 call mpi_bcast(patch_icpp(i)%qvp, 1, mpi_p, 0, mpi_comm_world, ierr)
361# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
362 call mpi_bcast(patch_icpp(i)%cf_val, 1, mpi_p, 0, mpi_comm_world, ierr)
363# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
364 call mpi_bcast(patch_icpp(i)%Bx, 1, mpi_p, 0, mpi_comm_world, ierr)
365# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
366 call mpi_bcast(patch_icpp(i)%By, 1, mpi_p, 0, mpi_comm_world, ierr)
367# 96 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
368 call mpi_bcast(patch_icpp(i)%Bz, 1, mpi_p, 0, mpi_comm_world, ierr)
369# 98 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
370
371# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
372 call mpi_bcast(patch_icpp(i)%a(2), 1, mpi_p, 0, mpi_comm_world, ierr)
373# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
374 call mpi_bcast(patch_icpp(i)%a(3), 1, mpi_p, 0, mpi_comm_world, ierr)
375# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
376 call mpi_bcast(patch_icpp(i)%a(4), 1, mpi_p, 0, mpi_comm_world, ierr)
377# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
378 call mpi_bcast(patch_icpp(i)%a(5), 1, mpi_p, 0, mpi_comm_world, ierr)
379# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
380 call mpi_bcast(patch_icpp(i)%a(6), 1, mpi_p, 0, mpi_comm_world, ierr)
381# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
382 call mpi_bcast(patch_icpp(i)%a(7), 1, mpi_p, 0, mpi_comm_world, ierr)
383# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
384 call mpi_bcast(patch_icpp(i)%a(8), 1, mpi_p, 0, mpi_comm_world, ierr)
385# 100 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
386 call mpi_bcast(patch_icpp(i)%a(9), 1, mpi_p, 0, mpi_comm_world, ierr)
387# 102 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
388
389# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
390 call mpi_bcast(patch_icpp(i)%normal, size(patch_icpp(i)%normal), mpi_p, 0, mpi_comm_world, ierr)
391# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
392 call mpi_bcast(patch_icpp(i)%radii, size(patch_icpp(i)%radii), mpi_p, 0, mpi_comm_world, ierr)
393# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
394 call mpi_bcast(patch_icpp(i)%vel, size(patch_icpp(i)%vel), mpi_p, 0, mpi_comm_world, ierr)
395# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
396 call mpi_bcast(patch_icpp(i)%tau_e, size(patch_icpp(i)%tau_e), mpi_p, 0, mpi_comm_world, ierr)
397# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
398 call mpi_bcast(patch_icpp(i)%alpha_rho, size(patch_icpp(i)%alpha_rho), mpi_p, 0, mpi_comm_world, ierr)
399# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
400 call mpi_bcast(patch_icpp(i)%alpha, size(patch_icpp(i)%alpha), mpi_p, 0, mpi_comm_world, ierr)
401# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
402 call mpi_bcast(patch_icpp(i)%fourier_cos, size(patch_icpp(i)%fourier_cos), mpi_p, 0, mpi_comm_world, ierr)
403# 105 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
404 call mpi_bcast(patch_icpp(i)%fourier_sin, size(patch_icpp(i)%fourier_sin), mpi_p, 0, mpi_comm_world, ierr)
405# 107 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
406
407 call mpi_bcast(patch_icpp(i)%sph_har_coeff, size(patch_icpp(i)%sph_har_coeff), mpi_p, 0, mpi_comm_world, ierr)
408 call mpi_bcast(patch_icpp(i)%modal_clip_r_to_min, 1, mpi_logical, 0, mpi_comm_world, ierr)
409 call mpi_bcast(patch_icpp(i)%modal_r_min, 1, mpi_p, 0, mpi_comm_world, ierr)
410 call mpi_bcast(patch_icpp(i)%modal_use_exp_form, 1, mpi_logical, 0, mpi_comm_world, ierr)
411
412 call mpi_bcast(patch_icpp(i)%model_id, 1, mpi_integer, 0, mpi_comm_world, ierr)
413
414 if (chemistry) then
415 call mpi_bcast(patch_icpp(i)%Y, size(patch_icpp(i)%Y), mpi_p, 0, mpi_comm_world, ierr)
416 end if
417 end do
418
419 ! manual: patch_ib (per-target member subset; pre uses size() for vel/angular_vel/angles)
420 do i = 1, num_ibs
421# 123 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
422 call mpi_bcast(patch_ib(i)%vel, size(patch_ib(i)%vel), mpi_p, 0, mpi_comm_world, ierr)
423# 123 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
424 call mpi_bcast(patch_ib(i)%angular_vel, size(patch_ib(i)%angular_vel), mpi_p, 0, mpi_comm_world, ierr)
425# 123 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
426 call mpi_bcast(patch_ib(i)%angles, size(patch_ib(i)%angles), mpi_p, 0, mpi_comm_world, ierr)
427# 125 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
428 call mpi_bcast(patch_ib(i)%geometry, 1, mpi_integer, 0, mpi_comm_world, ierr)
429
430# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
431 call mpi_bcast(patch_ib(i)%x_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
432# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
433 call mpi_bcast(patch_ib(i)%y_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
434# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
435 call mpi_bcast(patch_ib(i)%z_centroid, 1, mpi_p, 0, mpi_comm_world, ierr)
436# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
437 call mpi_bcast(patch_ib(i)%length_x, 1, mpi_p, 0, mpi_comm_world, ierr)
438# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
439 call mpi_bcast(patch_ib(i)%length_y, 1, mpi_p, 0, mpi_comm_world, ierr)
440# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
441 call mpi_bcast(patch_ib(i)%length_z, 1, mpi_p, 0, mpi_comm_world, ierr)
442# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
443 call mpi_bcast(patch_ib(i)%radius, 1, mpi_p, 0, mpi_comm_world, ierr)
444# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
445 call mpi_bcast(patch_ib(i)%v_blow, 1, mpi_p, 0, mpi_comm_world, ierr)
446# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
447 call mpi_bcast(patch_ib(i)%burn_rate_exp, 1, mpi_p, 0, mpi_comm_world, ierr)
448# 130 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
449 call mpi_bcast(patch_ib(i)%burn_rate_pref, 1, mpi_p, 0, mpi_comm_world, ierr)
450# 132 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
451 call mpi_bcast(patch_ib(i)%airfoil_id, 1, mpi_integer, 0, mpi_comm_world, ierr)
452 call mpi_bcast(patch_ib(i)%model_id, 1, mpi_integer, 0, mpi_comm_world, ierr)
453 call mpi_bcast(patch_ib(i)%inj_species, 1, mpi_integer, 0, mpi_comm_world, ierr)
454 call mpi_bcast(patch_ib(i)%slip, 1, mpi_logical, 0, mpi_comm_world, ierr)
455 end do
456
457 ! manual: ib_airfoil (kept manual alongside patch_ib)
458 do i = 1, num_ib_airfoils_max
459# 141 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
460 call mpi_bcast(ib_airfoil(i)%c, 1, mpi_p, 0, mpi_comm_world, ierr)
461# 141 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
462 call mpi_bcast(ib_airfoil(i)%p, 1, mpi_p, 0, mpi_comm_world, ierr)
463# 141 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
464 call mpi_bcast(ib_airfoil(i)%t, 1, mpi_p, 0, mpi_comm_world, ierr)
465# 141 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
466 call mpi_bcast(ib_airfoil(i)%m, 1, mpi_p, 0, mpi_comm_world, ierr)
467# 143 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
468 end do
469
470 ! manual: stl_models loop (num_stl_models scalar is generated; grouped array members)
471 do i = 1, num_stl_models_max
472 call mpi_bcast(stl_models(i)%model_filepath, len(stl_models(i)%model_filepath), mpi_character, 0, mpi_comm_world, ierr)
473 call mpi_bcast(stl_models(i)%model_threshold, 1, mpi_p, 0, mpi_comm_world, ierr)
474# 150 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
475 call mpi_bcast(stl_models(i)%model_translate, 3, mpi_p, 0, mpi_comm_world, ierr)
476# 150 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
477 call mpi_bcast(stl_models(i)%model_scale, 3, mpi_p, 0, mpi_comm_world, ierr)
478# 152 "/home/runner/work/MFC/MFC/src/pre_process/m_mpi_proxy.fpp"
479 end do
480
481 ! Hardcoded-patch variables (#1290; not namelist-bound, set on rank 0)
482 call mpi_bcast(interface_file, len(interface_file), mpi_character, 0, mpi_comm_world, ierr)
483 call mpi_bcast(normfac, 1, mpi_p, 0, mpi_comm_world, ierr)
484 call mpi_bcast(normmag, 1, mpi_p, 0, mpi_comm_world, ierr)
485 call mpi_bcast(g0_ic, 1, mpi_p, 0, mpi_comm_world, ierr)
486 call mpi_bcast(p0_ic, 1, mpi_p, 0, mpi_comm_world, ierr)
487
488 ! manual: simplex_params density perturbation (nested i-j loops; irregular structure)
489 do i = 1, num_fluids_max
490 call mpi_bcast(simplex_params%perturb_dens(i), 1, mpi_logical, 0, mpi_comm_world, ierr)
491 call mpi_bcast(simplex_params%perturb_dens_freq(i), 1, mpi_p, 0, mpi_comm_world, ierr)
492 call mpi_bcast(simplex_params%perturb_dens_scale(i), 1, mpi_p, 0, mpi_comm_world, ierr)
493
494 do j = 1, 3
495 call mpi_bcast(simplex_params%perturb_dens_offset(i, j), 1, mpi_p, 0, mpi_comm_world, ierr)
496 end do
497 end do
498
499 ! manual: simplex_params velocity perturbation
500 do i = 1, 3
501 call mpi_bcast(simplex_params%perturb_vel(i), 1, mpi_logical, 0, mpi_comm_world, ierr)
502 call mpi_bcast(simplex_params%perturb_vel_freq(i), 1, mpi_p, 0, mpi_comm_world, ierr)
503 call mpi_bcast(simplex_params%perturb_vel_scale(i), 1, mpi_p, 0, mpi_comm_world, ierr)
504
505 do j = 1, 3
506 call mpi_bcast(simplex_params%perturb_vel_offset(i, j), 1, mpi_p, 0, mpi_comm_world, ierr)
507 end do
508 end do
509#endif
510
511 end subroutine s_mpi_bcast_user_inputs
512
513end 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...