bem_app_config_parser Module

TOML設定ファイルを toml-f で読み込み、app_config へ反映する。


Uses

  • module~~bem_app_config_parser~~UsesGraph module~bem_app_config_parser bem_app_config_parser ieee_arithmetic ieee_arithmetic module~bem_app_config_parser->ieee_arithmetic module~bem_app_config_authoring bem_app_config_authoring module~bem_app_config_parser->module~bem_app_config_authoring module~bem_app_config_types bem_app_config_types module~bem_app_config_parser->module~bem_app_config_types module~bem_config_toml bem_config_toml module~bem_app_config_parser->module~bem_config_toml module~bem_injection_flux bem_injection_flux module~bem_app_config_parser->module~bem_injection_flux module~bem_injection_geometry bem_injection_geometry module~bem_app_config_parser->module~bem_injection_geometry module~bem_kinds bem_kinds module~bem_app_config_parser->module~bem_kinds module~bem_physics_config_types bem_physics_config_types module~bem_app_config_parser->module~bem_physics_config_types module~bem_string_utils bem_string_utils module~bem_app_config_parser->module~bem_string_utils module~bem_types bem_types module~bem_app_config_parser->module~bem_types tomlf tomlf module~bem_app_config_parser->tomlf module~bem_app_config_authoring->module~bem_app_config_types module~bem_app_config_authoring->module~bem_kinds module~bem_app_config_authoring_types bem_app_config_authoring_types module~bem_app_config_authoring->module~bem_app_config_authoring_types module~bem_app_config_types->module~bem_kinds module~bem_app_config_types->module~bem_physics_config_types module~bem_app_config_types->module~bem_types module~bem_config_toml->ieee_arithmetic module~bem_config_toml->module~bem_app_config_types module~bem_config_toml->module~bem_kinds module~bem_config_toml->module~bem_string_utils module~bem_config_toml->module~bem_types module~bem_config_toml->tomlf iso_fortran_env iso_fortran_env module~bem_config_toml->iso_fortran_env module~bem_injection_flux->ieee_arithmetic module~bem_injection_flux->module~bem_injection_geometry module~bem_injection_flux->module~bem_kinds module~bem_constants bem_constants module~bem_injection_flux->module~bem_constants module~bem_injection_random bem_injection_random module~bem_injection_flux->module~bem_injection_random module~bem_injection_geometry->module~bem_kinds module~bem_injection_geometry->module~bem_string_utils module~bem_kinds->iso_fortran_env module~bem_physics_config_types->ieee_arithmetic module~bem_physics_config_types->module~bem_kinds module~bem_physics_config_types->module~bem_string_utils module~bem_physics_config_types->module~bem_types module~bem_types->module~bem_kinds module~bem_app_config_authoring_types->module~bem_app_config_types module~bem_app_config_authoring_types->module~bem_kinds module~bem_constants->module~bem_kinds module~bem_injection_random->module~bem_kinds module~bem_injection_random->module~bem_types module~bem_injection_random->module~bem_constants module~bem_particles bem_particles module~bem_injection_random->module~bem_particles module~bem_particles->module~bem_kinds module~bem_particles->module~bem_types

Used by


Interfaces

interface

  • public module subroutine resolve_batch_duration(cfg)

    sim.batch_durationsim.batch_duration_step の整合を検証して確定値を反映する。

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg

interface

  • public module subroutine resolve_external_e_field(cfg)

    sim.e0 または sim.e0_abs + angle 指定を内部ベクトルへ正規化する。

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg

interface

  • public module subroutine validate_reservoir_species(cfg, species_idx)

    reservoir_face 粒子種の入力値を検証し、必要なら w_particle を解決する。

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    integer, intent(in) :: species_idx

interface

  • public module subroutine validate_boundary_inflow_species(cfg, species_idx)

    box境界に結び付いた reservoir 流入設定を検証し、必要なら重みを解決する。

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    integer, intent(in) :: species_idx

interface

  • public module subroutine validate_plane_source_species(cfg, species_idx)

    plane_source 粒子種の物理量と内部矩形面を検証し、必要なら重みを解決する。

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    integer, intent(in) :: species_idx

interface

  • public module subroutine validate_photo_raycast_species(cfg, species_idx)

    photo_raycast 粒子種の入力値を検証し、発射方向などを正規化する。

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    integer, intent(in) :: species_idx

interface

  • public module subroutine apply_periodic2_toml_table(table, authoring)

    Arguments

    Type IntentOptional Attributes Name
    type(config_toml_table), intent(inout) :: table
    type(app_config_authoring), intent(inout) :: authoring

interface

  • public module subroutine apply_domain_toml_table(table, domain)

    Arguments

    Type IntentOptional Attributes Name
    type(config_toml_table), intent(inout) :: table
    type(domain_authoring_spec), intent(inout) :: domain

interface

  • public module subroutine apply_field_boundary_toml_table(table, field)

    Arguments

    Type IntentOptional Attributes Name
    type(config_toml_table), intent(inout) :: table
    type(field_boundary_authoring_spec), intent(inout) :: field

interface

  • public module subroutine apply_particle_boundary_toml_table(table, particles)

    Arguments

    Type IntentOptional Attributes Name
    type(config_toml_table), intent(inout) :: table
    type(particle_boundary_authoring_spec), intent(inout) :: particles

interface

  • public module subroutine apply_reservoir_toml_table(table, reservoir)

    Arguments

    Type IntentOptional Attributes Name
    type(config_toml_table), intent(inout) :: table
    type(reservoir_authoring_spec), intent(inout) :: reservoir

interface

  • public module subroutine apply_sim_toml_table(cfg, table)

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    type(config_toml_table), intent(inout) :: table

interface

  • public module subroutine apply_output_toml_table(cfg, table)

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    type(config_toml_table), intent(inout) :: table

interface

  • public module subroutine ensure_particle_species_capacity(cfg, required_size)

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    integer, intent(in) :: required_size

interface

  • public module subroutine apply_particles_toml_table(cfg, table, authoring)

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    type(config_toml_table), intent(inout) :: table
    type(app_config_authoring), intent(inout) :: authoring

interface

  • public module subroutine read_particle_species_array(cfg, table, key, authoring)

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    type(config_toml_table), intent(inout) :: table
    type(toml_key), intent(in) :: key
    type(app_config_authoring), intent(inout) :: authoring

interface

  • public module subroutine apply_particles_species_toml_table(spec, table, auth)

    Arguments

    Type IntentOptional Attributes Name
    type(particle_species_spec), intent(inout) :: spec
    type(config_toml_table), intent(inout) :: table
    type(particle_authoring_spec), intent(inout) :: auth

interface

  • public module subroutine apply_species_boundary_toml_table(spec, table)

    Arguments

    Type IntentOptional Attributes Name
    type(particle_species_spec), intent(inout) :: spec
    type(config_toml_table), intent(inout) :: table

interface

  • public module subroutine apply_species_boundary_inflow_toml_table(spec, table)

    Arguments

    Type IntentOptional Attributes Name
    type(particle_species_spec), intent(inout) :: spec
    type(config_toml_table), intent(inout) :: table

interface

  • public module subroutine ensure_template_capacity(cfg, required_size)

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    integer, intent(in) :: required_size

interface

  • public module subroutine apply_mesh_toml_table(cfg, table, authoring)

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    type(config_toml_table), intent(inout) :: table
    type(app_config_authoring), intent(inout) :: authoring

interface

  • public module subroutine read_mesh_groups_table(table, key, authoring)

    Arguments

    Type IntentOptional Attributes Name
    type(config_toml_table), intent(inout) :: table
    type(toml_key), intent(in) :: key
    type(app_config_authoring), intent(inout) :: authoring

interface

  • public module subroutine apply_mesh_group_toml_table(group, table)

    Arguments

    Type IntentOptional Attributes Name
    type(mesh_group_authoring_spec), intent(inout) :: group
    type(config_toml_table), intent(inout) :: table

interface

  • public module subroutine read_template_array(cfg, table, key, authoring)

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    type(config_toml_table), intent(inout) :: table
    type(toml_key), intent(in) :: key
    type(app_config_authoring), intent(inout) :: authoring

interface

  • public module subroutine apply_template_toml_table(spec, table, auth)

    Arguments

    Type IntentOptional Attributes Name
    type(template_spec), intent(inout) :: spec
    type(config_toml_table), intent(inout) :: table
    type(template_authoring_spec), intent(inout) :: auth

interface

  • public module subroutine apply_surface_current_model_toml_table(cfg, table)

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    type(config_toml_table), intent(inout) :: table

interface

  • public module subroutine apply_physics_authoring(cfg, authoring)

    Arguments

    Type IntentOptional Attributes Name
    type(app_config), intent(inout) :: cfg
    type(app_config_authoring), intent(in) :: authoring

Functions

public pure function has_suffix(s, suffix)

文字列が指定した接尾辞で終わるかを判定する。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: s
character(len=*), intent(in) :: suffix

Return Value logical

public function config_uses_surface_model(cfg, surface_model) result(uses_surface_model)

現在のメッシュ入力設定が指定された表面モデルを使うかを返す。

Arguments

Type IntentOptional Attributes Name
type(app_config), intent(in) :: cfg
character(len=*), intent(in) :: surface_model

Return Value logical


Subroutines

public subroutine load_app_config(path, cfg)

.toml 拡張子の設定ファイルを読み込み、既存値へ上書き適用する。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: path

読み込む設定ファイルパス(.toml 必須)。

type(app_config), intent(inout) :: cfg

読み込み結果で上書きするアプリ設定。

public subroutine load_toml_config(path, cfg)

TOML 文書を toml-f で解釈して設定へ反映する。 現在は sim / mesh / output / [[mesh.templates]] / [[particles.species]] を扱う。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: path

読み込むTOMLファイルパス。

type(app_config), intent(inout) :: cfg

読み込み結果で更新するアプリ設定。

public subroutine resolve_surface_current_model_path(config_path, cfg)

response table の相対パスを設定ファイルの配置ディレクトリ基準へ解決する。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: config_path
type(app_config), intent(inout) :: cfg

public subroutine apply_toml_document(cfg, document, authoring)

toml-f のルートテーブルから既知セクションを読み込む。

Arguments

Type IntentOptional Attributes Name
type(app_config), intent(inout) :: cfg
type(config_toml_table), intent(inout) :: document
type(app_config_authoring), intent(inout) :: authoring