bem_matching_plane_zhao Module

Matching-plane 用の charge-driven Zhao 外部シース応答。

応答は整合面直下の D_z/eps0 を外部側 interface field とみなし、 上流の準中性条件と Sagdeev 積分を満たす A/B/C branch を解く。 定常表面電流の零電流条件は課さないため、BEACH 側の帯電過程を消去しない。 平面・半無限の外部問題は z 方向に並進対称なので、絶対高度 H は数値式に 入らず、runtime がこの応答を domain の z-high gauge へ結び付ける。 既定policyはqueryごとにstatelessで、opt-inのType A continuationだけが 呼出側から渡されたaccepted endpoint rootをseedとして使う。 この module は公開型と評価の入口を持ち、物理式を physics、Newton 法を numerics、根の選択と継続を roots の非公開 submodule へ委譲する。


Uses

  • module~~bem_matching_plane_zhao~~UsesGraph module~bem_matching_plane_zhao bem_matching_plane_zhao ieee_arithmetic ieee_arithmetic module~bem_matching_plane_zhao->ieee_arithmetic module~bem_constants bem_constants module~bem_matching_plane_zhao->module~bem_constants module~bem_kinds bem_kinds module~bem_matching_plane_zhao->module~bem_kinds module~bem_matching_plane_contract bem_matching_plane_contract module~bem_matching_plane_zhao->module~bem_matching_plane_contract module~bem_sheath_model_core bem_sheath_model_core module~bem_matching_plane_zhao->module~bem_sheath_model_core module~bem_string_utils bem_string_utils module~bem_matching_plane_zhao->module~bem_string_utils module~bem_constants->module~bem_kinds iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env module~bem_matching_plane_contract->module~bem_kinds module~bem_sheath_model_core->ieee_arithmetic module~bem_sheath_model_core->module~bem_constants module~bem_sheath_model_core->module~bem_kinds

Used by

  • module~~bem_matching_plane_zhao~~UsedByGraph module~bem_matching_plane_zhao bem_matching_plane_zhao module~bem_matching_plane_coupling bem_matching_plane_coupling module~bem_matching_plane_coupling->module~bem_matching_plane_zhao module~bem_matching_plane_implicit bem_matching_plane_implicit module~bem_matching_plane_coupling->module~bem_matching_plane_implicit 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->module~bem_matching_plane_zhao module~bem_matching_plane_implicit->module~bem_matching_plane_response_provider module~bem_matching_plane_response_provider->module~bem_matching_plane_zhao module~bem_matching_plane_zhao_atlas bem_matching_plane_zhao_atlas module~bem_matching_plane_zhao_atlas->module~bem_matching_plane_zhao module~bem_matching_plane_zhao_atlas->module~bem_matching_plane_response_provider module~bem_matching_plane_zhao_numerics bem_matching_plane_zhao_numerics module~bem_matching_plane_zhao_numerics->module~bem_matching_plane_zhao module~bem_matching_plane_zhao_physics bem_matching_plane_zhao_physics module~bem_matching_plane_zhao_physics->module~bem_matching_plane_zhao module~bem_matching_plane_zhao_roots bem_matching_plane_zhao_roots module~bem_matching_plane_zhao_roots->module~bem_matching_plane_zhao module~bem_matching_plane_response_generator bem_matching_plane_response_generator module~bem_matching_plane_response_generator->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_matching_plane_response_provider module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_matching_plane_coupling program~main main program~main->module~bem_matching_plane_response_provider program~zhao_atlas_main zhao_atlas_main program~zhao_atlas_main->module~bem_matching_plane_zhao_atlas program~zhao_response_main zhao_response_main program~zhao_response_main->module~bem_matching_plane_response_generator

Variables

Type Visibility Attributes Name Initial
integer(kind=i32), public, parameter :: matching_plane_zhao_ok = 0_i32
integer(kind=i32), public, parameter :: matching_plane_zhao_invalid_argument = 1_i32
integer(kind=i32), public, parameter :: matching_plane_zhao_no_physical_solution = 2_i32
integer(kind=i32), public, parameter :: matching_plane_zhao_numerical_failure = 3_i32
integer(kind=i32), public, parameter :: matching_plane_zhao_ambiguous_solution = 4_i32

Derived Types

Components

Type Visibility Attributes Name Initial
character(len=1), public :: branch = ' '
real(kind=dp), public :: interface_field_v_m = 0.0_dp
real(kind=dp), public :: effective_photoelectron_temperature_ev = 0.0_dp
real(kind=dp), public :: photoelectron_source_density_m3 = 0.0_dp
real(kind=dp), public :: ambient_electron_density_m3 = 0.0_dp
real(kind=dp), public :: residual_norm = huge(1.0_dp)
real(kind=dp), public :: minimum_field_squared_hat = huge(1.0_dp)
real(kind=dp), public :: potential_energy_j_m2 = huge(1.0_dp)
integer(kind=i32), public :: nonlinear_iterations = 0_i32
logical, public :: continuation_used = .false.
logical, public :: continuation_fallback_used = .false.
real(kind=dp), public :: continuation_root_jump = 0.0_dp

Components

Type Visibility Attributes Name Initial
logical, public :: valid = .false.
real(kind=dp), public :: phi0_v = 0.0_dp
real(kind=dp), public :: phi_m_v = 0.0_dp
real(kind=dp), public :: ambient_electron_density_m3 = 0.0_dp

type, public ::  matching_plane_zhao_model_type

Type-Bound Procedures

procedure, public :: initialize => initialize_matching_plane_zhao
procedure, public :: evaluate => evaluate_matching_plane_zhao
procedure, public :: reconstruct_seed => reconstruct_matching_plane_zhao_type_a_seed
procedure, public :: get_feedback_scales => get_matching_plane_zhao_feedback_scales
procedure, public :: is_initialized => matching_plane_zhao_is_initialized