app_config Derived Type

type, public :: app_config

実行条件・メッシュ入力・粒子注入・出力設定を一元管理する。


Inherits

type~~app_config~~InheritsGraph type~app_config app_config type~particle_species_spec particle_species_spec type~app_config->type~particle_species_spec particle_species type~sim_config sim_config type~app_config->type~sim_config sim type~template_spec template_spec type~app_config->type~template_spec templates

Components

Type Visibility Attributes Name Initial
character(len=16), public :: mesh_mode = 'auto'
character(len=256), public :: obj_path = 'examples/simple_plate.obj'
real(kind=dp), public :: obj_scale = 1.0d0
real(kind=dp), public :: obj_rotation(3) = [0.0d0, 0.0d0, 0.0d0]
real(kind=dp), public :: obj_offset(3) = [0.0d0, 0.0d0, 0.0d0]
integer(kind=i32), public :: n_templates = 0_i32
type(template_spec), public, allocatable :: templates(:)
integer(kind=i32), public :: n_particles = 0_i32
integer(kind=i32), public :: n_particle_species = 0_i32
type(particle_species_spec), public, allocatable :: particle_species(:)
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'
integer(kind=i32), public :: history_stride = 1
logical, public :: resume_output = .false.
type(sim_config), public :: sim

Source Code

  type :: app_config
    character(len=16) :: mesh_mode = 'auto'
    character(len=256) :: obj_path = 'examples/simple_plate.obj'
    real(dp) :: obj_scale = 1.0d0
    real(dp) :: obj_rotation(3) = [0.0d0, 0.0d0, 0.0d0]
    real(dp) :: obj_offset(3) = [0.0d0, 0.0d0, 0.0d0]
    integer(i32) :: n_templates = 0_i32
    type(template_spec), allocatable :: templates(:)

    integer(i32) :: n_particles = 0_i32
    integer(i32) :: n_particle_species = 0_i32
    type(particle_species_spec), allocatable :: particle_species(:)

    logical :: write_output = .true.
    logical :: write_mesh_potential = .false.
    logical :: write_potential_history = .false.
    character(len=256) :: output_dir = 'outputs/latest'
    integer(i32) :: history_stride = 1
    logical :: resume_output = .false.

    type(sim_config) :: sim
  end type app_config