時間刻み・収束判定・バッチ回数・外部磁場など実行制御パラメータを保持する。
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public | :: | dt | = | 1.0d-12 | ||
| integer(kind=i32), | public | :: | rng_seed | = | 12345_i32 | ||
| integer(kind=i32), | public | :: | batch_count | = | 1_i32 | ||
| real(kind=dp), | public | :: | batch_duration | = | 0.0d0 | ||
| logical, | public | :: | has_batch_duration | = | .false. | ||
| real(kind=dp), | public | :: | batch_duration_step | = | 0.0d0 | ||
| logical, | public | :: | has_batch_duration_step | = | .false. | ||
| integer(kind=i32), | public | :: | max_step | = | 100 | ||
| real(kind=dp), | public | :: | tol_rel | = | 1.0d-4 | ||
| real(kind=dp), | public | :: | q_floor | = | 1.0d-30 | ||
| real(kind=dp), | public | :: | softening | = | 1.0d-4 | ||
| character(len=16), | public | :: | field_solver | = | 'auto' | ||
| character(len=16), | public | :: | field_bc_mode | = | 'free' | ||
| integer(kind=i32), | public | :: | field_periodic_image_layers | = | 1_i32 | ||
| character(len=16), | public | :: | field_periodic_far_correction | = | 'auto' | ||
| real(kind=dp), | public | :: | field_periodic_ewald_alpha | = | 0.0d0 | ||
| integer(kind=i32), | public | :: | field_periodic_ewald_layers | = | 4_i32 | ||
| real(kind=dp), | public | :: | tree_theta | = | 0.5d0 | ||
| logical, | public | :: | has_tree_theta | = | .false. | ||
| integer(kind=i32), | public | :: | tree_leaf_max | = | 16_i32 | ||
| logical, | public | :: | has_tree_leaf_max | = | .false. | ||
| integer(kind=i32), | public | :: | tree_min_nelem | = | 256_i32 | ||
| real(kind=dp), | public | :: | b0(3) | = | 0.0d0 | ||
| character(len=32), | public | :: | reservoir_potential_model | = | 'none' | ||
| real(kind=dp), | public | :: | phi_infty | = | 0.0d0 | ||
| integer(kind=i32), | public | :: | injection_face_phi_grid_n | = | 3_i32 | ||
| integer(kind=i32), | public | :: | raycast_max_bounce | = | 16_i32 | ||
| character(len=32), | public | :: | sheath_injection_model | = | 'none' | ||
| real(kind=dp), | public | :: | sheath_alpha_deg | = | 60.0d0 | ||
| real(kind=dp), | public | :: | sheath_photoelectron_ref_density_cm3 | = | 64.0d0 | ||
| real(kind=dp), | public | :: | sheath_reference_coordinate | = | 0.0d0 | ||
| logical, | public | :: | has_sheath_reference_coordinate | = | .false. | ||
| character(len=16), | public | :: | sheath_electron_drift_mode | = | 'normal' | ||
| character(len=16), | public | :: | sheath_ion_drift_mode | = | 'normal' | ||
| logical, | public | :: | use_box | = | .false. | ||
| real(kind=dp), | public | :: | box_min(3) | = | [-1.0d0, -1.0d0, -1.0d0] | ||
| real(kind=dp), | public | :: | box_max(3) | = | [1.0d0, 1.0d0, 1.0d0] | ||
| integer(kind=i32), | public | :: | bc_low(3) | = | [bc_open, bc_open, bc_open] | ||
| integer(kind=i32), | public | :: | bc_high(3) | = | [bc_open, bc_open, bc_open] |
type :: sim_config real(dp) :: dt = 1.0d-12 integer(i32) :: rng_seed = 12345_i32 integer(i32) :: batch_count = 1_i32 real(dp) :: batch_duration = 0.0d0 logical :: has_batch_duration = .false. real(dp) :: batch_duration_step = 0.0d0 logical :: has_batch_duration_step = .false. integer(i32) :: max_step = 100 real(dp) :: tol_rel = 1.0d-4 real(dp) :: q_floor = 1.0d-30 real(dp) :: softening = 1.0d-4 character(len=16) :: field_solver = 'auto' character(len=16) :: field_bc_mode = 'free' integer(i32) :: field_periodic_image_layers = 1_i32 character(len=16) :: field_periodic_far_correction = 'auto' real(dp) :: field_periodic_ewald_alpha = 0.0d0 integer(i32) :: field_periodic_ewald_layers = 4_i32 real(dp) :: tree_theta = 0.5d0 logical :: has_tree_theta = .false. integer(i32) :: tree_leaf_max = 16_i32 logical :: has_tree_leaf_max = .false. integer(i32) :: tree_min_nelem = 256_i32 real(dp) :: b0(3) = 0.0d0 character(len=32) :: reservoir_potential_model = 'none' real(dp) :: phi_infty = 0.0d0 integer(i32) :: injection_face_phi_grid_n = 3_i32 integer(i32) :: raycast_max_bounce = 16_i32 character(len=32) :: sheath_injection_model = 'none' real(dp) :: sheath_alpha_deg = 60.0d0 real(dp) :: sheath_photoelectron_ref_density_cm3 = 64.0d0 real(dp) :: sheath_reference_coordinate = 0.0d0 logical :: has_sheath_reference_coordinate = .false. character(len=16) :: sheath_electron_drift_mode = 'normal' character(len=16) :: sheath_ion_drift_mode = 'normal' logical :: use_box = .false. real(dp) :: box_min(3) = [-1.0d0, -1.0d0, -1.0d0] real(dp) :: box_max(3) = [1.0d0, 1.0d0, 1.0d0] integer(i32) :: bc_low(3) = [bc_open, bc_open, bc_open] integer(i32) :: bc_high(3) = [bc_open, bc_open, bc_open] end type sim_config