bem_physics_config_types Module

場・periodic2・panel の型付き設定と旧 [sim] 設定の正規化を定義する。


Uses

  • module~~bem_physics_config_types~~UsesGraph module~bem_physics_config_types bem_physics_config_types ieee_arithmetic ieee_arithmetic module~bem_physics_config_types->ieee_arithmetic module~bem_kinds bem_kinds module~bem_physics_config_types->module~bem_kinds module~bem_string_utils bem_string_utils module~bem_physics_config_types->module~bem_string_utils module~bem_types bem_types module~bem_physics_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_physics_config_types~~UsedByGraph module~bem_physics_config_types bem_physics_config_types module~bem_app_config bem_app_config module~bem_app_config->module~bem_physics_config_types module~bem_app_config_parser bem_app_config_parser module~bem_app_config->module~bem_app_config_parser module~bem_app_config_types bem_app_config_types module~bem_app_config->module~bem_app_config_types module~bem_app_config_runtime bem_app_config_runtime module~bem_app_config->module~bem_app_config_runtime module~bem_app_config_parser->module~bem_physics_config_types module~bem_app_config_parser->module~bem_app_config_types module~bem_app_config_authoring bem_app_config_authoring module~bem_app_config_parser->module~bem_app_config_authoring module~bem_config_toml bem_config_toml module~bem_app_config_parser->module~bem_config_toml module~bem_app_config_types->module~bem_physics_config_types module~bem_electrostatic_snapshot bem_electrostatic_snapshot module~bem_electrostatic_snapshot->module~bem_physics_config_types module~bem_field_solver bem_field_solver module~bem_electrostatic_snapshot->module~bem_field_solver module~bem_field_solver->module~bem_physics_config_types module~bem_field_solver_config bem_field_solver_config module~bem_field_solver_config->module~bem_physics_config_types module~bem_field_solver_config->module~bem_field_solver module~bem_output_writer_summary bem_output_writer_summary module~bem_output_writer_summary->module~bem_physics_config_types module~bem_output_writer_summary->module~bem_field_solver module~bem_output_writer bem_output_writer module~bem_output_writer_summary->module~bem_output_writer module~bem_surface_current_model bem_surface_current_model module~bem_output_writer_summary->module~bem_surface_current_model module~bem_restart_contract bem_restart_contract module~bem_restart_contract->module~bem_physics_config_types module~bem_restart bem_restart module~bem_restart_contract->module~bem_restart module~bem_simulator bem_simulator module~bem_simulator->module~bem_physics_config_types module~bem_simulator->module~bem_app_config module~bem_simulator->module~bem_electrostatic_snapshot module~bem_config_helpers bem_config_helpers module~bem_simulator->module~bem_config_helpers module~bem_simulator->module~bem_output_writer module~bem_particle_stepper bem_particle_stepper module~bem_simulator->module~bem_particle_stepper module~bem_simulator->module~bem_surface_current_model module~bem_simulator->module~bem_app_config_runtime module~bem_app_config_authoring->module~bem_app_config_types 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_authoring_types->module~bem_app_config_types module~bem_app_config_mesh_runtime bem_app_config_mesh_runtime module~bem_app_config_mesh_runtime->module~bem_app_config_types module~bem_app_config_parser_finalize bem_app_config_parser_finalize module~bem_app_config_parser_finalize->module~bem_app_config_parser module~bem_app_config_parser_preflight_particles bem_app_config_parser_preflight_particles module~bem_app_config_parser_preflight_particles->module~bem_app_config_parser module~bem_app_config_parser_preflight_particles->module~bem_app_config_types module~bem_app_config_parser_preflight_sim bem_app_config_parser_preflight_sim module~bem_app_config_parser_preflight_sim->module~bem_app_config_parser module~bem_app_config_parser_preflight_surface bem_app_config_parser_preflight_surface module~bem_app_config_parser_preflight_surface->module~bem_app_config_parser module~bem_app_config_parser_preflight_surface->module~bem_app_config_types module~bem_app_config_parser_preflight_surface->module~bem_config_helpers module~bem_app_config_parser_read_mesh bem_app_config_parser_read_mesh module~bem_app_config_parser_read_mesh->module~bem_app_config_parser module~bem_app_config_parser_read_particles bem_app_config_parser_read_particles module~bem_app_config_parser_read_particles->module~bem_app_config_parser module~bem_app_config_parser_read_sim bem_app_config_parser_read_sim module~bem_app_config_parser_read_sim->module~bem_app_config_parser module~bem_app_config_parser_read_surface bem_app_config_parser_read_surface module~bem_app_config_parser_read_surface->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_app_config_parser_validate->module~bem_config_helpers module~bem_app_config_particle_runtime bem_app_config_particle_runtime module~bem_app_config_particle_runtime->module~bem_app_config_types module~bem_app_config_particle_runtime->module~bem_electrostatic_snapshot module~bem_app_config_potential_runtime bem_app_config_potential_runtime module~bem_app_config_particle_runtime->module~bem_app_config_potential_runtime module~bem_app_config_particle_runtime->module~bem_config_helpers module~bem_app_config_potential_runtime->module~bem_app_config_types module~bem_app_config_potential_runtime->module~bem_electrostatic_snapshot module~bem_app_config_potential_runtime->module~bem_config_helpers module~bem_config_helpers->module~bem_app_config_types module~bem_config_toml->module~bem_app_config_types module~bem_electrostatic_snapshot_eval bem_electrostatic_snapshot_eval module~bem_electrostatic_snapshot_eval->module~bem_electrostatic_snapshot module~bem_field_solver_eval bem_field_solver_eval module~bem_field_solver_eval->module~bem_field_solver module~bem_field_solver_fmm bem_field_solver_fmm module~bem_field_solver_fmm->module~bem_field_solver module~bem_field_solver_tree bem_field_solver_tree module~bem_field_solver_tree->module~bem_field_solver module~bem_matching_plane_coupling bem_matching_plane_coupling module~bem_matching_plane_coupling->module~bem_app_config module~bem_matching_plane_coupling->module~bem_electrostatic_snapshot module~bem_matching_plane_response_provider bem_matching_plane_response_provider module~bem_matching_plane_coupling->module~bem_matching_plane_response_provider module~bem_matching_plane_implicit bem_matching_plane_implicit module~bem_matching_plane_coupling->module~bem_matching_plane_implicit module~bem_matching_plane_response_generator bem_matching_plane_response_generator module~bem_matching_plane_response_generator->module~bem_app_config_types module~bem_matching_plane_response_generator->module~bem_matching_plane_response_provider module~bem_matching_plane_response_provider->module~bem_app_config_types module~bem_matching_plane_zhao_atlas bem_matching_plane_zhao_atlas module~bem_matching_plane_zhao_atlas->module~bem_app_config_types module~bem_matching_plane_zhao_atlas->module~bem_matching_plane_response_provider module~bem_output_writer->module~bem_app_config_types module~bem_output_writer->module~bem_electrostatic_snapshot module~bem_particle_stepper->module~bem_electrostatic_snapshot module~bem_periodic_checkpoint bem_periodic_checkpoint module~bem_periodic_checkpoint->module~bem_app_config_types module~bem_periodic_checkpoint->module~bem_output_writer module~bem_periodic_checkpoint->module~bem_restart module~bem_restart->module~bem_app_config_types module~bem_simulator_charge bem_simulator_charge module~bem_simulator_charge->module~bem_simulator module~bem_simulator_io bem_simulator_io module~bem_simulator_io->module~bem_simulator module~bem_simulator_io->module~bem_output_writer module~bem_simulator_io->module~bem_app_config_runtime module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_simulator module~bem_simulator_loop->module~bem_matching_plane_coupling module~bem_simulator_loop->module~bem_periodic_checkpoint module~bem_simulator_loop->module~bem_app_config_runtime module~bem_simulator_particles bem_simulator_particles module~bem_simulator_particles->module~bem_simulator module~bem_simulator_stats bem_simulator_stats module~bem_simulator_stats->module~bem_simulator module~bem_surface_current_model->module~bem_app_config_types module~bem_surface_current_model->module~bem_config_helpers program~main main program~main->module~bem_app_config program~main->module~bem_electrostatic_snapshot program~main->module~bem_simulator program~main->module~bem_matching_plane_response_provider program~main->module~bem_output_writer program~main->module~bem_periodic_checkpoint program~main->module~bem_restart program~zhao_atlas_main zhao_atlas_main program~zhao_atlas_main->module~bem_app_config program~zhao_atlas_main->module~bem_matching_plane_zhao_atlas program~zhao_response_main zhao_response_main program~zhao_response_main->module~bem_app_config program~zhao_response_main->module~bem_matching_plane_response_generator module~bem_app_config_authoring_domain bem_app_config_authoring_domain module~bem_app_config_authoring_domain->module~bem_app_config_authoring module~bem_app_config_authoring_geometry bem_app_config_authoring_geometry module~bem_app_config_authoring_geometry->module~bem_app_config_authoring module~bem_app_config_authoring_sources bem_app_config_authoring_sources module~bem_app_config_authoring_sources->module~bem_app_config_authoring module~bem_app_config_particle_runtime_batch bem_app_config_particle_runtime_batch module~bem_app_config_particle_runtime_batch->module~bem_app_config_particle_runtime module~bem_app_config_particle_runtime_sampling bem_app_config_particle_runtime_sampling module~bem_app_config_particle_runtime_sampling->module~bem_app_config_particle_runtime module~bem_app_config_runtime->module~bem_app_config_mesh_runtime module~bem_app_config_runtime->module~bem_app_config_particle_runtime module~bem_app_config_runtime->module~bem_app_config_potential_runtime module~bem_matching_plane_implicit->module~bem_matching_plane_response_provider module~bem_matching_plane_response_provider_mpi bem_matching_plane_response_provider_mpi module~bem_matching_plane_response_provider_mpi->module~bem_config_helpers module~bem_matching_plane_response_provider_mpi->module~bem_matching_plane_response_provider module~bem_output_writer_files bem_output_writer_files module~bem_output_writer_files->module~bem_output_writer module~bem_output_writer_history bem_output_writer_history module~bem_output_writer_history->module~bem_output_writer module~bem_restart_injection bem_restart_injection module~bem_restart_injection->module~bem_restart module~bem_restart_records bem_restart_records module~bem_restart_records->module~bem_restart

Variables

Type Visibility Attributes Name Initial
integer(kind=i32), public, parameter :: physics_config_ok = 0_i32
integer(kind=i32), public, parameter :: physics_config_invalid_combination = 1_i32
integer(kind=i32), public, parameter :: physics_config_unavailable = 2_i32

Derived Types

type, public ::  field_physics_config

Components

Type Visibility Attributes Name Initial
character(len=32), public :: backend = 'auto'
character(len=32), public :: normalization = 'si'

type, public ::  periodic2_physics_config

Components

Type Visibility Attributes Name Initial
character(len=32), public :: nonzero_mode_backend = 'not_applicable'
character(len=32), public :: zero_mode_policy = 'not_applicable'
character(len=32), public :: lower_boundary_model = 'not_applicable'
integer(kind=i32), public :: reference_mode_layers = 4_i32
integer(kind=i32), public :: panel_quadrature_order = 12_i32
real(kind=dp), public :: max_nonzero_mode_potential_step = 0.0_dp

type, public ::  panel_kernel_config

Components

Type Visibility Attributes Name Initial
character(len=32), public :: kernel_id = 'triangle_p0_exact_auto'
character(len=32), public :: surface_side_policy = 'per_element'

Subroutines

public subroutine normalize_legacy_physics_config(sim, field, periodic2, panel)

現行 sim_config を型付き場設定へ写像する。

Arguments

Type IntentOptional Attributes Name
type(sim_config), intent(in) :: sim
type(field_physics_config), intent(out) :: field
type(periodic2_physics_config), intent(out) :: periodic2
type(panel_kernel_config), intent(out) :: panel

public pure subroutine derive_field_panel_config(sim, field, panel)

[sim] だけから field/panel の派生契約を構築する。

Arguments

Type IntentOptional Attributes Name
type(sim_config), intent(in) :: sim
type(field_physics_config), intent(out) :: field
type(panel_kernel_config), intent(out) :: panel

public subroutine validate_phase1_panel_config(sim, panel, status, message)

triangle P0 direct/treecode/FMM kernel の solver/boundary 契約を検証する。

Arguments

Type IntentOptional Attributes Name
type(sim_config), intent(in) :: sim
type(panel_kernel_config), intent(in) :: panel
integer(kind=i32), intent(out) :: status
character(len=*), intent(out) :: message

public subroutine validate_active_physics_config(sim, field, periodic2, panel, status, message)

有限画像、panel reference、cached k!=0 の periodic2 構成を検証する。

Arguments

Type IntentOptional Attributes Name
type(sim_config), intent(in) :: sim
type(field_physics_config), intent(in) :: field
type(periodic2_physics_config), intent(in) :: periodic2
type(panel_kernel_config), intent(in) :: panel
integer(kind=i32), intent(out) :: status
character(len=*), intent(out) :: message