get_toml_boundary_mode Subroutine

public subroutine get_toml_boundary_mode(table, key, value, context)

TOML の文字列キーを境界条件モードへ変換する。

Arguments

Type IntentOptional Attributes Name
type(toml_table), intent(inout) :: table
type(toml_key), intent(in) :: key
integer(kind=i32), intent(out) :: value
character(len=*), intent(in) :: context

Calls

proc~~get_toml_boundary_mode~~CallsGraph proc~get_toml_boundary_mode get_toml_boundary_mode proc~get_toml_string get_toml_string proc~get_toml_boundary_mode->proc~get_toml_string proc~lower_ascii lower_ascii proc~get_toml_boundary_mode->proc~lower_ascii get_value get_value proc~get_toml_string->get_value proc~require_toml_success require_toml_success proc~get_toml_string->proc~require_toml_success

Called by

proc~~get_toml_boundary_mode~~CalledByGraph proc~get_toml_boundary_mode get_toml_boundary_mode proc~apply_sim_toml_table apply_sim_toml_table proc~apply_sim_toml_table->proc~get_toml_boundary_mode proc~apply_toml_document apply_toml_document proc~apply_toml_document->proc~apply_sim_toml_table proc~load_toml_config load_toml_config proc~load_toml_config->proc~apply_toml_document proc~load_app_config load_app_config proc~load_app_config->proc~load_toml_config proc~load_or_init_run_state load_or_init_run_state proc~load_or_init_run_state->proc~load_app_config program~main main program~main->proc~load_or_init_run_state

Source Code

  subroutine get_toml_boundary_mode(table, key, value, context)
    type(toml_table), intent(inout) :: table
    type(toml_key), intent(in) :: key
    integer(i32), intent(out) :: value
    character(len=*), intent(in) :: context
    character(len=64) :: mode

    call get_toml_string(table, key, mode, context)
    select case (trim(lower_ascii(mode)))
    case ('open', 'outflow', 'escape')
      value = bc_open
    case ('reflect', 'reflection')
      value = bc_reflect
    case ('periodic')
      value = bc_periodic
    case default
      error stop 'Unknown boundary condition mode in [sim].'
    end select
  end subroutine get_toml_boundary_mode