off_test_load_file_parameters Program

program~~off_test_load_file_parameters~~UsesGraph program~off_test_load_file_parameters off_test_load_file_parameters flap flap flap->program~off_test_load_file_parameters module~off_simulation_object off_simulation_object flap->module~off_simulation_object module~off_objects off_objects module~off_objects->program~off_test_load_file_parameters penf penf penf->program~off_test_load_file_parameters module~off_os_object off_os_object penf->module~off_os_object module~off_error_object off_error_object penf->module~off_error_object module~off_file_grid_object off_file_grid_object penf->module~off_file_grid_object module~off_files_collection_object off_files_collection_object penf->module~off_files_collection_object module~off_file_object off_file_object penf->module~off_file_object module~off_time_object off_time_object penf->module~off_time_object module~off_block_signature_object off_block_signature_object penf->module~off_block_signature_object module~off_free_conditions_object off_free_conditions_object penf->module~off_free_conditions_object penf->module~off_simulation_object module~off_cell_object off_cell_object penf->module~off_cell_object module~off_face_object off_face_object penf->module~off_face_object module~off_non_dimensional_numbers_object off_non_dimensional_numbers_object penf->module~off_non_dimensional_numbers_object module~off_solver_object off_solver_object penf->module~off_solver_object module~off_block_object off_block_object penf->module~off_block_object module~off_grid_dimensions_object off_grid_dimensions_object penf->module~off_grid_dimensions_object module~off_os_object->module~off_objects module~off_os_object->module~off_simulation_object module~off_error_object->module~off_objects module~off_error_object->module~off_os_object module~off_error_object->module~off_file_object module~off_error_object->module~off_time_object module~off_error_object->module~off_free_conditions_object module~off_error_object->module~off_simulation_object module~off_error_object->module~off_non_dimensional_numbers_object module~off_error_object->module~off_solver_object module~off_error_object->module~off_block_object module~off_file_grid_object->module~off_objects module~off_file_grid_object->module~off_simulation_object module~off_files_collection_object->module~off_objects module~off_file_object->module~off_objects module~off_file_object->module~off_file_grid_object module~off_file_object->module~off_files_collection_object module~off_time_object->module~off_objects module~off_time_object->module~off_simulation_object module~off_block_signature_object->module~off_objects module~off_block_signature_object->module~off_block_object module~off_block_signature_object->module~off_grid_dimensions_object module~off_node_object off_node_object module~off_node_object->module~off_objects module~off_node_object->module~off_block_object module~off_free_conditions_object->module~off_objects module~off_free_conditions_object->module~off_simulation_object module~off_simulation_object->module~off_objects module~off_cell_object->module~off_objects module~off_cell_object->module~off_block_object module~off_face_object->module~off_objects module~off_face_object->module~off_block_object module~off_non_dimensional_numbers_object->module~off_objects module~off_non_dimensional_numbers_object->module~off_simulation_object module~off_solver_object->module~off_objects module~off_solver_object->module~off_simulation_object module~off_block_object->module~off_objects module~off_block_object->module~off_file_grid_object module~off_block_object->module~off_simulation_object module~off_grid_dimensions_object->module~off_objects module~off_grid_dimensions_object->module~off_file_grid_object module~off_grid_dimensions_object->module~off_simulation_object stringifor stringifor stringifor->module~off_os_object iso_fortran_env iso_fortran_env iso_fortran_env->module~off_error_object iso_fortran_env->module~off_file_grid_object iso_fortran_env->module~off_file_object iso_fortran_env->module~off_simulation_object iso_fortran_env->module~off_block_object finer finer finer->module~off_files_collection_object finer->module~off_file_object finer->module~off_time_object finer->module~off_free_conditions_object finer->module~off_simulation_object finer->module~off_non_dimensional_numbers_object finer->module~off_solver_object vecfor vecfor vecfor->module~off_block_signature_object vecfor->module~off_node_object vecfor->module~off_free_conditions_object vecfor->module~off_cell_object vecfor->module~off_face_object vecfor->module~off_block_object vecfor->module~off_grid_dimensions_object vtk_fortran vtk_fortran vtk_fortran->module~off_block_object
Help


OFF test: load file of simulation parameters.

Calls

program~~off_test_load_file_parameters~~CallsGraph program~off_test_load_file_parameters off_test_load_file_parameters proc~cli_parse cli_parse program~off_test_load_file_parameters->proc~cli_parse
Help


Variables

Type AttributesNameInitial
logical :: are_tests_passed(1)

Result of tests check.

character(len=999) :: file_parameters

Name of simulation parameters.

logical :: go_on_fail

Go on if load fails.

type(simulation_object) :: simulation

Simulation data.


Subroutines

subroutine cli_parse()

Build and parse test cli.

Arguments

None

Source Code

program off_test_load_file_parameters
!< OFF test: load file of simulation parameters.

use off_objects, only : simulation_object
use flap, only : command_line_interface
use penf, only : I4P

implicit none
character(999)          :: file_parameters     !< Name of simulation parameters.
logical                 :: go_on_fail          !< Go on if load fails.
type(simulation_object) :: simulation          !< Simulation data.
logical                 :: are_tests_passed(1) !< Result of tests check.

are_tests_passed = .false.

call cli_parse

call simulation%load_file_parameters(file_name=file_parameters, go_on_fail=go_on_fail)

are_tests_passed(1) = simulation%solver%time_integrator == 'rk5'

print '(A)', simulation%description()

print '(A,L1)', 'Are all tests passed? ', all(are_tests_passed)

contains
  subroutine cli_parse()
  !< Build and parse test cli.
  type(command_line_interface) :: cli   !< Test command line interface.
  integer(I4P)                 :: error !< Error trapping flag.

  call cli%init(progname='off_test_load_file_parameters',                                   &
                authors='S. Zaghi',                                                         &
                help='Usage: ',                                                             &
                examples=["off_test_load_file_parameters --parameters sim_parameters.ini"], &
                epilog=new_line('a')//"all done")

  call cli%add(switch='--parameters-file',                &
               switch_ab='-par',                          &
               help='name of simulation parameters file', &
               required=.true.,                           &
               act='store')

  call cli%add(switch='--go-on-fail',                &
               switch_ab='-gof',                     &
               help='go-on if load fails somewhere', &
               required=.false.,                     &
               def='.false.',                        &
               act='store')

  call cli%parse(error=error) ; if (error/=0) stop

  call cli%get(switch='--parameters-file', val=file_parameters)
  call cli%get(switch='--go-on-fail', val=go_on_fail)
  endsubroutine cli_parse
endprogram off_test_load_file_parameters