1# 1 "/home/runner/work/MFC/MFC/src/simulation/p_main.fpp"
29 real(wp) :: time_avg, time_final
30 real(wp) :: io_time_avg, io_time_final
31 real(wp),
allocatable,
dimension(:) :: proc_time
32 real(wp),
allocatable,
dimension(:) :: io_proc_time
33 logical :: file_exists
34 real(wp) :: start, finish
81 io_time_final, proc_time, io_proc_time, file_exists)
87 io_time_final, proc_time, io_proc_time, file_exists)
96 call s_save_data(t_step, start, finish, io_time_avg, nt)
100 call s_save_data(t_step, start, finish, io_time_avg, nt)
109 deallocate (proc_time, io_proc_time)
Global parameters for the computational domain, fluid properties, and simulation algorithm configurat...
real(wp) mytime
Current simulation time.
integer num_procs
Number of processors.
real(wp) dt
Size of the time-step.
real(wp) finaltime
Final simulation time.
NVIDIA NVTX profiling API bindings for GPU performance instrumentation.
subroutine nvtxstartrange(name, id)
Pushes a named NVTX range for GPU profiling, optionally with a color based on the given identifier.
subroutine nvtxendrange
Pops the current NVTX range to end the GPU profiling region.
Reads input files, loads initial conditions and grid data, and orchestrates solver initialization and...
impure subroutine, public s_initialize_modules
Initializes all simulation sub-modules in the required dependency order.
impure subroutine, public s_save_performance_metrics(time_avg, time_final, io_time_avg, io_time_final, proc_time, io_proc_time, file_exists)
Collects per-process wall-clock times and writes aggregate performance metrics to file.
impure subroutine, public s_save_data(t_step, start, finish, io_time_avg, nt)
Saves conservative variable data to disk at the current time step.
subroutine, public s_initialize_gpu_vars
Transfers initial conservative variable and model parameter data to the GPU device.
impure subroutine, public s_initialize_mpi_domain
Sets up the MPI execution environment, binds GPUs, and decomposes the computational domain.
impure subroutine, public s_finalize_modules
Finalizes and deallocates all simulation sub-modules in reverse initialization order.
impure subroutine, public s_perform_time_step(t_step, time_avg)
Advances the simulation by one time step, handling CFL-based dt and time-stepper dispatch.
Total-variation-diminishing (TVD) Runge–Kutta time integrators (1st-, 2nd-, and 3rd-order SSP).
program p_main
Quasi-conservative, shock- and interface- capturing finite-volume scheme for the multicomponent Navie...