MFC
Exascale flow solver
Loading...
Searching...
No Matches
p_main.f90
Go to the documentation of this file.
1!>
2!! @file
3!! @brief Contains program p_main
4
5!> @brief Set up the initial condition and grid data for the multicomponent flow code.
6program p_main
7
9 use m_start_up
10
11 implicit none
12
13 logical :: file_exists
14 real(wp) :: start, finish, time_avg, time_final
15 real(wp), allocatable, dimension(:) :: proc_time
16
17 call random_seed()
18
20
21 ! Initialization of the MPI environment
22
24
25 call s_read_grid()
26
27 allocate (proc_time(0:num_procs - 1))
28
29 call s_apply_initial_condition(start, finish)
30
31 time_avg = abs(finish - start)
32
33 call s_save_data(proc_time, time_avg, time_final, file_exists)
34
35 deallocate (proc_time)
36
38end program p_main
Defines global parameters for the computational domain, simulation algorithm, and initial conditions.
integer num_procs
Number of processors.
Reads and validates user inputs, loads existing grid/IC data, and initializes pre-process modules.
impure subroutine, public s_initialize_modules
Initialize all pre-process modules, allocate data structures, and set I/O procedure pointers.
impure subroutine, public s_save_data(proc_time, time_avg, time_final, file_exists)
Gather processor timing data and write elapsed wall-clock time to a summary file.
impure subroutine, public s_apply_initial_condition(start, finish)
Generate or read the initial condition, apply relaxation if needed, and write output data files.
impure subroutine, public s_read_grid()
Read an existing grid from data files or generate a new grid from user inputs.
impure subroutine, public s_initialize_mpi_domain
Initialize MPI, read and validate user inputs on rank 0, and decompose the computational domain.
impure subroutine, public s_finalize_modules
Finalize all pre-process modules, deallocate resources, and shut down MPI.
program p_main
Set up the initial condition and grid data for the multicomponent flow code.
Definition p_main.f90:6