surface_current_model_config Derived Type

type, public :: surface_current_model_config

外部シースの零電流根から species 別の表面電流と境界写像を与えるモデルの設定。


Inherited by

type~~surface_current_model_config~~InheritedByGraph type~surface_current_model_config surface_current_model_config type~app_config app_config type~app_config->type~surface_current_model_config surface_current

Components

Type Visibility Attributes Name Initial
character(len=32), public :: model = 'none'
character(len=16), public :: zhao_branch = 'auto'
character(len=64), public :: electron_species = ''
character(len=64), public :: ion_species = ''
character(len=64), public :: photoelectron_species = ''
character(len=64), public :: secondary_electron_species = ''
real(kind=dp), public :: solar_elevation_deg = 0.0_dp
real(kind=dp), public :: photoelectron_ref_density_m3 = 0.0_dp
real(kind=dp), public :: photoelectron_source_scale = 1.0_dp
real(kind=dp), public :: reference_area_m2 = 0.0_dp
logical, public :: has_reference_area_m2 = .false.
integer(kind=i32), public :: outflow_refresh_batches = 0_i32

zhao_stationary の外部シース源を観測PE流出で解き直す accepted batch 間隔。0 は初期根を固定する。

logical, public :: include_reflected_electrons = .true.

外部根の源に、セル内で反射して z-high を外向きに抜けた上流電子を含める。外部根を更新する (outflow_refresh_batches>0)ときだけ効く。既定は sheath-model の結合ガイドどおり含める。

logical, public :: has_include_reflected_electrons = .false.

include_reflected_electrons を設定ファイルで明示したか。明示した値だけを preflight で検査する。

real(kind=dp), public :: zhao_upstream_band_tolerance = 0.0_dp

電子drift時のA/C根で、上流に接するE^2<0の幅を |phi_m|(A) / |phi_0|(C) の何割まで許すか。0 は厳密判定。

real(kind=dp), public :: zhao_upstream_field_floor_v_m = 0.0_dp

上流境界を「場がこの外部レベル [V/m] まで落ちた点」に置く。電子drift時のA/C根で、帯の内側の場の不足 sqrt(-min E^2) がこれ以下なら受理する。0 はこの判定を使わない。

real(kind=dp), public :: zhao_ion_pressure_factor = 1.0_dp

外部根のイオン流体の圧力係数 (Sana & Mishra 2026, Eq. 17)。1 は等温。イオン温度は ion species の温度を使う。


Source Code

  type :: surface_current_model_config
    character(len=32) :: model = 'none'
    character(len=16) :: zhao_branch = 'auto'
    character(len=64) :: electron_species = ''
    character(len=64) :: ion_species = ''
    character(len=64) :: photoelectron_species = ''
    character(len=64) :: secondary_electron_species = ''
    real(dp) :: solar_elevation_deg = 0.0_dp
    real(dp) :: photoelectron_ref_density_m3 = 0.0_dp
    real(dp) :: photoelectron_source_scale = 1.0_dp
    real(dp) :: reference_area_m2 = 0.0_dp
    logical :: has_reference_area_m2 = .false.
    !> zhao_stationary の外部シース源を観測PE流出で解き直す accepted batch 間隔。0 は初期根を固定する。
    integer(i32) :: outflow_refresh_batches = 0_i32
    !> 外部根の源に、セル内で反射して z-high を外向きに抜けた上流電子を含める。外部根を更新する
    !! (outflow_refresh_batches>0)ときだけ効く。既定は sheath-model の結合ガイドどおり含める。
    logical :: include_reflected_electrons = .true.
    !> include_reflected_electrons を設定ファイルで明示したか。明示した値だけを preflight で検査する。
    logical :: has_include_reflected_electrons = .false.
    !> 電子drift時のA/C根で、上流に接するE^2<0の幅を |phi_m|(A) / |phi_0|(C) の何割まで許すか。0 は厳密判定。
    real(dp) :: zhao_upstream_band_tolerance = 0.0_dp
    !> 上流境界を「場がこの外部レベル [V/m] まで落ちた点」に置く。電子drift時のA/C根で、帯の内側の場の不足
    !! sqrt(-min E^2) がこれ以下なら受理する。0 はこの判定を使わない。
    real(dp) :: zhao_upstream_field_floor_v_m = 0.0_dp
    !> 外部根のイオン流体の圧力係数 (Sana & Mishra 2026, Eq. 17)。1 は等温。イオン温度は ion species の温度を使う。
    real(dp) :: zhao_ion_pressure_factor = 1.0_dp
  end type surface_current_model_config