bem_app_config_authoring Module

BEACH TOML の高水準 authoring キーを実行時設定へ正規化する補助モジュール。


Uses

  • module~~bem_app_config_authoring~~UsesGraph module~bem_app_config_authoring bem_app_config_authoring ieee_arithmetic ieee_arithmetic module~bem_app_config_authoring->ieee_arithmetic module~bem_app_config_types bem_app_config_types module~bem_app_config_authoring->module~bem_app_config_types module~bem_kinds bem_kinds module~bem_app_config_authoring->module~bem_kinds module~bem_string_utils bem_string_utils module~bem_app_config_authoring->module~bem_string_utils module~bem_app_config_types->module~bem_kinds module~bem_types bem_types module~bem_app_config_types->module~bem_types iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env module~bem_types->module~bem_kinds

Used by

  • module~~bem_app_config_authoring~~UsedByGraph module~bem_app_config_authoring bem_app_config_authoring module~bem_app_config_parser bem_app_config_parser module~bem_app_config_parser->module~bem_app_config_authoring module~bem_app_config bem_app_config module~bem_app_config->module~bem_app_config_parser module~bem_app_config_parser_validate bem_app_config_parser_validate module~bem_app_config_parser_validate->module~bem_app_config_parser module~bem_simulator bem_simulator module~bem_simulator->module~bem_app_config program~main main program~main->module~bem_app_config program~main->module~bem_simulator module~bem_simulator_io bem_simulator_io module~bem_simulator_io->module~bem_simulator module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_simulator module~bem_simulator_stats bem_simulator_stats module~bem_simulator_stats->module~bem_simulator

Derived Types

type, public ::  sim_authoring_spec

Components

Type Visibility Attributes Name Initial
logical, public :: has_box_origin = .false.
logical, public :: has_box_size = .false.
logical, public :: has_box_min = .false.
logical, public :: has_box_max = .false.
real(kind=dp), public :: box_origin(3) = 0.0d0
real(kind=dp), public :: box_size(3) = 0.0d0

type, public ::  particle_authoring_spec

Components

Type Visibility Attributes Name Initial
logical, public :: has_inject_region_mode = .false.
character(len=32), public :: inject_region_mode = 'absolute'
logical, public :: has_uv_low = .false.
logical, public :: has_uv_high = .false.
logical, public :: has_pos_low = .false.
logical, public :: has_pos_high = .false.
real(kind=dp), public :: uv_low(2) = 0.0d0
real(kind=dp), public :: uv_high(2) = 0.0d0

type, public ::  mesh_group_authoring_spec

Components

Type Visibility Attributes Name Initial
character(len=64), public :: name = ''
logical, public :: has_placement_mode = .false.
character(len=32), public :: placement_mode = 'absolute'
logical, public :: has_anchor = .false.
character(len=32), public :: anchor = ''
logical, public :: has_offset = .false.
real(kind=dp), public :: offset(3) = 0.0d0
logical, public :: has_offset_frac = .false.
real(kind=dp), public :: offset_frac(3) = 0.0d0
logical, public :: has_scale = .false.
real(kind=dp), public :: scale = 1.0d0
logical, public :: has_scale_from = .false.
character(len=32), public :: scale_from = ''
logical, public :: has_scale_factor = .false.
real(kind=dp), public :: scale_factor = 1.0d0

type, public ::  template_authoring_spec

Components

Type Visibility Attributes Name Initial
logical, public :: has_group = .false.
character(len=64), public :: group = ''
logical, public :: has_center_local = .false.
real(kind=dp), public :: center_local(3) = 0.0d0
logical, public :: has_placement_mode = .false.
character(len=32), public :: placement_mode = 'absolute'
logical, public :: has_anchor = .false.
character(len=32), public :: anchor = ''
logical, public :: has_offset = .false.
real(kind=dp), public :: offset(3) = 0.0d0
logical, public :: has_offset_frac = .false.
real(kind=dp), public :: offset_frac(3) = 0.0d0
logical, public :: has_size_mode = .false.
character(len=32), public :: size_mode = 'absolute'
logical, public :: has_size_frac = .false.
integer(kind=i32), public :: size_frac_len = 0_i32
real(kind=dp), public :: size_frac(3) = 0.0d0
logical, public :: has_center = .false.
logical, public :: has_size_x = .false.
logical, public :: has_size_y = .false.
logical, public :: has_size = .false.
logical, public :: has_radius = .false.
logical, public :: has_inner_radius = .false.
logical, public :: has_height = .false.

type, public ::  app_config_authoring

Components

Type Visibility Attributes Name Initial
type(sim_authoring_spec), public :: sim
integer(kind=i32), public :: n_groups = 0_i32
type(mesh_group_authoring_spec), public, allocatable :: groups(:)
type(particle_authoring_spec), public, allocatable :: particle_species(:)
type(template_authoring_spec), public, allocatable :: templates(:)

Subroutines

public subroutine init_app_config_authoring(authoring, template_capacity, particle_capacity)

authoring overlay の配列を初期化する。

Arguments

Type IntentOptional Attributes Name
type(app_config_authoring), intent(out) :: authoring
integer, intent(in) :: template_capacity
integer, intent(in) :: particle_capacity

public subroutine ensure_authoring_particle_capacity(authoring, required_size)

species authoring 配列容量を確保する。

Arguments

Type IntentOptional Attributes Name
type(app_config_authoring), intent(inout) :: authoring
integer, intent(in) :: required_size

public subroutine ensure_authoring_template_capacity(authoring, required_size)

template authoring 配列容量を確保する。

Arguments

Type IntentOptional Attributes Name
type(app_config_authoring), intent(inout) :: authoring
integer, intent(in) :: required_size

public subroutine ensure_authoring_group_capacity(authoring, required_size)

mesh group authoring 配列容量を確保する。

Arguments

Type IntentOptional Attributes Name
type(app_config_authoring), intent(inout) :: authoring
integer, intent(in) :: required_size

public subroutine normalize_high_level_config(cfg, authoring)

authoring overlay の高水準キーを cfg の実行時キーへ反映する。

Arguments

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