外部モデルから species 別の固定表面電流を解決する。
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | active | = | .false. | ||
| logical, | public, | allocatable | :: | has_absorbed_target(:) | |||
| logical, | public, | allocatable | :: | has_emission_target(:) | |||
| logical, | public, | allocatable | :: | has_escape_target(:) | |||
| logical, | public, | allocatable | :: | has_inflow_kinetic_map(:) | |||
| logical, | public, | allocatable | :: | has_outflow_kinetic_barrier(:) | |||
| logical, | public, | allocatable | :: | has_inflow_number_flux(:) | |||
| real(kind=dp), | public, | allocatable | :: | absorbed_current_a(:) | |||
| real(kind=dp), | public, | allocatable | :: | emission_current_a(:) | |||
| real(kind=dp), | public, | allocatable | :: | escaped_particle_current_a(:) | |||
| real(kind=dp), | public, | allocatable | :: | inflow_reservoir_potential_v(:) | |||
| real(kind=dp), | public, | allocatable | :: | inflow_access_potential_v(:) | |||
| real(kind=dp), | public, | allocatable | :: | inflow_reservoir_density_m3(:) |
流入写像の0 V貯留部にあるMaxwellianの密度。0以下ならspecies設定の密度を使う。 |
||
| integer(kind=i32), | public, | allocatable | :: | inflow_kinetic_face(:) | |||
| real(kind=dp), | public, | allocatable | :: | outflow_barrier_potential_v(:) | |||
| integer(kind=i32), | public, | allocatable | :: | outflow_barrier_face(:) | |||
| real(kind=dp), | public, | allocatable | :: | inflow_number_flux_m2_s(:) | |||
| integer(kind=i32), | public, | allocatable | :: | escape_partner_species(:) |
この species の脱出・帰還目標から、そのバッチで追跡した脱出電荷を差し引く species(0 なら無し)。 外部根の脱出束が複数の放出電子種の合算なら、追跡した側に充てた残りをこの species の目標にする。 |
||
| logical, | public, | allocatable | :: | emission_target_from_tracked_source(:) |
放出目標が、根が予測した放出ではなく、根に与えた外側源(追跡した放出の窓平均)である種(PE なしの SEE)。 raw channel が空のバッチでも止まらず、帰還目標は放出へ畳み、放出がなければ根の脱出分を未閉として記録する。 |
||
| integer(kind=i32), | public, | allocatable | :: | reflected_electron_species(:) |
この species の脱出・帰還・放出目標から差し引く、セル内で反射して H を抜けた上流電子の species(0 なら無し)。 外部根の源に反射電子を含めると根の脱出・帰還は放出電子と反射電子の合算なので、追跡で決まる反射分を先に充て、 残りをこの species に固定する。 |
||
| logical, | public, | allocatable | :: | absorbed_target_credits_tracked_escape(:) |
吸収目標に、この species 自身が外部障壁を越えて脱出した追跡電荷を足し戻す(反射して出た上流電子は壁に届かない)。 |
||
| logical, | public | :: | has_plane_gauge | = | .false. |
照射セル契約の壁面の平均電位を外部シース解の壁電位へ固定する場合だけ有効。 |
|
| real(kind=dp), | public | :: | plane_gauge_potential_v | = | 0.0_dp | ||
| real(kind=dp), | public | :: | top_field_v_m | = | 0.0_dp | ||
| logical, | public | :: | outer_return_cell_uniform | = | .false. |
外部障壁で戻る粒子を周期セル内の一様な位置へ戻す。 |
|
| character(len=32), | public | :: | model | = | 'none' | ||
| character(len=1), | public | :: | zhao_branch | = | ' ' | ||
| integer(kind=i32), | public | :: | electron_species_idx | = | 0_i32 | ||
| integer(kind=i32), | public | :: | ion_species_idx | = | 0_i32 | ||
| integer(kind=i32), | public | :: | photoelectron_species_idx | = | 0_i32 | ||
| logical, | public | :: | photoelectron_active | = | .false. | ||
| integer(kind=i32), | public | :: | secondary_electron_species_idx | = | 0_i32 | ||
| real(kind=dp), | public | :: | reference_area_m2 | = | 0.0_dp | ||
| real(kind=dp), | public | :: | phi0_v | = | 0.0_dp | ||
| real(kind=dp), | public | :: | phi_m_v | = | 0.0_dp | ||
| real(kind=dp), | public | :: | upstream_negative_band_v | = | 0.0_dp |
上流に接する E^2<0 の電位幅 [V] と、その内側の場の不足 sqrt(-min E^2) [V/m]。 電子drift時に許容幅または場の下限で受理したA/C根だけが非ゼロ。 |
|
| real(kind=dp), | public | :: | upstream_field_deficit_v_m | = | 0.0_dp | ||
| real(kind=dp), | public | :: | ambient_electron_density_m3 | = | 0.0_dp | ||
| real(kind=dp), | public | :: | electron_current_density_a_m2 | = | 0.0_dp | ||
| real(kind=dp), | public | :: | ion_current_density_a_m2 | = | 0.0_dp | ||
| real(kind=dp), | public | :: | photoelectron_emission_current_density_a_m2 | = | 0.0_dp | ||
| real(kind=dp), | public | :: | photoelectron_escape_current_density_a_m2 | = | 0.0_dp | ||
| real(kind=dp), | public | :: | photoelectron_return_current_density_a_m2 | = | 0.0_dp | ||
| real(kind=dp), | public | :: | net_current_density_a_m2 | = | 0.0_dp | ||
| real(kind=dp), | public | :: | photoelectron_budget_residual_current_density_a_m2 | = | 0.0_dp | ||
| real(kind=dp), | public | :: | surface_budget_residual_current_density_a_m2 | = | 0.0_dp | ||
| real(kind=dp), | public | :: | outer_photoelectron_flux_m2_s | = | 0.0_dp |
外部Zhaoシースが壁放出として見るPE束 [1/(m2 s)] と平均法線エネルギー [eV]。 |
|
| real(kind=dp), | public | :: | outer_photoelectron_mean_energy_ev | = | 0.0_dp | ||
| real(kind=dp), | public | :: | outer_photoelectron_spectrum_m2_s(outflow_spectrum_bins) | = | 0.0_dp |
外部源に使ったH外向きスペクトル [1/(m2 s)]、bin別。全て0は表面放出の半Maxwell源。 |
|
| character(len=32), | public | :: | kinetic_contract | = | 'none' |
モデル固有の診断値をシミュレータへ漏らさず、境界契約だけを返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(in) | :: | app | |||
| type(surface_closure_contract_type), | intent(out) | :: | contract | |||
| type(irradiation_cell_contract_type), | intent(in), | optional | :: | cell |
設定されたmodelをdispatchし、固定電流closure用のtarget配列を返す。 zhao_stationary で outer を渡すと、後の更新に使う外部解を返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(in) | :: | app | |||
| type(surface_current_model_result_type), | intent(out) | :: | result | |||
| type(irradiation_cell_contract_type), | intent(in), | optional | :: | cell | ||
| type(sheath_matching_iteration), | intent(out), | optional | :: | outer |
表面放出はそのままに、matching planeで観測したPE流出を外部Zhaoシースの放出源として零電流根を解き直す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(in) | :: | app | |||
| real(kind=dp), | intent(in) | :: | outer_flux_m2_s | |||
| real(kind=dp), | intent(in) | :: | outer_mean_energy_ev | |||
| character(len=1), | intent(in) | :: | preferred_branch | |||
| type(surface_current_model_result_type), | intent(out) | :: | result | |||
| logical, | intent(out) | :: | success | |||
| character(len=*), | intent(out) | :: | message | |||
| real(kind=dp), | intent(in), | optional | :: | outer_spectrum_m2_s(outflow_spectrum_bins) |
H外向きスペクトル [1/(m2 s)]、bin別。省略時は束と平均法線エネルギーの半Maxwell源とする。 |
|
| type(irradiation_cell_contract_type), | intent(in), | optional | :: | cell | ||
| type(sheath_matching_iteration), | intent(out), | optional | :: | outer |
外部解を観測したH外向き流出で更新する。前回の根を初期値にし、同じbranchを先に試す。 根が解けないか、解けた根の closure を棄却したときは outer を前回のまま残し、success=.false. を返す。 呼出し側はこのとき前回の closure を使い続けるので、外部根もそれと揃えておく。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(in) | :: | app | |||
| type(sheath_matching_iteration), | intent(inout) | :: | outer | |||
| real(kind=dp), | intent(in) | :: | outer_flux_m2_s | |||
| real(kind=dp), | intent(in) | :: | outer_mean_energy_ev | |||
| real(kind=dp), | intent(in) | :: | outer_spectrum_m2_s(outflow_spectrum_bins) | |||
| type(irradiation_cell_contract_type), | intent(in) | :: | cell | |||
| type(surface_current_model_result_type), | intent(out) | :: | result | |||
| logical, | intent(out) | :: | success | |||
| character(len=*), | intent(out) | :: | message |