bem_sheath_runtime Module

シース数値モデルと app_config / 注入ランタイムの橋渡しを行うモジュール。


Uses

  • module~~bem_sheath_runtime~~UsesGraph module~bem_sheath_runtime bem_sheath_runtime module~bem_app_config_types bem_app_config_types module~bem_sheath_runtime->module~bem_app_config_types module~bem_config_helpers bem_config_helpers module~bem_sheath_runtime->module~bem_config_helpers module~bem_constants bem_constants module~bem_sheath_runtime->module~bem_constants module~bem_kinds bem_kinds module~bem_sheath_runtime->module~bem_kinds module~bem_sheath_model_core bem_sheath_model_core module~bem_sheath_runtime->module~bem_sheath_model_core module~bem_string_utils bem_string_utils module~bem_sheath_runtime->module~bem_string_utils module~bem_types bem_types module~bem_sheath_runtime->module~bem_types module~bem_app_config_types->module~bem_kinds module~bem_app_config_types->module~bem_types module~bem_config_helpers->module~bem_app_config_types module~bem_config_helpers->module~bem_kinds module~bem_config_helpers->module~bem_string_utils module~bem_constants->module~bem_kinds iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env module~bem_sheath_model_core->module~bem_constants module~bem_sheath_model_core->module~bem_kinds module~bem_sheath_model_core->module~bem_string_utils ieee_arithmetic ieee_arithmetic module~bem_sheath_model_core->ieee_arithmetic module~bem_injection bem_injection module~bem_sheath_model_core->module~bem_injection module~bem_types->module~bem_kinds module~bem_injection->module~bem_constants module~bem_injection->module~bem_kinds module~bem_injection->module~bem_string_utils module~bem_injection->module~bem_types module~bem_boundary bem_boundary module~bem_injection->module~bem_boundary module~bem_collision bem_collision module~bem_injection->module~bem_collision module~bem_particles bem_particles module~bem_injection->module~bem_particles module~bem_boundary->module~bem_kinds module~bem_boundary->module~bem_types module~bem_collision->module~bem_kinds module~bem_collision->module~bem_string_utils module~bem_collision->module~bem_types module~bem_particles->module~bem_kinds module~bem_particles->module~bem_types

Used by

  • module~~bem_sheath_runtime~~UsedByGraph module~bem_sheath_runtime bem_sheath_runtime module~bem_sheath_injection_model bem_sheath_injection_model module~bem_sheath_injection_model->module~bem_sheath_runtime module~bem_app_config_runtime bem_app_config_runtime module~bem_app_config_runtime->module~bem_sheath_injection_model module~bem_app_config bem_app_config module~bem_app_config->module~bem_app_config_runtime 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 ::  sheath_injection_context

Components

Type Visibility Attributes Name Initial
logical, public :: enabled = .false.
logical, public :: has_photo_species = .false.
logical, public :: has_local_reservoir_profile = .false.
character(len=32), public :: model = 'none'
character(len=1), public :: branch = ' '
integer(kind=i32), public :: electron_species = 0_i32
integer(kind=i32), public :: ion_species = 0_i32
integer(kind=i32), public :: photo_species = 0_i32
character(len=16), public :: reference_face = ''
integer(kind=i32), public :: reference_axis = 0_i32
real(kind=dp), public :: reference_coordinate = 0.0d0
real(kind=dp), public :: reference_inward_normal(3) = 0.0d0
real(kind=dp), public :: reservoir_plane_distance_m = 0.0d0
real(kind=dp), public :: reservoir_phi_v = 0.0d0
real(kind=dp), public :: phi0_v = 0.0d0
real(kind=dp), public :: phi_m_v = 0.0d0
real(kind=dp), public :: n_swe_inf_m3 = 0.0d0
real(kind=dp), public :: electron_number_density_m3 = 0.0d0
real(kind=dp), public :: electron_vmin_normal = 0.0d0
real(kind=dp), public :: ion_number_density_m3 = 0.0d0
real(kind=dp), public :: ion_normal_speed_mps = 0.0d0
real(kind=dp), public :: photo_emit_current_density_a_m2 = 0.0d0
real(kind=dp), public :: photo_vmin_normal = 0.0d0

Functions

public function to_sheath_model_species(spec_cfg) result(spec)

Arguments

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

Return Value type(sheath_model_species)


Subroutines

public subroutine resolve_sheath_injection_context(cfg, ctx)

Arguments

Type IntentOptional Attributes Name
type(app_config), intent(in) :: cfg
type(sheath_injection_context), intent(out) :: ctx

public subroutine detect_sheath_species(cfg, electron_idx, ion_idx, photo_idx)

Arguments

Type IntentOptional Attributes Name
type(app_config), intent(in) :: cfg
integer(kind=i32), intent(out) :: electron_idx
integer(kind=i32), intent(out) :: ion_idx
integer(kind=i32), intent(out) :: photo_idx

public subroutine sample_zhao_reservoir_state(sim, spec_e, ctx, p, branch, phi0_v, phi_m_v, n_swe_inf_m3, state)

Arguments

Type IntentOptional Attributes Name
type(sim_config), intent(in) :: sim
type(particle_species_spec), intent(in) :: spec_e
type(sheath_injection_context), intent(inout) :: ctx
type(zhao_params_type), intent(in) :: p
character(len=1), intent(in) :: branch
real(kind=dp), intent(in) :: phi0_v
real(kind=dp), intent(in) :: phi_m_v
real(kind=dp), intent(in) :: n_swe_inf_m3
type(zhao_local_state_type), intent(out) :: state

public subroutine resolve_sheath_reference_plane(sim, inject_face, axis, reference_coordinate, inward_normal)

Arguments

Type IntentOptional Attributes Name
type(sim_config), intent(in) :: sim
character(len=*), intent(in) :: inject_face
integer, intent(out) :: axis
real(kind=dp), intent(out) :: reference_coordinate
real(kind=dp), intent(out) :: inward_normal(3)