default_app_config Subroutine

public subroutine default_app_config(cfg)

app_config を既定値で初期化し、TOML 上書き前の状態を作る。

Arguments

Type IntentOptional Attributes Name
type(app_config), intent(out) :: cfg

既定値で初期化したアプリ設定。


Called by

proc~~default_app_config~~CalledByGraph proc~default_app_config default_app_config proc~load_or_init_run_state load_or_init_run_state proc~load_or_init_run_state->proc~default_app_config program~main main program~main->proc~load_or_init_run_state

Source Code

  subroutine default_app_config(cfg)
    type(app_config), intent(out) :: cfg

    cfg%mesh_mode = 'auto'
    cfg%obj_path = 'examples/simple_plate.obj'
    cfg%obj_scale = 1.0d0
    cfg%obj_rotation = [0.0d0, 0.0d0, 0.0d0]
    cfg%obj_offset = [0.0d0, 0.0d0, 0.0d0]
    cfg%n_templates = 0_i32
    cfg%n_particles = 0_i32
    cfg%n_particle_species = 0_i32
    cfg%write_output = .true.
    cfg%write_mesh_potential = .false.
    cfg%write_potential_history = .false.
    cfg%output_dir = 'outputs/latest'
    cfg%history_stride = 1_i32
    cfg%resume_output = .false.
    cfg%sim = sim_config()
    allocate (cfg%templates(max_templates))
    allocate (cfg%particle_species(max_particle_species))
    cfg%particle_species = particle_species_spec()
    cfg%sim%dt = 1.0d-9
    cfg%sim%rng_seed = 12345_i32
    cfg%sim%batch_count = 1_i32
    cfg%sim%max_step = 400
    cfg%sim%tol_rel = 1.0d-8
    cfg%sim%softening = 1.0d-6
    cfg%sim%field_solver = 'auto'
    cfg%sim%field_bc_mode = 'free'
    cfg%sim%field_periodic_image_layers = 1_i32
    cfg%sim%field_periodic_far_correction = 'auto'
    cfg%sim%field_periodic_ewald_alpha = 0.0d0
    cfg%sim%field_periodic_ewald_layers = 4_i32
    cfg%sim%tree_theta = 0.5d0
    cfg%sim%tree_leaf_max = 16_i32
    cfg%sim%tree_min_nelem = 256_i32
    cfg%sim%b0 = [0.0d0, 0.0d0, 0.0d0]
    cfg%sim%reservoir_potential_model = 'none'
    cfg%sim%phi_infty = 0.0d0
    cfg%sim%injection_face_phi_grid_n = 3_i32
    cfg%sim%raycast_max_bounce = 16_i32
    cfg%sim%sheath_injection_model = 'none'
    cfg%sim%sheath_alpha_deg = 60.0d0
    cfg%sim%sheath_photoelectron_ref_density_cm3 = 64.0d0
    cfg%sim%sheath_reference_coordinate = 0.0d0
    cfg%sim%has_sheath_reference_coordinate = .false.
    cfg%sim%sheath_electron_drift_mode = 'normal'
    cfg%sim%sheath_ion_drift_mode = 'normal'
    cfg%n_templates = 1_i32
    cfg%n_particles = 0_i32

    cfg%templates(1)%enabled = .true.
    cfg%templates(1)%kind = 'plane'
    cfg%templates(1)%size_x = 1.0d0
    cfg%templates(1)%size_y = 1.0d0
    cfg%templates(1)%nx = 1
    cfg%templates(1)%ny = 1
    cfg%templates(1)%center = [0.0d0, 0.0d0, 0.0d0]
  end subroutine default_app_config