シミュレーション実行中に再利用するバッチ作業配列を管理する。
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=i32), | public, | parameter | :: | fixed_charge_absorbed | = | 1_i32 |
fixed_current_charge_values(species, channel) の channel。旧 1 次元配列の (channel-1)*n+species と同じ並び。 |
| integer(kind=i32), | public, | parameter | :: | fixed_charge_emission | = | 2_i32 | |
| integer(kind=i32), | public, | parameter | :: | fixed_charge_escaped | = | 3_i32 | |
| integer(kind=i32), | public, | parameter | :: | fixed_charge_barrier_return | = | 4_i32 | |
| integer(kind=i32), | public, | parameter | :: | neutral_charge_emitted | = | 1_i32 |
neutral_return_charge_values(species, channel) の channel。 |
| integer(kind=i32), | public, | parameter | :: | neutral_charge_absorbed | = | 2_i32 | |
| integer(kind=i32), | public, | parameter | :: | neutral_charge_unresolved | = | 3_i32 | |
| integer(kind=i32), | public, | parameter | :: | neutral_charge_escaped | = | 4_i32 | |
| integer(kind=i32), | public, | parameter | :: | neutral_charge_soft | = | 5_i32 | |
| integer(kind=i32), | public, | parameter | :: | neutral_charge_invalid | = | 6_i32 | |
| integer(kind=i32), | public, | parameter | :: | neutral_count_escaped | = | 1_i32 |
neutral_return_terminal_counts(species, kind) の kind。 |
| integer(kind=i32), | public, | parameter | :: | neutral_count_soft | = | 2_i32 | |
| integer(kind=i32), | public, | parameter | :: | neutral_count_invalid | = | 3_i32 |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public, | allocatable | :: | dq_thread(:,:) | |||
| real(kind=dp), | public, | allocatable | :: | dq(:) | |||
| real(kind=dp), | public, | allocatable | :: | photo_emission_dq(:,:) | |||
| logical, | public, | allocatable | :: | escaped_boundary_flag(:) | |||
| logical, | public, | allocatable | :: | absorbed_flag(:) | |||
| integer(kind=i32), | public, | allocatable | :: | absorbed_element(:) | |||
| logical, | public, | allocatable | :: | soft_discarded_boundary_flag(:) | |||
| integer(kind=i64), | public, | allocatable | :: | rng_id(:) |
粒子ごとの乱数 id。初期粒子は global slot、子粒子は親 id から派生する。粒子を置く側が必ず書く。 |
||
| real(kind=dp), | public, | allocatable | :: | q_before(:) | |||
| real(kind=dp), | public, | allocatable | :: | candidate_charge(:) | |||
| logical, | public | :: | charge_candidate_ready | = | .false. | ||
| real(kind=dp), | public, | allocatable | :: | neutral_return_charge_values(:,:) |
neutral_return が rank 合計する電荷(species, neutral_charge_*)。 |
||
| real(kind=dp), | public, | allocatable | :: | neutral_return_emitted_charge(:) | |||
| real(kind=dp), | public, | allocatable | :: | neutral_return_absorbed_charge(:) | |||
| real(kind=dp), | public, | allocatable | :: | neutral_return_unresolved_charge(:) | |||
| real(kind=dp), | public, | allocatable | :: | neutral_return_weight_scale(:) | |||
| real(kind=dp), | public, | allocatable | :: | neutral_return_correction(:) | |||
| real(kind=dp), | public, | allocatable | :: | neutral_return_unresolved_fraction(:) | |||
| real(kind=dp), | public, | allocatable | :: | fixed_current_charge_values(:,:) |
固定電流 closure が rank 合計する raw 電荷(species, fixed_charge_*)。吸収、放出反作用、脱出、 外部障壁で戻った電荷(H 外向き通過のうち戻った分、帯電符号)。 |
||
| real(kind=dp), | public, | allocatable | :: | fixed_absorbed_target_charge(:) | |||
| real(kind=dp), | public, | allocatable | :: | fixed_absorbed_weight_scale(:) | |||
| real(kind=dp), | public, | allocatable | :: | fixed_emission_target_charge(:) | |||
| real(kind=dp), | public, | allocatable | :: | fixed_emission_weight_scale(:) | |||
| real(kind=dp), | public, | allocatable | :: | fixed_escape_target_charge(:) | |||
| real(kind=dp), | public, | allocatable | :: | fixed_escape_correction(:) | |||
| real(kind=dp), | public, | allocatable | :: | fixed_current_correction(:) | |||
| real(kind=dp), | public, | allocatable | :: | fixed_escape_closed_charge(:) |
脱出目標の調整で収支に組み込んだ電荷と、組み込めなかった電荷(どちらも帯電符号の大きさ)。 partner を持つ種では差し引いた partner の脱出とその超過、放出目標が追跡した源の種では 収支に載せた根の脱出と、放出がなく載せられなかった根の脱出。 |
||
| real(kind=dp), | public, | allocatable | :: | fixed_escape_unclosed_charge(:) | |||
| real(kind=dp), | public | :: | fixed_surface_raw_charge | = | 0.0_dp |
全 species が表面へ置く正味電荷(吸収 + 放出反作用)の raw 値と closure 後の値、closure 後の各項の 絶対値和。固定電流 channel がない batch では 0。 |
|
| real(kind=dp), | public | :: | fixed_surface_net_charge | = | 0.0_dp | ||
| real(kind=dp), | public | :: | fixed_surface_charge_scale | = | 0.0_dp | ||
| logical, | public, | allocatable | :: | fixed_channel_active(:,:) |
この batch で固定電流 target を適用した channel。1=吸収、2=放出、3=脱出。 |
||
| integer(kind=i64), | public, | allocatable | :: | neutral_return_terminal_counts(:,:) |
neutral_return の非対応な終端の数(species, neutral_count_*)。 |
||
| real(kind=dp), | public, | allocatable | :: | ledger_charge_values(:) | |||
| integer(kind=i64), | public, | allocatable | :: | ledger_count_values(:) | |||
| real(kind=dp), | public, | allocatable | :: | matching_plane_moments_thread(:,:,:) | |||
| integer(kind=i64), | public, | allocatable | :: | secondary_counts_thread(:,:,:) | |||
| real(kind=dp), | public, | allocatable | :: | secondary_values_thread(:,:,:) |
| procedure, public :: init => init_simulator_batch_workspace | |
| procedure, public :: reset_before_injection | |
| procedure, public :: prepare_particle_flags | |
| procedure, public :: extend_particle_flags |