実行条件・メッシュ入力・粒子注入・出力設定を一元管理する。
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=i32), | public | :: | n_mesh_parts | = | 0_i32 | ||
| type(template_spec), | public, | allocatable | :: | mesh_parts(:) | |||
| integer(kind=i32), | public | :: | n_particle_species | = | 0_i32 | ||
| type(particle_species_spec), | public, | allocatable | :: | particle_species(:) | |||
| integer(kind=i32), | public | :: | secondary_emission_max_generations | = | 3_i32 | ||
| integer(kind=i32), | public | :: | particle_boundary_low(3) | = | [particle_bc_inherit, particle_bc_inherit, particle_bc_inherit] | ||
| integer(kind=i32), | public | :: | particle_boundary_high(3) | = | [particle_bc_inherit, particle_bc_inherit, particle_bc_inherit] | ||
| logical, | public | :: | write_output | = | .true. | ||
| logical, | public | :: | write_mesh_potential | = | .false. | ||
| logical, | public | :: | write_potential_history | = | .false. | ||
| character(len=256), | public | :: | output_dir | = | 'outputs/latest' | ||
| character(len=256), | public | :: | output_restart_from | = | '' | ||
| integer(kind=i32), | public | :: | history_stride | = | 1 | ||
| integer(kind=i32), | public | :: | checkpoint_stride | = | 0 | ||
| logical, | public | :: | resume_output | = | .false. | ||
| type(sim_config), | public | :: | sim | ||||
| type(external_boundary_contract_type), | public | :: | boundary_contract |
preflight で解決する基底契約。種別 kinetic barrier の面別 override は run 側で重ねる。 |
|||
| type(field_physics_config), | public | :: | field | ||||
| type(periodic2_physics_config), | public | :: | periodic2 | ||||
| type(panel_kernel_config), | public | :: | panel | ||||
| type(surface_current_model_config), | public | :: | surface_current |
type :: app_config integer(i32) :: n_mesh_parts = 0_i32 type(template_spec), allocatable :: mesh_parts(:) integer(i32) :: n_particle_species = 0_i32 type(particle_species_spec), allocatable :: particle_species(:) integer(i32) :: secondary_emission_max_generations = 3_i32 integer(i32) :: particle_boundary_low(3) = & [particle_bc_inherit, particle_bc_inherit, particle_bc_inherit] integer(i32) :: particle_boundary_high(3) = & [particle_bc_inherit, particle_bc_inherit, particle_bc_inherit] logical :: write_output = .true. logical :: write_mesh_potential = .false. logical :: write_potential_history = .false. character(len=256) :: output_dir = 'outputs/latest' character(len=256) :: output_restart_from = '' integer(i32) :: history_stride = 1 integer(i32) :: checkpoint_stride = 0 logical :: resume_output = .false. type(sim_config) :: sim !> preflight で解決する基底契約。種別 kinetic barrier の面別 override は run 側で重ねる。 type(external_boundary_contract_type) :: boundary_contract type(field_physics_config) :: field type(periodic2_physics_config) :: periodic2 type(panel_kernel_config) :: panel type(surface_current_model_config) :: surface_current end type app_config