| 247 | !timestep.F90 time_step routine |
| 248 | if (master) then |
| 249 | ts = set_timer("dt_mc_receive") |
| 250 | call MUSCLE_Receive("dt_mc", dt_mc, dt_mc_len, MUSCLE_DOUBLE) |
| 251 | ts = set_timer("dt_mc_receive") |
| 252 | write (*,"('[MHD] Waiting for dt_mc took: ', f8.3, ' s dt = ', f8.4, ' dt_mc = ', f8.4)") ts, dt, dt_mc |
| 253 | endif |
| 254 | !broadcast dt_mc value |
| 255 | call MPI_Bcast(dt_mc, 1, MPI_DOUBLE_PRECISION, 0, comm, ierr) |
| 256 | |
| 257 | ... |
| 258 | |
| 259 | !piernik.F90 main routine |
| 260 | #ifdef MHD_KERNEL |
| 261 | call time_step(dt) |
| 262 | if (master) then |
| 263 | call MUSCLE_Send("dt_final", dt, dt_len, MUSCLE_DOUBLE) |
| 264 | endif |
| 265 | #else /*MC_KERNEL*/ |
| 266 | dt = timestep_mc() |
| 267 | if (master) then |
| 268 | write (*,"('[MC] sending dt_mc:', es23.16 )") dt |
| 269 | call MUSCLE_Send("dt_mc", dt, dt_len, MUSCLE_DOUBLE) |
| 270 | call MUSCLE_Receive("dt_final", dt, dt_len, MUSCLE_DOUBLE) |
| 271 | endif |
| 272 | !broadcast dt final value |
| 273 | call MPI_Bcast(dt, 1, MPI_DOUBLE_PRECISION, 0, comm, ierr) |
| 274 | #endif |
| 275 | |
| 276 | |