bem_injection_velocity_grid Module

CSV速度grid reservoirの読込、補間、sampling。


Uses

  • module~~bem_injection_velocity_grid~~UsesGraph module~bem_injection_velocity_grid bem_injection_velocity_grid ieee_arithmetic ieee_arithmetic module~bem_injection_velocity_grid->ieee_arithmetic module~bem_injection_geometry bem_injection_geometry module~bem_injection_velocity_grid->module~bem_injection_geometry module~bem_kinds bem_kinds module~bem_injection_velocity_grid->module~bem_kinds module~bem_string_utils bem_string_utils module~bem_injection_velocity_grid->module~bem_string_utils module~bem_injection_geometry->module~bem_kinds module~bem_injection_geometry->module~bem_string_utils iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env

Used by

  • module~~bem_injection_velocity_grid~~UsedByGraph module~bem_injection_velocity_grid bem_injection_velocity_grid module~bem_injection bem_injection module~bem_injection->module~bem_injection_velocity_grid module~bem_app_config_particle_runtime bem_app_config_particle_runtime module~bem_app_config_particle_runtime->module~bem_injection module~bem_app_config_particle_runtime_batch bem_app_config_particle_runtime_batch module~bem_app_config_particle_runtime_batch->module~bem_app_config_particle_runtime module~bem_app_config_particle_runtime_sampling bem_app_config_particle_runtime_sampling module~bem_app_config_particle_runtime_sampling->module~bem_app_config_particle_runtime module~bem_app_config_runtime bem_app_config_runtime module~bem_app_config_runtime->module~bem_app_config_particle_runtime module~bem_app_config bem_app_config module~bem_app_config->module~bem_app_config_runtime module~bem_simulator bem_simulator module~bem_simulator->module~bem_app_config_runtime module~bem_simulator->module~bem_app_config module~bem_simulator_io bem_simulator_io module~bem_simulator_io->module~bem_app_config_runtime module~bem_simulator_io->module~bem_simulator module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_app_config_runtime module~bem_simulator_loop->module~bem_simulator module~bem_matching_plane_coupling bem_matching_plane_coupling module~bem_simulator_loop->module~bem_matching_plane_coupling module~bem_matching_plane_coupling->module~bem_app_config module~bem_simulator_charge bem_simulator_charge module~bem_simulator_charge->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_app_config program~main->module~bem_simulator program~zhao_atlas_main zhao_atlas_main program~zhao_atlas_main->module~bem_app_config program~zhao_response_main zhao_response_main program~zhao_response_main->module~bem_app_config

Subroutines

public subroutine sample_reservoir_velocity_grid_particles(box_min, box_max, inject_face, pos_low, pos_high, velocity_grid_path, velocity_grid_pdf_kind, batch_duration, x, v, barrier_normal_energy, vmin_normal, position_jitter_dt, apply_barrier_energy_shift, velocity_grid_sampling)

速度グリッド分布から reservoir_face 粒子をサンプルする。 velocity_grid_pdf_kind="phase_space" では max(v_n,0) f(v) で流入粒子を選び、 "flux_weighted" では入力 f を流入粒子分布として扱う。

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: box_min(3)
real(kind=dp), intent(in) :: box_max(3)
character(len=*), intent(in) :: inject_face
real(kind=dp), intent(in) :: pos_low(3)
real(kind=dp), intent(in) :: pos_high(3)
character(len=*), intent(in) :: velocity_grid_path
character(len=*), intent(in) :: velocity_grid_pdf_kind
real(kind=dp), intent(in) :: batch_duration
real(kind=dp), intent(out) :: x(:,:)
real(kind=dp), intent(out) :: v(:,:)
real(kind=dp), intent(in), optional :: barrier_normal_energy
real(kind=dp), intent(in), optional :: vmin_normal
real(kind=dp), intent(in), optional :: position_jitter_dt
logical, intent(in), optional :: apply_barrier_energy_shift
character(len=*), intent(in), optional :: velocity_grid_sampling

public subroutine get_velocity_grid_snapshot(path, grid_v, f)

最初の読込み結果をpathごとに固定し、同一runのsamplingとfingerprintで共有する。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: path
real(kind=dp), intent(out), allocatable :: grid_v(:,:)
real(kind=dp), intent(out), allocatable :: f(:)

独立runを同一processで開始するtest/support用途にsnapshot cacheを解放する。

Arguments

None