euler_1d.f90 Source File


Source Code

!> @file euler_1d.f90
!> @brief Entry point for the 1D Euler CFD solver (Phase G: two modes).

program euler_1d
  use mpi_runtime, only: mpi_runtime_init, mpi_runtime_finalize, parallel_fatal
  use solver_runtime, only: resolve_cli
  use euler_driver, only: run_euler_1d
  use cortex_run_attached_mod, only: cortex_run_attached
  use version_info, only: handle_version_flag
  implicit none

  character(len=512) :: message, nml_file, cortex_uri
  logical :: attached, ok

  call handle_version_flag('euler_1d')

  call mpi_runtime_init()
  call resolve_cli(nml_file, cortex_uri, attached)

  if (attached) then
    call cortex_run_attached(trim(cortex_uri))
  else
    call run_euler_1d(trim(nml_file), ok, message)
    if (.not. ok) call parallel_fatal(trim(message))
  end if

  call mpi_runtime_finalize()

end program euler_1d