bem_simulator_workspace Module

シミュレーション実行中に再利用するバッチ作業配列を管理する。


Uses

  • module~~bem_simulator_workspace~~UsesGraph module~bem_simulator_workspace bem_simulator_workspace module~bem_kinds bem_kinds module~bem_simulator_workspace->module~bem_kinds iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env

Used by

  • module~~bem_simulator_workspace~~UsedByGraph module~bem_simulator_workspace bem_simulator_workspace module~bem_simulator bem_simulator module~bem_simulator->module~bem_simulator_workspace module~bem_simulator_charge bem_simulator_charge module~bem_simulator_charge->module~bem_simulator module~bem_simulator_io bem_simulator_io module~bem_simulator_io->module~bem_simulator module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_simulator module~bem_simulator_particles bem_simulator_particles module~bem_simulator_particles->module~bem_simulator module~bem_simulator_stats bem_simulator_stats module~bem_simulator_stats->module~bem_simulator program~main main program~main->module~bem_simulator

Derived Types

type, public ::  simulator_batch_workspace_type

Components

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(:)
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(:)
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(:)
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(:)
integer(kind=i64), public, allocatable :: neutral_return_terminal_counts(:)
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(:,:,:)

Type-Bound Procedures

procedure, public :: init => init_simulator_batch_workspace
procedure, public :: reset_before_injection
procedure, public :: prepare_particle_flags