bem_simulator Module

吸着(insulator)モデルのメインループを実行し、電荷堆積と統計更新を行う。


Uses

  • module~~bem_simulator~~UsesGraph module~bem_simulator bem_simulator ieee_arithmetic ieee_arithmetic module~bem_simulator->ieee_arithmetic iso_fortran_env iso_fortran_env module~bem_simulator->iso_fortran_env module~bem_app_config bem_app_config module~bem_simulator->module~bem_app_config module~bem_app_config_runtime bem_app_config_runtime module~bem_simulator->module~bem_app_config_runtime module~bem_charge_ledger bem_charge_ledger module~bem_simulator->module~bem_charge_ledger module~bem_collision bem_collision module~bem_simulator->module~bem_collision module~bem_config_helpers bem_config_helpers module~bem_simulator->module~bem_config_helpers module~bem_electrostatic_snapshot bem_electrostatic_snapshot module~bem_simulator->module~bem_electrostatic_snapshot module~bem_external_boundary_contract bem_external_boundary_contract module~bem_simulator->module~bem_external_boundary_contract module~bem_kinds bem_kinds module~bem_simulator->module~bem_kinds module~bem_mpi bem_mpi module~bem_simulator->module~bem_mpi module~bem_output_writer bem_output_writer module~bem_simulator->module~bem_output_writer module~bem_particle_stepper bem_particle_stepper module~bem_simulator->module~bem_particle_stepper module~bem_physics_config_types bem_physics_config_types module~bem_simulator->module~bem_physics_config_types module~bem_simulator_workspace bem_simulator_workspace module~bem_simulator->module~bem_simulator_workspace module~bem_string_utils bem_string_utils module~bem_simulator->module~bem_string_utils module~bem_surface_closure_contract bem_surface_closure_contract module~bem_simulator->module~bem_surface_closure_contract module~bem_surface_current_model bem_surface_current_model module~bem_simulator->module~bem_surface_current_model module~bem_surface_models bem_surface_models module~bem_simulator->module~bem_surface_models module~bem_types bem_types module~bem_simulator->module~bem_types module~bem_app_config->module~bem_app_config_runtime module~bem_app_config->module~bem_physics_config_types module~bem_app_config->module~bem_string_utils module~bem_app_config_parser bem_app_config_parser module~bem_app_config->module~bem_app_config_parser module~bem_app_config_types bem_app_config_types module~bem_app_config->module~bem_app_config_types module~bem_app_config_mesh_runtime bem_app_config_mesh_runtime module~bem_app_config_runtime->module~bem_app_config_mesh_runtime module~bem_app_config_particle_runtime bem_app_config_particle_runtime module~bem_app_config_runtime->module~bem_app_config_particle_runtime module~bem_app_config_potential_runtime bem_app_config_potential_runtime module~bem_app_config_runtime->module~bem_app_config_potential_runtime module~bem_charge_ledger->ieee_arithmetic module~bem_charge_ledger->module~bem_kinds module~bem_collision->ieee_arithmetic module~bem_collision->iso_fortran_env module~bem_collision->module~bem_kinds module~bem_collision->module~bem_string_utils module~bem_collision->module~bem_types module~bem_config_helpers->module~bem_kinds module~bem_config_helpers->module~bem_string_utils module~bem_config_helpers->module~bem_types module~bem_config_helpers->module~bem_app_config_types module~bem_electrostatic_snapshot->ieee_arithmetic module~bem_electrostatic_snapshot->module~bem_kinds module~bem_electrostatic_snapshot->module~bem_physics_config_types module~bem_electrostatic_snapshot->module~bem_string_utils module~bem_electrostatic_snapshot->module~bem_types module~bem_constants bem_constants module~bem_electrostatic_snapshot->module~bem_constants module~bem_coulomb_fmm_periodic_nonzero_reference bem_coulomb_fmm_periodic_nonzero_reference module~bem_electrostatic_snapshot->module~bem_coulomb_fmm_periodic_nonzero_reference module~bem_coulomb_fmm_periodic_nonzero_upper_vacuum bem_coulomb_fmm_periodic_nonzero_upper_vacuum module~bem_electrostatic_snapshot->module~bem_coulomb_fmm_periodic_nonzero_upper_vacuum module~bem_field_solver bem_field_solver module~bem_electrostatic_snapshot->module~bem_field_solver module~bem_panel_geometry bem_panel_geometry module~bem_electrostatic_snapshot->module~bem_panel_geometry module~bem_panel_kernel bem_panel_kernel module~bem_electrostatic_snapshot->module~bem_panel_kernel module~bem_periodic_zero_mode_eval bem_periodic_zero_mode_eval module~bem_electrostatic_snapshot->module~bem_periodic_zero_mode_eval module~bem_periodic_zero_mode_plan bem_periodic_zero_mode_plan module~bem_electrostatic_snapshot->module~bem_periodic_zero_mode_plan module~bem_external_boundary_contract->module~bem_kinds module~bem_external_boundary_contract->module~bem_string_utils module~bem_kinds->iso_fortran_env module~bem_mpi->module~bem_kinds module~bem_output_writer->module~bem_charge_ledger module~bem_output_writer->module~bem_electrostatic_snapshot module~bem_output_writer->module~bem_kinds module~bem_output_writer->module~bem_types module~bem_output_writer->module~bem_app_config_types module~bem_checkpoint_contract bem_checkpoint_contract module~bem_output_writer->module~bem_checkpoint_contract module~bem_filesystem bem_filesystem module~bem_output_writer->module~bem_filesystem module~bem_particle_stepper->ieee_arithmetic module~bem_particle_stepper->module~bem_collision module~bem_particle_stepper->module~bem_electrostatic_snapshot module~bem_particle_stepper->module~bem_external_boundary_contract module~bem_particle_stepper->module~bem_kinds module~bem_particle_stepper->module~bem_types module~bem_boundary bem_boundary module~bem_particle_stepper->module~bem_boundary module~bem_pusher bem_pusher module~bem_particle_stepper->module~bem_pusher module~bem_physics_config_types->ieee_arithmetic 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 module~bem_simulator_workspace->module~bem_kinds module~bem_surface_closure_contract->module~bem_kinds module~bem_surface_current_model->ieee_arithmetic module~bem_surface_current_model->module~bem_config_helpers module~bem_surface_current_model->module~bem_kinds module~bem_surface_current_model->module~bem_string_utils module~bem_surface_current_model->module~bem_surface_closure_contract module~bem_surface_current_model->module~bem_app_config_types module~bem_surface_current_model->module~bem_constants module~bem_sheath_model_core bem_sheath_model_core module~bem_surface_current_model->module~bem_sheath_model_core module~bem_surface_models->module~bem_kinds module~bem_surface_models->module~bem_string_utils module~bem_surface_models->module~bem_types module~bem_types->module~bem_kinds module~bem_app_config_mesh_runtime->ieee_arithmetic module~bem_app_config_mesh_runtime->module~bem_kinds module~bem_app_config_mesh_runtime->module~bem_string_utils module~bem_app_config_mesh_runtime->module~bem_types module~bem_app_config_mesh_runtime->module~bem_app_config_types module~bem_importers bem_importers module~bem_app_config_mesh_runtime->module~bem_importers module~bem_mesh bem_mesh module~bem_app_config_mesh_runtime->module~bem_mesh module~bem_panel_surface_sides bem_panel_surface_sides module~bem_app_config_mesh_runtime->module~bem_panel_surface_sides module~bem_templates bem_templates module~bem_app_config_mesh_runtime->module~bem_templates module~bem_app_config_parser->ieee_arithmetic module~bem_app_config_parser->module~bem_kinds module~bem_app_config_parser->module~bem_physics_config_types module~bem_app_config_parser->module~bem_string_utils module~bem_app_config_parser->module~bem_types module~bem_app_config_parser->module~bem_app_config_types module~bem_app_config_authoring bem_app_config_authoring module~bem_app_config_parser->module~bem_app_config_authoring module~bem_config_toml bem_config_toml module~bem_app_config_parser->module~bem_config_toml module~bem_injection_flux bem_injection_flux module~bem_app_config_parser->module~bem_injection_flux module~bem_injection_geometry bem_injection_geometry module~bem_app_config_parser->module~bem_injection_geometry tomlf tomlf module~bem_app_config_parser->tomlf module~bem_app_config_particle_runtime->ieee_arithmetic module~bem_app_config_particle_runtime->iso_fortran_env module~bem_app_config_particle_runtime->module~bem_collision module~bem_app_config_particle_runtime->module~bem_config_helpers module~bem_app_config_particle_runtime->module~bem_electrostatic_snapshot module~bem_app_config_particle_runtime->module~bem_external_boundary_contract module~bem_app_config_particle_runtime->module~bem_kinds module~bem_app_config_particle_runtime->module~bem_mpi module~bem_app_config_particle_runtime->module~bem_string_utils module~bem_app_config_particle_runtime->module~bem_types module~bem_app_config_particle_runtime->module~bem_app_config_potential_runtime module~bem_app_config_particle_runtime->module~bem_app_config_types module~bem_app_config_particle_runtime->module~bem_constants module~bem_injection bem_injection module~bem_app_config_particle_runtime->module~bem_injection module~bem_app_config_potential_runtime->ieee_arithmetic module~bem_app_config_potential_runtime->iso_fortran_env module~bem_app_config_potential_runtime->module~bem_config_helpers module~bem_app_config_potential_runtime->module~bem_electrostatic_snapshot module~bem_app_config_potential_runtime->module~bem_kinds module~bem_app_config_potential_runtime->module~bem_string_utils module~bem_app_config_potential_runtime->module~bem_types module~bem_app_config_potential_runtime->module~bem_app_config_types module~bem_app_config_potential_runtime->module~bem_constants module~bem_app_config_types->module~bem_kinds module~bem_app_config_types->module~bem_physics_config_types module~bem_app_config_types->module~bem_types module~bem_boundary->ieee_arithmetic module~bem_boundary->module~bem_kinds module~bem_boundary->module~bem_types module~bem_checkpoint_contract->module~bem_kinds module~bem_checkpoint_contract->module~bem_filesystem module~bem_constants->module~bem_kinds module~bem_coulomb_fmm_periodic_nonzero_reference->ieee_arithmetic module~bem_coulomb_fmm_periodic_nonzero_reference->module~bem_kinds module~bem_coulomb_fmm_periodic_nonzero_reference->module~bem_types module~bem_coulomb_fmm_periodic_nonzero_reference->module~bem_constants module~bem_coulomb_fmm_periodic_nonzero_reference->module~bem_panel_geometry module~bem_triangle_quadrature bem_triangle_quadrature module~bem_coulomb_fmm_periodic_nonzero_reference->module~bem_triangle_quadrature module~bem_coulomb_fmm_periodic_nonzero_upper_vacuum->ieee_arithmetic module~bem_coulomb_fmm_periodic_nonzero_upper_vacuum->module~bem_kinds module~bem_coulomb_fmm_periodic_nonzero_upper_vacuum->module~bem_types module~bem_coulomb_fmm_periodic_nonzero_upper_vacuum->module~bem_constants module~bem_field_solver->ieee_arithmetic module~bem_field_solver->module~bem_kinds module~bem_field_solver->module~bem_physics_config_types module~bem_field_solver->module~bem_string_utils module~bem_field_solver->module~bem_types module~bem_field_solver->module~bem_constants module~bem_coulomb_fmm_core bem_coulomb_fmm_core module~bem_field_solver->module~bem_coulomb_fmm_core iso_c_binding iso_c_binding module~bem_filesystem->iso_c_binding module~bem_panel_geometry->ieee_arithmetic module~bem_panel_geometry->module~bem_kinds module~bem_panel_kernel->module~bem_kinds module~bem_panel_kernel->module~bem_constants module~bem_panel_kernel->module~bem_panel_geometry module~bem_panel_self_terms bem_panel_self_terms module~bem_panel_kernel->module~bem_panel_self_terms module~bem_periodic_zero_mode_eval->module~bem_kinds module~bem_periodic_zero_mode_eval->module~bem_constants module~bem_periodic_zero_mode_eval->module~bem_periodic_zero_mode_plan module~bem_periodic_zero_mode_plan->ieee_arithmetic module~bem_periodic_zero_mode_plan->module~bem_kinds module~bem_periodic_zero_mode_plan->module~bem_types module~bem_periodic_zero_mode_plan->module~bem_constants module~bem_pusher->module~bem_kinds module~bem_sheath_model_core->ieee_arithmetic module~bem_sheath_model_core->module~bem_kinds module~bem_sheath_model_core->module~bem_constants module~bem_app_config_authoring->module~bem_kinds module~bem_app_config_authoring->module~bem_app_config_types module~bem_app_config_authoring_types bem_app_config_authoring_types module~bem_app_config_authoring->module~bem_app_config_authoring_types module~bem_config_toml->ieee_arithmetic module~bem_config_toml->iso_fortran_env module~bem_config_toml->module~bem_kinds module~bem_config_toml->module~bem_string_utils module~bem_config_toml->module~bem_types module~bem_config_toml->module~bem_app_config_types module~bem_config_toml->tomlf module~bem_coulomb_fmm_core->module~bem_kinds module~bem_coulomb_fmm_types bem_coulomb_fmm_types module~bem_coulomb_fmm_core->module~bem_coulomb_fmm_types module~bem_importers->module~bem_kinds module~bem_importers->module~bem_types module~bem_importers->module~bem_mesh module~bem_injection->module~bem_injection_flux module~bem_injection->module~bem_injection_geometry module~bem_injection_random bem_injection_random module~bem_injection->module~bem_injection_random module~bem_injection_velocity_grid bem_injection_velocity_grid module~bem_injection->module~bem_injection_velocity_grid module~bem_photoelectron_injection bem_photoelectron_injection module~bem_injection->module~bem_photoelectron_injection module~bem_injection_flux->ieee_arithmetic module~bem_injection_flux->module~bem_kinds module~bem_injection_flux->module~bem_constants module~bem_injection_flux->module~bem_injection_geometry module~bem_injection_flux->module~bem_injection_random module~bem_injection_geometry->module~bem_kinds module~bem_injection_geometry->module~bem_string_utils module~bem_mesh->ieee_arithmetic module~bem_mesh->module~bem_kinds module~bem_mesh->module~bem_string_utils module~bem_mesh->module~bem_types module~bem_mesh->module~bem_panel_geometry module~bem_mesh->module~bem_triangle_quadrature module~bem_panel_self_terms->module~bem_kinds module~bem_panel_self_terms->module~bem_panel_geometry module~bem_panel_surface_sides->module~bem_kinds module~bem_panel_surface_sides->module~bem_string_utils module~bem_panel_surface_sides->module~bem_types module~bem_templates->module~bem_kinds module~bem_templates->module~bem_types module~bem_templates->module~bem_mesh module~bem_triangle_quadrature->module~bem_kinds module~bem_triangle_quadrature->module~bem_constants module~bem_triangle_quadrature->module~bem_panel_geometry module~bem_app_config_authoring_types->module~bem_kinds module~bem_app_config_authoring_types->module~bem_app_config_types module~bem_coulomb_fmm_types->module~bem_kinds module~bem_coulomb_fmm_types->module~bem_panel_geometry module~bem_coulomb_fmm_types->module~bem_periodic_zero_mode_plan module~bem_injection_random->module~bem_kinds module~bem_injection_random->module~bem_types module~bem_injection_random->module~bem_constants module~bem_particles bem_particles module~bem_injection_random->module~bem_particles module~bem_injection_velocity_grid->ieee_arithmetic module~bem_injection_velocity_grid->module~bem_kinds module~bem_injection_velocity_grid->module~bem_string_utils module~bem_injection_velocity_grid->module~bem_injection_geometry module~bem_photoelectron_injection->iso_fortran_env module~bem_photoelectron_injection->module~bem_collision module~bem_photoelectron_injection->module~bem_kinds module~bem_photoelectron_injection->module~bem_string_utils module~bem_photoelectron_injection->module~bem_types module~bem_photoelectron_injection->module~bem_boundary module~bem_photoelectron_injection->module~bem_constants module~bem_photoelectron_injection->module~bem_injection_flux module~bem_photoelectron_injection->module~bem_injection_geometry module~bem_photoelectron_injection->module~bem_injection_random module~bem_particles->module~bem_kinds module~bem_particles->module~bem_types

Used by

  • module~~bem_simulator~~UsedByGraph module~bem_simulator bem_simulator 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

Interfaces

interface

  • public module subroutine run_absorption_insulator(mesh, app, stats, history_unit, history_stride, initial_stats, inject_state, mpi, mesh_potential_v, potential_history_unit, top_reference_history_unit, charge_ledger, electrostatic_diagnostics, matching_plane_history_unit)

    Arguments

    Type IntentOptional Attributes Name
    type(mesh_type), intent(inout) :: mesh
    type(app_config), intent(in) :: app
    type(sim_stats), intent(out) :: stats
    integer, intent(in), optional :: history_unit
    integer(kind=i32), intent(in), optional :: history_stride
    type(sim_stats), intent(in), optional :: initial_stats
    type(injection_state), intent(inout), optional :: inject_state
    type(mpi_context), intent(in), optional :: mpi
    real(kind=dp), intent(out), optional, allocatable :: mesh_potential_v(:)
    integer, intent(in), optional :: potential_history_unit
    integer, intent(in), optional :: top_reference_history_unit
    type(charge_ledger_type), intent(inout), optional :: charge_ledger
    type(electrostatic_diagnostics_type), intent(out), optional :: electrostatic_diagnostics
    integer, intent(in), optional :: matching_plane_history_unit