bem_config_helpers Module

設定型のヘルパー関数。パーサに依存せず下位層から利用可能。


Uses

  • module~~bem_config_helpers~~UsesGraph module~bem_config_helpers bem_config_helpers module~bem_app_config_types bem_app_config_types module~bem_config_helpers->module~bem_app_config_types module~bem_kinds bem_kinds module~bem_config_helpers->module~bem_kinds module~bem_string_utils bem_string_utils module~bem_config_helpers->module~bem_string_utils module~bem_types bem_types module~bem_config_helpers->module~bem_types module~bem_app_config_types->module~bem_kinds module~bem_app_config_types->module~bem_types module~bem_physics_config_types bem_physics_config_types module~bem_app_config_types->module~bem_physics_config_types iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env module~bem_types->module~bem_kinds 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 ieee_arithmetic ieee_arithmetic module~bem_physics_config_types->ieee_arithmetic

Used by

  • module~~bem_config_helpers~~UsedByGraph module~bem_config_helpers bem_config_helpers module~bem_app_config_parser_preflight_surface bem_app_config_parser_preflight_surface module~bem_app_config_parser_preflight_surface->module~bem_config_helpers module~bem_app_config_parser_validate bem_app_config_parser_validate 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_config_helpers 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_potential_runtime->module~bem_config_helpers 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_simulator bem_simulator module~bem_simulator->module~bem_config_helpers module~bem_surface_current_model bem_surface_current_model module~bem_simulator->module~bem_surface_current_model module~bem_app_config_runtime bem_app_config_runtime module~bem_simulator->module~bem_app_config_runtime module~bem_app_config bem_app_config module~bem_simulator->module~bem_app_config module~bem_surface_current_model->module~bem_config_helpers 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_particle_runtime module~bem_app_config_runtime->module~bem_app_config_potential_runtime module~bem_output_writer_summary bem_output_writer_summary module~bem_output_writer_summary->module~bem_surface_current_model 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_app_config_runtime module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_simulator module~bem_simulator_loop->module~bem_app_config_runtime module~bem_matching_plane_coupling bem_matching_plane_coupling module~bem_simulator_loop->module~bem_matching_plane_coupling 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 program~main main program~main->module~bem_simulator program~main->module~bem_app_config module~bem_app_config->module~bem_app_config_runtime module~bem_matching_plane_coupling->module~bem_app_config program~zhao_atlas_main zhao_atlas_main program~zhao_atlas_main->module~bem_app_config program~zhao_response_main zhao_response_main program~zhao_response_main->module~bem_app_config

Functions

public pure function particle_boundary_action_for_face(boundary_low, boundary_high, face) result(action)

6面名に対応する有効粒子境界作用を返す。

Arguments

Type IntentOptional Attributes Name
integer(kind=i32), intent(in) :: boundary_low(3)
integer(kind=i32), intent(in) :: boundary_high(3)
character(len=*), intent(in) :: face

Return Value integer(kind=i32)

public pure function species_number_density_m3(spec) result(number_density_m3)

粒子種設定から有効粒子数密度 [1/m^3] を計算する。

Arguments

Type IntentOptional Attributes Name
type(particle_species_spec), intent(in) :: spec

Return Value real(kind=dp)

public pure function species_temperature_k(spec) result(temperature_k)

粒子種設定から有効温度 [K] を計算する。

Arguments

Type IntentOptional Attributes Name
type(particle_species_spec), intent(in) :: spec

Return Value real(kind=dp)


Subroutines

public subroutine resolve_inject_face(box_min, box_max, inject_face, axis, boundary_value)

注入面識別子から法線軸と対応境界座標を返す。

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: box_min(3)
real(kind=dp), intent(in) :: box_max(3)
character(len=*), intent(in) :: inject_face
integer, intent(out) :: axis
real(kind=dp), intent(out) :: boundary_value

public subroutine resolve_inward_normal(inject_face, inward_normal)

注入面識別子から内向き法線ベクトルを返す。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: inject_face
real(kind=dp), intent(out) :: inward_normal(3)

public pure subroutine resolve_particle_boundaries(sim, global_low, global_high, spec, boundary_low, boundary_high)

domain topology、global既定、粒子種overrideから有効な粒子境界を解決する。

Arguments

Type IntentOptional Attributes Name
type(sim_config), intent(in) :: sim
integer(kind=i32), intent(in) :: global_low(3)
integer(kind=i32), intent(in) :: global_high(3)
type(particle_species_spec), intent(in) :: spec
integer(kind=i32), intent(out) :: boundary_low(3)
integer(kind=i32), intent(out) :: boundary_high(3)