bem_irradiation_cell_contract Module

照射実験の壁・周期軸・下端モデル。汎用 kernel はこの型へ依存しない。


Uses

  • module~~bem_irradiation_cell_contract~~UsesGraph module~bem_irradiation_cell_contract bem_irradiation_cell_contract module~bem_app_config_types bem_app_config_types module~bem_irradiation_cell_contract->module~bem_app_config_types module~bem_kinds bem_kinds module~bem_irradiation_cell_contract->module~bem_kinds module~bem_string_utils bem_string_utils module~bem_irradiation_cell_contract->module~bem_string_utils module~bem_types bem_types module~bem_irradiation_cell_contract->module~bem_types module~bem_app_config_types->module~bem_kinds module~bem_app_config_types->module~bem_types module~bem_external_boundary_contract bem_external_boundary_contract module~bem_app_config_types->module~bem_external_boundary_contract module~bem_filesystem bem_filesystem module~bem_app_config_types->module~bem_filesystem module~bem_physics_config_types bem_physics_config_types module~bem_app_config_types->module~bem_physics_config_types iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env module~bem_types->module~bem_kinds module~bem_outflow_spectrum bem_outflow_spectrum module~bem_types->module~bem_outflow_spectrum module~bem_external_boundary_contract->module~bem_kinds module~bem_external_boundary_contract->module~bem_string_utils iso_c_binding iso_c_binding module~bem_filesystem->iso_c_binding module~bem_outflow_spectrum->module~bem_kinds sheath_model sheath_model module~bem_outflow_spectrum->sheath_model module~bem_physics_config_types->module~bem_kinds module~bem_physics_config_types->module~bem_string_utils module~bem_physics_config_types->module~bem_types ieee_arithmetic ieee_arithmetic module~bem_physics_config_types->ieee_arithmetic

Used by

  • module~~bem_irradiation_cell_contract~~UsedByGraph module~bem_irradiation_cell_contract bem_irradiation_cell_contract module~bem_app_config_potential_runtime bem_app_config_potential_runtime module~bem_app_config_potential_runtime->module~bem_irradiation_cell_contract module~bem_output_writer_summary bem_output_writer_summary module~bem_output_writer_summary->module~bem_irradiation_cell_contract module~bem_surface_current_model bem_surface_current_model module~bem_output_writer_summary->module~bem_surface_current_model module~bem_output_writer bem_output_writer module~bem_output_writer_summary->module~bem_output_writer module~bem_particle_stepper bem_particle_stepper module~bem_particle_stepper->module~bem_irradiation_cell_contract module~bem_simulator bem_simulator module~bem_simulator->module~bem_irradiation_cell_contract module~bem_simulator->module~bem_particle_stepper module~bem_simulator->module~bem_surface_current_model module~bem_app_config_runtime bem_app_config_runtime module~bem_simulator->module~bem_app_config_runtime module~bem_simulator->module~bem_output_writer module~bem_app_config bem_app_config module~bem_simulator->module~bem_app_config module~bem_run_outputs bem_run_outputs module~bem_simulator->module~bem_run_outputs module~bem_surface_current_model->module~bem_irradiation_cell_contract module~bem_zhao_outflow_refresh bem_zhao_outflow_refresh module~bem_zhao_outflow_refresh->module~bem_irradiation_cell_contract module~bem_zhao_outflow_refresh->module~bem_surface_current_model module~bem_zhao_outflow_refresh->module~bem_app_config module~bem_app_config_particle_runtime bem_app_config_particle_runtime module~bem_app_config_particle_runtime->module~bem_app_config_potential_runtime module~bem_app_config_runtime->module~bem_app_config_potential_runtime module~bem_app_config_runtime->module~bem_app_config_particle_runtime module~bem_output_writer->module~bem_surface_current_model 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_io->module~bem_app_config_runtime module~bem_simulator_io->module~bem_output_writer module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_simulator module~bem_simulator_loop->module~bem_zhao_outflow_refresh module~bem_simulator_loop->module~bem_app_config_runtime module~bem_simulator_loop->module~bem_output_writer module~bem_periodic_checkpoint bem_periodic_checkpoint module~bem_simulator_loop->module~bem_periodic_checkpoint module~bem_simulator_loop->module~bem_run_outputs module~bem_simulator_particles bem_simulator_particles module~bem_simulator_particles->module~bem_particle_stepper 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 program~main->module~bem_output_writer program~main->module~bem_app_config program~main->module~bem_periodic_checkpoint program~main->module~bem_run_outputs module~bem_app_config->module~bem_app_config_runtime 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_particle_runtime_slots bem_app_config_particle_runtime_slots module~bem_app_config_particle_runtime_slots->module~bem_app_config_particle_runtime module~bem_output_writer_files bem_output_writer_files module~bem_output_writer_files->module~bem_output_writer module~bem_output_writer_history bem_output_writer_history module~bem_output_writer_history->module~bem_output_writer module~bem_periodic_checkpoint->module~bem_output_writer module~bem_run_outputs->module~bem_output_writer module~bem_run_outputs->module~bem_periodic_checkpoint

Variables

Type Visibility Attributes Name Initial
integer(kind=i32), public, parameter :: irradiation_cell_ok = 0_i32
integer(kind=i32), public, parameter :: irradiation_cell_invalid = 1_i32

Derived Types

type, public ::  irradiation_cell_contract_type

Components

Type Visibility Attributes Name Initial
integer(kind=i32), public :: wall_face = 6_i32
integer(kind=i32), public :: wall_axis = 3_i32
integer(kind=i32), public :: outward_normal_sign = 1_i32
real(kind=dp), public :: wall_position = 0.0_dp
logical, public :: periodic_axes(3) = .false.
character(len=32), public :: lower_boundary_model = 'not_applicable'

Type-Bound Procedures

procedure, public :: wall_face_bit
procedure, public :: outward_normal_velocity
procedure, public :: crosses_wall_outward
procedure, public :: wall_coordinate
procedure, public :: wall_face_name
procedure, public :: wall_area
procedure, public :: wall_tangents_periodic

Subroutines

public subroutine resolve_irradiation_cell_contract(app, contract, status, message)

preflight 済み設定から run に不変な前提を一度解決する。free-space 参照構成も保持する。

Arguments

Type IntentOptional Attributes Name
type(app_config), intent(in) :: app
type(irradiation_cell_contract_type), intent(out) :: contract
integer(kind=i32), intent(out) :: status
character(len=*), intent(out) :: message