コンテンツにスキップ
開発版ドキュメント — このサイトはmainブランチ向けで、インストール済みリリースと異なる場合があります。変更履歴を確認してください。

Fortran 依存関係マップ

このページは tools/generate_fortran_dependency_report.py から自動生成しています。

  • ソースファイル数: 124
  • モジュール数: 89
  • submodule 数: 36
  • program 数: 1
  • 内部依存エッジ数: 514

Fortran モジュール依存グラフ

実線は use 依存、破線は submodule(parent) の親参照を表します。

ディレクトリエンティティ数内部依存数
app116
src/config1132
src/config/app_config_parser1026
src/core1517
src/mesh311
src/mesh/panel37
src/particles38
src/particles/injection422
src/physics513
src/physics/field_solver942
src/physics/field_solver/fmm/api49
src/physics/field_solver/fmm/internal/common27
src/physics/field_solver/fmm/internal/periodic622
src/physics/field_solver/fmm/internal/runtime216
src/physics/field_solver/fmm/internal/tree215
src/physics/field_solver/panel310
src/physics/field_solver/periodic619
src/physics/sheath12
src/runtime1686
src/runtime/configuration844
src/runtime/coupling11
src/runtime/sheath324
src/runtime/simulator865
エンティティkind被依存数
bem_kindsmodule85
bem_typesmodule39
bem_string_utilsmodule31
bem_constantsmodule23
bem_app_config_typesmodule19
bem_mpimodule15
bem_charge_ledgermodule11
bem_electrostatic_snapshotmodule11
bem_filesystemmodule11
bem_panel_geometrymodule11
エンティティkindパス内部依存概要
mainprogramapp/main.f90bem_kinds, bem_version, bem_types, bem_mpi, bem_performance_profile, bem_simulator, bem_restart, bem_periodic_checkpoint, bem_checkpoint_contract, bem_output_writer, bem_run_outputs, bem_app_config, bem_mesh, bem_charge_ledger, bem_electrostatic_snapshot, bem_physics_config_types設定読込・メッシュ生成・粒子初期化・シミュレーション実行・結果出力を順に行うCLIエントリーポイント。
bem_app_config_authoringmodulesrc/config/bem_app_config_authoring.f90bem_kinds, bem_app_config_types, bem_app_config_authoring_typesAuthoring overlay の公開入口。配列管理と領域別変換の入口を持つ。
bem_app_config_authoring_typesmodulesrc/config/bem_app_config_authoring_types.f90bem_kinds, bem_app_config_typesTOML authoring overlay の型と default。実行時設定への変換処理は持たない。
bem_app_config_typesmodulesrc/config/bem_app_config_types.f90bem_kinds, bem_types, bem_external_boundary_contract, bem_filesystem, bem_physics_config_typesアプリ設定の型定義と、設定由来の粒子数計算をまとめるモジュール。
bem_config_helpersmodulesrc/config/bem_config_helpers.f90bem_kinds, bem_types, bem_app_config_types, bem_string_utils設定型のヘルパー関数。パーサに依存せず下位層から利用可能。
bem_config_layoutmodulesrc/config/bem_config_layout.f90bem_kinds, bem_string_utils, bem_config_toml, bem_config_layout_paths-
bem_config_layout_pathsmodulesrc/config/bem_config_layout_paths.f90--
bem_config_tomlmodulesrc/config/bem_config_toml.f90bem_kinds, bem_types, bem_app_config_types, bem_string_utilsTOML の基本型・固定長文字列・配列を検査して読み込む共通入口。
bem_physics_config_typesmodulesrc/config/bem_physics_config_types.f90bem_kinds, bem_types, bem_string_utils場・periodic2・panel の型付き設定と旧 [sim] 設定の正規化を定義する。
bem_app_config_authoring_domainsubmodulesrc/config/bem_app_config_authoring_domain.f90bem_app_config_authoring, bem_types, bem_string_utils計算領域、境界、reservoir 設定の正規化と box の幾何条件。
bem_app_config_authoring_geometrysubmodulesrc/config/bem_app_config_authoring_geometry.f90bem_app_config_authoring, bem_string_utilsMesh template の group、anchor、相対サイズを実座標・実寸へ変換する。
bem_app_config_authoring_sourcessubmodulesrc/config/bem_app_config_authoring_sources.f90bem_app_config_authoring, bem_string_utils粒子源の face_fraction 入力を注入面上の実座標へ変換する。
bem_app_config_parsermodulesrc/config/app_config_parser/bem_app_config_parser.f90bem_kinds, bem_types, bem_app_config_types, bem_physics_config_types, bem_app_config_authoring, bem_string_utils, bem_config_layout, bem_config_toml, bem_injection_flux, bem_injection_geometryTOML設定ファイルを toml-f で読み込み、app_config へ反映する。
bem_app_config_parser_finalizesubmodulesrc/config/app_config_parser/bem_app_config_parser_finalize.f90bem_app_config_parser, bem_external_boundary_contract設定の正規化と領域別 preflight の実行順を管理する。
bem_app_config_parser_preflight_particlessubmodulesrc/config/app_config_parser/bem_app_config_parser_preflight_particles.f90bem_app_config_parser, bem_app_config_types, bem_config_helperslint 済みの粒子種識別子と有効な粒子源の派生量を確定する。
bem_app_config_parser_preflight_simsubmodulesrc/config/app_config_parser/bem_app_config_parser_preflight_sim.f90bem_app_config_parserlint 済み設定の基本的な計算条件を確認し、時間と外部場を確定する。
bem_app_config_parser_preflight_surfacesubmodulesrc/config/app_config_parser/bem_app_config_parser_preflight_surface.f90bem_app_config_parser, bem_constants, bem_config_helpers, bem_app_config_typeslint 済みの表面電流設定について、種の参照と物理モデルの成立条件を検査する。
bem_app_config_parser_read_meshsubmodulesrc/config/app_config_parser/bem_app_config_parser_read_mesh.f90bem_app_config_parsermesh.parts と template 用 group の TOML 読み取り。
bem_app_config_parser_read_particlessubmodulesrc/config/app_config_parser/bem_app_config_parser_read_particles.f90bem_app_config_parser領域別の TOML 読み取り。意味検証と派生値の確定は preflight が担当する。
bem_app_config_parser_read_simsubmodulesrc/config/app_config_parser/bem_app_config_parser_read_sim.f90bem_app_config_parser領域別の TOML 読み取り。意味検証と派生値の確定は preflight が担当する。
bem_app_config_parser_read_surfacesubmodulesrc/config/app_config_parser/bem_app_config_parser_read_surface.f90bem_app_config_parser領域別の TOML 読み取り。意味検証と派生値の確定は preflight が担当する。
bem_app_config_parser_validatesubmodulesrc/config/app_config_parser/bem_app_config_parser_validate.f90bem_app_config_parser, bem_config_helperslint 済みの設定から電場・流束・粒子重みを導出し、計算結果を検査する。
bem_constantsmodulesrc/core/bem_constants.f90bem_kindsシミュレーションで使用する物理定数を定義する。
bem_counter_rngmodulesrc/core/bem_counter_rng.f90bem_kindsPCG64 による counter-based 乱数。実行順序・rank・thread に依存せず、(seed, counter, draw) だけで値が決まる。 counter(粒子 slot、境界 event など任意長の整数組)と seed から Murmur3 で 128 bit の鍵を作り、 上位 64 bit を PCG64 の初期状態、下位 64 bit を stream 番号に使う。draw 番目の値は stream を draw 回進めて取り出す。 鍵の計算は 32 bit の Murmur3 を 4 系統の seed で回すもので、整数演算は 16 bit 分割の乗算で 符号付き 64 bit の範囲に収めている(Fortran の整数 overflow を起こさない)。
bem_external_boundary_contractmodulesrc/core/bem_external_boundary_contract.f90bem_kinds, bem_string_utils局所 reservoir 流入と種別 kinetic 障壁を実行時契約へ正規化する。
bem_filesystemmodulesrc/core/bem_filesystem.f90--
bem_kindsmodulesrc/core/bem_kinds.f90-倍精度実数と32bit整数のkind定義を集約する基盤モジュール。
bem_mpimodulesrc/core/bem_mpi.F90bem_kindsMPIの初期化・集約を抽象化し、非MPIビルドでは単一ランク動作へフォールバックする。
bem_outflow_spectrummodulesrc/core/bem_outflow_spectrum.f90bem_kinds-
bem_periodic2_axesmodulesrc/core/bem_periodic2_axes.f90bem_kinds, bem_types, bem_string_utils-
bem_random_streammodulesrc/core/bem_random_stream.f90bem_kinds, bem_counter_rng逐次に引く PCG64 の乱数列(Fortran 組み込み random_number の置き換え)。 seed_random_stream で seed を決めると、各 OpenMP thread は (seed, thread 番号) から作った自分の PCG64 stream を 初回の draw で開く。同じ seed・同じ thread で引けば同じ列になる。バッチ粒子の生成と粒子追跡は bem_counter_rng の counter-based 乱数を使い、この列は単体の sampling API と test だけが使う。
bem_runtime_modesmodulesrc/core/bem_runtime_modes.f90bem_kinds, bem_string_utils-
bem_sortingmodulesrc/core/bem_sorting.f90bem_kindsIn-place O(n log n) heapsorts shared by plan builders.
bem_status_codesmodulesrc/core/bem_status_codes.f90bem_kinds-
bem_string_utilsmodulesrc/core/bem_string_utils.f90-ASCII 文字列操作ユーティリティ。
bem_typesmodulesrc/core/bem_types.f90bem_kinds, bem_outflow_spectrumシミュレーション設定・統計・メッシュ・粒子・衝突情報の主要データ型を定義する。
bem_versionmodulesrc/core/bem_version.F90-BEACH build metadata stamped by build.sh.
bem_importersmodulesrc/mesh/bem_importers.f90bem_kinds, bem_types, bem_meshOBJメッシュを走査・解析し、内部 mesh_type へ変換するインポートモジュール。
bem_meshmodulesrc/mesh/bem_mesh.f90bem_kinds, bem_types, bem_periodic2_axes, bem_panel_geometry, bem_triangle_quadrature三角形メッシュ幾何量(重心・法線・AABB・代表長)を前計算して保持するモジュール。
bem_templatesmodulesrc/mesh/bem_templates.f90bem_kinds, bem_types, bem_mesh平面/穴あき平面/円板/リング/箱/円柱/球(UV・icosphere)テンプレートから三角形メッシュを生成するユーティリティ。
bem_panel_geometrymodulesrc/mesh/panel/bem_panel_geometry.f90bem_kindsOrdered triangle geometry and exact Cartesian surface moments.
bem_panel_surface_sidesmodulesrc/mesh/panel/bem_panel_surface_sides.f90bem_kinds, bem_types, bem_string_utilsResolve physical vacuum sides without changing ordered triangle winding.
bem_triangle_quadraturemodulesrc/mesh/panel/bem_triangle_quadrature.f90bem_kinds, bem_constants, bem_panel_geometryTriangle cubature rules and Gauss-Duffy quadrature plans.
bem_injectionmodulesrc/particles/bem_injection.f90bem_injection_random, bem_injection_geometry, bem_injection_flux, bem_photoelectron_injection粒子注入APIを責務別internal moduleから再公開する互換facade。
bem_particlesmodulesrc/particles/bem_particles.f90bem_kinds, bem_types粒子SoAデータ構造の初期化を提供するモジュール。
bem_secondary_emissionmodulesrc/particles/bem_secondary_emission.f90bem_kinds, bem_counter_rng吸収に伴う SEE の収率・丸めと、OpenMP thread ごとの生成粒子 buffer。
bem_injection_fluxmodulesrc/particles/injection/bem_injection_flux.f90bem_kinds, bem_constants, bem_injection_geometry, bem_injection_random, bem_counter_rngMaxwell reservoirの流束、macro粒子数、面速度sampling。
bem_injection_geometrymodulesrc/particles/injection/bem_injection_geometry.f90bem_kinds, bem_string_utilsbox面注入で共有する面軸と開口geometryの解決。
bem_injection_randommodulesrc/particles/injection/bem_injection_random.f90bem_kinds, bem_constants, bem_counter_rng, bem_random_stream粒子注入で共有する乱数初期化と基本分布sampling。
bem_photoelectron_injectionmodulesrc/particles/injection/bem_photoelectron_injection.f90bem_kinds, bem_constants, bem_types, bem_boundary, bem_collision, bem_status_codes, bem_string_utils, bem_injection_flux, bem_injection_geometry, bem_injection_random, bem_counter_rng光線追跡による光電子放出位置と速度のsampling。
bem_boundarymodulesrc/physics/bem_boundary.f90bem_kinds, bem_types, bem_status_codesシミュレーションボックス境界(流出/反射/面内再配置反射/周期)を適用するモジュール。
bem_collisionmodulesrc/physics/bem_collision.f90bem_kinds, bem_types, bem_string_utils, bem_status_codes粒子軌道セグメントと三角形要素の交差判定を提供する衝突検出モジュール。
bem_pushermodulesrc/physics/bem_pusher.f90bem_kinds荷電粒子の時間発展にBoris法を適用する運動方程式ソルバ。
bem_surface_modelsmodulesrc/physics/bem_surface_models.f90bem_kinds, bem_types, bem_electrostatic_snapshot表面モデルごとの電荷更新後処理を扱うモジュール。
bem_surface_models_conductorsubmodulesrc/physics/bem_surface_models_conductor.f90bem_surface_models, bem_constantsbem_surface_models の浮遊導体電荷再配分を実装する submodule。
bem_electrostatic_snapshotmodulesrc/physics/field_solver/bem_electrostatic_snapshot.f90bem_kinds, bem_constants, bem_types, bem_mpi, bem_field_solver, bem_physics_config_types, bem_string_utils, bem_runtime_modes, bem_periodic_zero_mode_plan, bem_periodic_zero_mode_eval, bem_coulomb_fmm_periodic_nonzero_reference, bem_coulomb_fmm_periodic_nonzero_upper_vacuum, bem_panel_geometry, bem_panel_kernel1バッチ内で固定する静電場 snapshot。
bem_field_kernel_cmodulesrc/physics/field_solver/bem_field_kernel_c.f90bem_constants, bem_coulomb_fmm_core, bem_kinds, bem_panel_geometry, bem_versionC ABI wrapper for the simulator-independent Coulomb FMM field kernel.
bem_field_solvermodulesrc/physics/field_solver/bem_field_solver.f90bem_kinds, bem_constants, bem_types, bem_mpi, bem_coulomb_fmm_core, bem_string_utils, bem_runtime_modes, bem_physics_config_types粒子位置での電場評価を direct / treecode / fmm で切り替える場ソルバ。
bem_electrostatic_snapshot_evalsubmodulesrc/physics/field_solver/bem_electrostatic_snapshot_eval.f90bem_electrostatic_snapshot, bem_coulomb_fmm_periodic_nonzero_upper_vacuumbem_electrostatic_snapshot の局所電場・電位評価を実装する submodule。
bem_electrostatic_snapshot_upper_fouriersubmodulesrc/physics/field_solver/bem_electrostatic_snapshot_upper_fourier.f90bem_electrostatic_snapshot, bem_sortingDeterministic geometry-only switch selection and real-charge monitoring.
bem_field_solver_configsubmodulesrc/physics/field_solver/bem_field_solver_config.f90bem_field_solver, bem_coulomb_fmm_core, bem_physics_config_types, bem_periodic2_axesbem_field_solver の初期化・設定補助手続きを実装する submodule。
bem_field_solver_evalsubmodulesrc/physics/field_solver/bem_field_solver_eval.f90bem_field_solver, bem_coulomb_fmm_core, bem_panel_geometry, bem_panel_kernelbem_field_solver の電場評価と木走査ロジックを実装する submodule。
bem_field_solver_fmmsubmodulesrc/physics/field_solver/bem_field_solver_fmm.f90bem_field_solver, bem_coulomb_fmm_corebem_field_solver と FMM core の間のパネル幾何・電荷状態の更新を担う。
bem_field_solver_treesubmodulesrc/physics/field_solver/bem_field_solver_tree.f90bem_field_solverbem_field_solver の octree 構築・更新とメモリ管理を実装する submodule。
bem_coulomb_fmm_coremodulesrc/physics/field_solver/fmm/api/bem_coulomb_fmm_core.f90bem_kinds, bem_coulomb_fmm_types, bem_mpimesh_type や sim_config に依存しない Coulomb FMM コア API。
bem_coulomb_fmm_core_buildsubmodulesrc/physics/field_solver/fmm/api/bem_coulomb_fmm_core_build.f90bem_coulomb_fmm_core, bem_coulomb_fmm_plan_opsbem_coulomb_fmm_core の plan 構築 API ラッパ。
bem_coulomb_fmm_core_evalsubmodulesrc/physics/field_solver/fmm/api/bem_coulomb_fmm_core_eval.f90bem_coulomb_fmm_core, bem_coulomb_fmm_eval_opsbem_coulomb_fmm_core の評価 API ラッパ。
bem_coulomb_fmm_core_statesubmodulesrc/physics/field_solver/fmm/api/bem_coulomb_fmm_core_state.f90bem_coulomb_fmm_core, bem_coulomb_fmm_state_opsbem_coulomb_fmm_core の state 更新 API ラッパ。
bem_coulomb_fmm_basismodulesrc/physics/field_solver/fmm/internal/common/bem_coulomb_fmm_basis.f90bem_kinds, bem_coulomb_fmm_typesCoulomb FMM の multi-index と微分テーブル計算。
bem_coulomb_fmm_typesmodulesrc/physics/field_solver/fmm/internal/common/bem_coulomb_fmm_types.f90bem_kinds, bem_mpi, bem_panel_geometry, bem_periodic_zero_mode_plan, bem_periodic_shell_meanCoulomb FMM コアで共有する型定義。
bem_coulomb_fmm_periodicmodulesrc/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic.f90bem_kinds, bem_coulomb_fmm_typesCoulomb FMM の periodic2 境界処理。
bem_coulomb_fmm_periodic_cachemodulesrc/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_cache.f90bem_filesystem, bem_kindsVersioned stream codec for cached periodic root operators.
bem_coulomb_fmm_periodic_cell_cachemodulesrc/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_cell_cache.f90bem_kinds, bem_filesystem, bem_coulomb_fmm_types, bem_coulomb_fmm_periodic_cache-
bem_coulomb_fmm_periodic_ewaldmodulesrc/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_ewald.f90bem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_periodicperiodic2 cached operator生成用のEwald teacher。
bem_coulomb_fmm_periodic_root_opsmodulesrc/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_root_ops.f90bem_kinds, bem_mpi, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_periodic_shell_mean, bem_coulomb_fmm_periodic_cache, bem_coulomb_fmm_periodic_cell_cache, bem_regularized_qrperiodic2 root operator の前計算。
bem_regularized_qrmodulesrc/physics/field_solver/fmm/internal/periodic/bem_regularized_qr.f90bem_kindsReusable column-scaled QR factorization for ridge-regularized least squares.
bem_coulomb_fmm_eval_opsmodulesrc/physics/field_solver/fmm/internal/runtime/bem_coulomb_fmm_eval_ops.f90bem_kinds, bem_constants, bem_panel_kernel, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_tree_utils, bem_periodic_zero_mode_eval, bem_periodic_shell_meanCoulomb FMM 電場評価。
bem_coulomb_fmm_state_opsmodulesrc/physics/field_solver/fmm/internal/runtime/bem_coulomb_fmm_state_ops.f90bem_kinds, bem_constants, bem_coulomb_fmm_types, bem_coulomb_fmm_tree_utils, bem_periodic_zero_mode_plan, bem_periodic_shell_mean, bem_mpiCoulomb FMM state 更新と upward/downward pass。
bem_coulomb_fmm_plan_opsmodulesrc/physics/field_solver/fmm/internal/tree/bem_coulomb_fmm_plan_ops.f90bem_filesystem, bem_kinds, bem_sorting, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_coulomb_fmm_periodic_root_ops, bem_panel_geometry, bem_periodic_zero_mode_plan, bem_periodic_shell_mean, bem_coulomb_fmm_tree_utilsCoulomb FMM plan 構築と tree トポロジ前計算。
bem_coulomb_fmm_tree_utilsmodulesrc/physics/field_solver/fmm/internal/tree/bem_coulomb_fmm_tree_utils.f90bem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_periodicCoulomb FMM tree 構造の共通ユーティリティ。
bem_panel_kernelmodulesrc/physics/field_solver/panel/bem_panel_kernel.f90bem_kinds, bem_constants, bem_panel_geometry, bem_panel_self_termsAnalytic free-space P0 triangle potential, field, principal value, and jump.
bem_panel_quadraturemodulesrc/physics/field_solver/panel/bem_panel_quadrature.f90bem_kinds, bem_constants, bem_panel_geometry, bem_triangle_quadratureIndependent Coulomb potential/field correctness oracles for triangle panels.
bem_panel_self_termsmodulesrc/physics/field_solver/panel/bem_panel_self_terms.f90bem_kinds, bem_panel_geometryOn-surface P0 triangle potential and principal-value field integrals.
bem_coulomb_fmm_periodic_nonzero_referencemodulesrc/physics/field_solver/periodic/bem_coulomb_fmm_periodic_nonzero_reference.f90bem_kinds, bem_constants, bem_types, bem_panel_geometry, bem_triangle_quadrature-
bem_coulomb_fmm_periodic_nonzero_upper_vacuummodulesrc/physics/field_solver/periodic/bem_coulomb_fmm_periodic_nonzero_upper_vacuum.f90bem_kinds, bem_constants, bem_types上部真空領域で周期 k/=0 panel Fourier 和をsource/target因子へ分離する。
bem_periodic_shell_meanmodulesrc/physics/field_solver/periodic/bem_periodic_shell_mean.f90bem_kinds-
bem_periodic_zero_mode_cmodulesrc/physics/field_solver/periodic/bem_periodic_zero_mode_c.f90bem_kinds, bem_periodic_zero_mode_eval, bem_periodic_zero_mode_planC ABI wrapper for the physical periodic zero mode.
bem_periodic_zero_mode_evalmodulesrc/physics/field_solver/periodic/bem_periodic_zero_mode_eval.f90bem_kinds, bem_constants, bem_periodic_zero_mode_plan-
bem_periodic_zero_mode_planmodulesrc/physics/field_solver/periodic/bem_periodic_zero_mode_plan.f90bem_kinds, bem_constants, bem_types, bem_sorting-
bem_surface_closure_contractmodulesrc/physics/sheath/bem_surface_closure_contract.f90bem_kinds, bem_runtime_modesシミュレータが外部の表面電流モデルから受け取るモデル非依存の境界契約。
bem_checkpoint_contractmodulesrc/runtime/bem_checkpoint_contract.f90bem_kinds, bem_filesystemBEACH checkpoint metadata and transactional publication shared by output and restart code.
bem_matching_plane_summarymodulesrc/runtime/bem_matching_plane_summary.f90bem_kinds, bem_types, bem_string_utils-
bem_mesh_identitymodulesrc/runtime/bem_mesh_identity.f90bem_kinds, bem_typesOrdered mesh identity for mapping saved element charges.
bem_output_writermodulesrc/runtime/bem_output_writer.f90bem_kinds, bem_types, bem_app_config_types, bem_charge_ledger, bem_checkpoint_contract, bem_electrostatic_snapshot, bem_surface_current_model, bem_filesystem実行サマリ・最終CSV・履歴CSVの出力を担当するモジュール。
bem_performance_profilemodulesrc/runtime/bem_performance_profile.f90bem_kinds, bem_mpi, bem_string_utils実行フェーズごとの壁時計計測と MPI 集約出力を担う軽量プロファイラ。
bem_periodic_checkpointmodulesrc/runtime/bem_periodic_checkpoint.f90bem_kinds, bem_types, bem_app_config_types, bem_charge_ledger, bem_checkpoint_contract, bem_filesystem, bem_mpi, bem_output_writer, bem_restartaccepted batch 境界で二重化した定期チェックポイントを保存・解決する。
bem_restartmodulesrc/runtime/bem_restart.f90bem_kinds, bem_types, bem_app_config_types, bem_charge_ledger, bem_checkpoint_contract, bem_mpi, bem_string_utilsチェックポイントファイルの保存/復元を扱う補助モジュール。
bem_run_outputsmodulesrc/runtime/bem_run_outputs.f90bem_kinds, bem_app_config_types, bem_output_writer, bem_periodic_checkpoint-
integermodulesrc/runtime/bem_output_writer.f90bem_kinds, bem_types, bem_app_config_types, bem_charge_ledger, bem_checkpoint_contract, bem_electrostatic_snapshot, bem_surface_current_model, bem_filesystem-
puremodulesrc/runtime/bem_output_writer.f90bem_kinds, bem_types, bem_app_config_types, bem_charge_ledger, bem_checkpoint_contract, bem_electrostatic_snapshot, bem_surface_current_model, bem_filesystem-
bem_output_writer_filessubmodulesrc/runtime/bem_output_writer_files.f90bem_output_writer, bem_types, bem_string_utilsメッシュ・電荷・電位・台帳のCSV出力。
bem_output_writer_historysubmodulesrc/runtime/bem_output_writer_history.f90bem_output_writer, bem_string_utils, bem_filesystem, bem_performance_profile, bem_outflow_spectrum履歴ファイルの生成・再開とスナップショットの出力。
bem_output_writer_summarysubmodulesrc/runtime/bem_output_writer_summary.f90bem_output_writer, bem_irradiation_cell_contract, bem_types, bem_charge_ledger, bem_matching_plane_summary, bem_checkpoint_contract, bem_field_solver, bem_external_boundary_contract, bem_mesh_identity, bem_physics_config_types, bem_surface_current_model, bem_version, bem_filesystem, bem_string_utils実行サマリと再構築用メタデータの出力。
bem_restart_contractsubmodulesrc/runtime/bem_restart_contract.f90bem_restart, bem_mesh_identity, bem_physics_config_types, bem_checkpoint_contract再開時のスキーマ・メッシュ整合性の検証。
bem_restart_injectionsubmodulesrc/runtime/bem_restart_injection.f90bem_restart, bem_kinds, bem_mpi再開に必要なマクロ粒子端数の保存と復元(乱数は counter-based なので状態を持たない)。
bem_restart_recordssubmodulesrc/runtime/bem_restart_records.f90bem_restart, bem_kinds, bem_matching_plane_summaryチェックポイントの統計・電荷・台帳の読み込みと形式検証。
bem_app_configmodulesrc/runtime/configuration/bem_app_config.f90bem_app_config_types, bem_physics_config_types, bem_app_config_parser, bem_string_utils, bem_app_config_runtime設定型・TOMLパーサ・実行時変換ロジックを束ねる後方互換ファサード。
bem_app_config_mesh_runtimemodulesrc/runtime/configuration/bem_app_config_mesh_runtime.f90bem_kinds, bem_types, bem_templates, bem_mesh, bem_panel_surface_sides, bem_importers, bem_app_config_types, bem_string_utilsapp_config から三角形メッシュを構築する実行時変換。
bem_app_config_particle_runtimemodulesrc/runtime/configuration/bem_app_config_particle_runtime.f90bem_kinds, bem_constants, bem_types, bem_mpi, bem_electrostatic_snapshot, bem_status_codes, bem_injection, bem_external_boundary_contract, bem_app_config_types, bem_app_config_potential_runtime, bem_string_utils, bem_config_helpersapp_config から粒子源計画と粒子バッチを構築する実行時変換。
bem_app_config_potential_runtimemodulesrc/runtime/configuration/bem_app_config_potential_runtime.f90bem_irradiation_cell_contract, bem_kinds, bem_constants, bem_types, bem_electrostatic_snapshot, bem_app_config_types, bem_string_utils, bem_config_helpers粒子注入面とbox基準面の電位統計を評価する実行時変換。
bem_app_config_runtimemodulesrc/runtime/configuration/bem_app_config_runtime.f90bem_app_config_mesh_runtime, bem_app_config_particle_runtime, bem_app_config_potential_runtimeapp_config のメッシュ・粒子・電位評価を束ねる後方互換ファサード。
bem_app_config_particle_runtime_batchsubmodulesrc/runtime/configuration/bem_app_config_particle_runtime_batch.f90bem_app_config_particle_runtime, bem_particlesバッチ注入 layout の global slot を rank に連続区間で割り振り、この rank の粒子を生成する。 各 slot は (batch, species, kind, face, index) の counter-based 乱数で生成されるので、 rank 数によらずバッチ全体の粒子集合は同じになる。
bem_app_config_particle_runtime_samplingsubmodulesrc/runtime/configuration/bem_app_config_particle_runtime_sampling.f90bem_app_config_particle_runtime電位障壁に応じた reservoir 注入速度の補正。
bem_app_config_particle_runtime_slotssubmodulesrc/runtime/configuration/bem_app_config_particle_runtime_slots.f90bem_app_config_particle_runtime, bem_kinds, bem_injection, bem_injection_random, bem_counter_rngバッチ注入 layout の構築と、layout 上の slot 1 つを counter-based 乱数で生成する処理。 layout は rank に依らない global 粒子数と面ごとの速度補正を持ち、static の rank 分割と shared の slot pool の両方がこれを基に粒子を作る。
bem_charge_ledgermodulesrc/runtime/coupling/bem_charge_ledger.f90bem_kindsbatch 間の signed charge stock と移送 flux から電荷収支を集計する。
bem_irradiation_cell_contractmodulesrc/runtime/sheath/bem_irradiation_cell_contract.f90bem_kinds, bem_types, bem_app_config_types, bem_string_utils照射実験の壁・周期軸・下端モデル。汎用 kernel はこの型へ依存しない。
bem_surface_current_modelmodulesrc/runtime/sheath/bem_surface_current_model.f90bem_kinds, bem_constants, bem_app_config_types, bem_irradiation_cell_contract, bem_surface_closure_contract, bem_config_helpers, bem_outflow_spectrum, bem_string_utils外部モデルから species 別の固定表面電流を解決する。
bem_zhao_outflow_refreshmodulesrc/runtime/sheath/bem_zhao_outflow_refresh.f90bem_irradiation_cell_contract, bem_kinds, bem_constants, bem_types, bem_app_config, bem_string_utils, bem_charge_ledger, bem_surface_closure_contract, bem_runtime_modes, bem_surface_current_model, bem_mpi, bem_outflow_spectrum-
bem_particle_steppermodulesrc/runtime/simulator/bem_particle_stepper.f90bem_kinds, bem_types, bem_electrostatic_snapshot, bem_pusher, bem_collision, bem_status_codes, bem_boundary, bem_external_boundary_contract, bem_irradiation_cell_contract, bem_counter_rng同一時刻の粒子状態から、空間電場を中点評価した1ステップ候補を構築する。
bem_simulatormodulesrc/runtime/simulator/bem_simulator.f90bem_kinds, bem_types, bem_app_config, bem_physics_config_types, bem_irradiation_cell_contract, bem_config_helpers, bem_app_config_runtime, bem_electrostatic_snapshot, bem_particle_stepper, bem_status_codes, bem_collision, bem_surface_models, bem_charge_ledger, bem_string_utils, bem_external_boundary_contract, bem_simulator_workspace, bem_surface_closure_contract, bem_surface_current_model, bem_mesh_identity, bem_run_outputs, bem_output_writer, bem_mpi吸着(insulator)モデルのメインループを実行し、電荷堆積と統計更新を行う。
bem_simulator_workspacemodulesrc/runtime/simulator/bem_simulator_workspace.f90bem_kinds, bem_outflow_spectrumシミュレーション実行中に再利用するバッチ作業配列を管理する。
bem_simulator_chargesubmodulesrc/runtime/simulator/bem_simulator_charge.f90bem_simulator, bem_charge_ledger, bem_runtime_modes, bem_surface_closure_contract, bem_simulator_workspace電荷差分の確定反映、表面電流補正、バッチ電荷台帳を実装する。
bem_simulator_iosubmodulesrc/runtime/simulator/bem_simulator_io.f90bem_simulator, bem_app_config_runtime, bem_output_writerbem_simulator の進捗表示と履歴出力を実装する submodule。
bem_simulator_loopsubmodulesrc/runtime/simulator/bem_simulator_loop.f90bem_simulator, bem_app_config_runtime, bem_zhao_outflow_refresh, bem_types, bem_simulator_workspace, bem_periodic_zero_mode_plan, bem_performance_profile, bem_mpi, bem_periodic_checkpoint, bem_run_outputs, bem_output_writer, bem_charge_ledger, bem_constantsbem_simulator の主ループと粒子処理計算を実装する submodule。
bem_simulator_particlessubmodulesrc/runtime/simulator/bem_simulator_particles.f90bem_simulator, bem_constants, bem_secondary_emission, bem_config_helpers, bem_photoelectron_injection, bem_particles, bem_outflow_spectrum, bem_particle_stepper, bem_counter_rngバッチ粒子の生成と追跡を実装する。連成反復と受理判定は主ループが管理する。
bem_simulator_statssubmodulesrc/runtime/simulator/bem_simulator_stats.f90bem_simulatorbem_simulator のバッチ集計・統計更新処理を実装する submodule。
  • kind: program
  • path: app/main.f90
  • group: app
  • 内部依存: bem_kinds, bem_version, bem_types, bem_mpi, bem_performance_profile, bem_simulator, bem_restart, bem_periodic_checkpoint, bem_checkpoint_contract, bem_output_writer, bem_run_outputs, bem_app_config, bem_mesh, bem_charge_ledger, bem_electrostatic_snapshot, bem_physics_config_types
  • external dependencies: iso_fortran_env
  • 概要: 設定読込・メッシュ生成・粒子初期化・シミュレーション実行・結果出力を順に行うCLIエントリーポイント。
  • kind: module
  • path: src/config/bem_app_config_authoring.f90
  • group: src/config
  • 内部依存: bem_kinds, bem_app_config_types, bem_app_config_authoring_types
  • external dependencies: なし
  • 概要: Authoring overlay の公開入口。配列管理と領域別変換の入口を持つ。
  • kind: module
  • path: src/config/bem_app_config_authoring_types.f90
  • group: src/config
  • 内部依存: bem_kinds, bem_app_config_types
  • external dependencies: なし
  • 概要: TOML authoring overlay の型と default。実行時設定への変換処理は持たない。
  • kind: module
  • path: src/config/bem_app_config_types.f90
  • group: src/config
  • 内部依存: bem_kinds, bem_types, bem_external_boundary_contract, bem_filesystem, bem_physics_config_types
  • external dependencies: なし
  • 概要: アプリ設定の型定義と、設定由来の粒子数計算をまとめるモジュール。
  • kind: module
  • path: src/config/bem_config_helpers.f90
  • group: src/config
  • 内部依存: bem_kinds, bem_types, bem_app_config_types, bem_string_utils
  • external dependencies: なし
  • 概要: 設定型のヘルパー関数。パーサに依存せず下位層から利用可能。
  • kind: module
  • path: src/config/bem_config_layout.f90
  • group: src/config
  • 内部依存: bem_kinds, bem_string_utils, bem_config_toml, bem_config_layout_paths
  • external dependencies: tomlf, tomlf_type
  • kind: module
  • path: src/config/bem_config_layout_paths.f90
  • group: src/config
  • 内部依存: なし
  • external dependencies: なし
  • kind: module
  • path: src/config/bem_config_toml.f90
  • group: src/config
  • 内部依存: bem_kinds, bem_types, bem_app_config_types, bem_string_utils
  • external dependencies: ieee_arithmetic, iso_fortran_env, tomlf
  • 概要: TOML の基本型・固定長文字列・配列を検査して読み込む共通入口。
  • kind: module
  • path: src/config/bem_physics_config_types.f90
  • group: src/config
  • 内部依存: bem_kinds, bem_types, bem_string_utils
  • external dependencies: ieee_arithmetic
  • 概要: 場・periodic2・panel の型付き設定と旧 [sim] 設定の正規化を定義する。
  • kind: submodule
  • path: src/config/bem_app_config_authoring_domain.f90
  • group: src/config
  • parent: bem_app_config_authoring
  • 内部依存: bem_app_config_authoring, bem_types, bem_string_utils
  • external dependencies: ieee_arithmetic
  • 概要: 計算領域、境界、reservoir 設定の正規化と box の幾何条件。
  • kind: submodule
  • path: src/config/bem_app_config_authoring_geometry.f90
  • group: src/config
  • parent: bem_app_config_authoring
  • 内部依存: bem_app_config_authoring, bem_string_utils
  • external dependencies: なし
  • 概要: Mesh template の group、anchor、相対サイズを実座標・実寸へ変換する。
  • kind: submodule
  • path: src/config/bem_app_config_authoring_sources.f90
  • group: src/config
  • parent: bem_app_config_authoring
  • 内部依存: bem_app_config_authoring, bem_string_utils
  • external dependencies: なし
  • 概要: 粒子源の face_fraction 入力を注入面上の実座標へ変換する。
  • kind: module
  • path: src/config/app_config_parser/bem_app_config_parser.f90
  • group: src/config/app_config_parser
  • 内部依存: bem_kinds, bem_types, bem_app_config_types, bem_physics_config_types, bem_app_config_authoring, bem_string_utils, bem_config_layout, bem_config_toml, bem_injection_flux, bem_injection_geometry
  • external dependencies: tomlf, ieee_arithmetic
  • 概要: TOML設定ファイルを toml-f で読み込み、app_config へ反映する。
  • kind: submodule
  • path: src/config/app_config_parser/bem_app_config_parser_finalize.f90
  • group: src/config/app_config_parser
  • parent: bem_app_config_parser
  • 内部依存: bem_app_config_parser, bem_external_boundary_contract
  • external dependencies: なし
  • 概要: 設定の正規化と領域別 preflight の実行順を管理する。
  • kind: submodule
  • path: src/config/app_config_parser/bem_app_config_parser_preflight_particles.f90
  • group: src/config/app_config_parser
  • parent: bem_app_config_parser
  • 内部依存: bem_app_config_parser, bem_app_config_types, bem_config_helpers
  • external dependencies: なし
  • 概要: lint 済みの粒子種識別子と有効な粒子源の派生量を確定する。
  • kind: submodule
  • path: src/config/app_config_parser/bem_app_config_parser_preflight_sim.f90
  • group: src/config/app_config_parser
  • parent: bem_app_config_parser
  • 内部依存: bem_app_config_parser
  • external dependencies: なし
  • 概要: lint 済み設定の基本的な計算条件を確認し、時間と外部場を確定する。
  • kind: submodule
  • path: src/config/app_config_parser/bem_app_config_parser_preflight_surface.f90
  • group: src/config/app_config_parser
  • parent: bem_app_config_parser
  • 内部依存: bem_app_config_parser, bem_constants, bem_config_helpers, bem_app_config_types
  • external dependencies: iso_fortran_env
  • 概要: lint 済みの表面電流設定について、種の参照と物理モデルの成立条件を検査する。
  • kind: submodule
  • path: src/config/app_config_parser/bem_app_config_parser_read_mesh.f90
  • group: src/config/app_config_parser
  • parent: bem_app_config_parser
  • 内部依存: bem_app_config_parser
  • external dependencies: なし
  • 概要: mesh.parts と template 用 group の TOML 読み取り。
  • kind: submodule
  • path: src/config/app_config_parser/bem_app_config_parser_read_particles.f90
  • group: src/config/app_config_parser
  • parent: bem_app_config_parser
  • 内部依存: bem_app_config_parser
  • external dependencies: なし
  • 概要: 領域別の TOML 読み取り。意味検証と派生値の確定は preflight が担当する。
  • kind: submodule
  • path: src/config/app_config_parser/bem_app_config_parser_read_sim.f90
  • group: src/config/app_config_parser
  • parent: bem_app_config_parser
  • 内部依存: bem_app_config_parser
  • external dependencies: なし
  • 概要: 領域別の TOML 読み取り。意味検証と派生値の確定は preflight が担当する。
  • kind: submodule
  • path: src/config/app_config_parser/bem_app_config_parser_read_surface.f90
  • group: src/config/app_config_parser
  • parent: bem_app_config_parser
  • 内部依存: bem_app_config_parser
  • external dependencies: なし
  • 概要: 領域別の TOML 読み取り。意味検証と派生値の確定は preflight が担当する。
  • kind: submodule
  • path: src/config/app_config_parser/bem_app_config_parser_validate.f90
  • group: src/config/app_config_parser
  • parent: bem_app_config_parser
  • 内部依存: bem_app_config_parser, bem_config_helpers
  • external dependencies: なし
  • 概要: lint 済みの設定から電場・流束・粒子重みを導出し、計算結果を検査する。
  • kind: module
  • path: src/core/bem_constants.f90
  • group: src/core
  • 内部依存: bem_kinds
  • external dependencies: なし
  • 概要: シミュレーションで使用する物理定数を定義する。
  • kind: module
  • path: src/core/bem_counter_rng.f90
  • group: src/core
  • 内部依存: bem_kinds
  • external dependencies: iso_c_binding, m_pcg64_bind
  • 概要: PCG64 による counter-based 乱数。実行順序・rank・thread に依存せず、(seed, counter, draw) だけで値が決まる。 counter(粒子 slot、境界 event など任意長の整数組)と seed から Murmur3 で 128 bit の鍵を作り、 上位 64 bit を PCG64 の初期状態、下位 64 bit を stream 番号に使う。draw 番目の値は stream を draw 回進めて取り出す。 鍵の計算は 32 bit の Murmur3 を 4 系統の seed で回すもので、整数演算は 16 bit 分割の乗算で 符号付き 64 bit の範囲に収めている(Fortran の整数 overflow を起こさない)。
  • kind: module
  • path: src/core/bem_external_boundary_contract.f90
  • group: src/core
  • 内部依存: bem_kinds, bem_string_utils
  • external dependencies: なし
  • 概要: 局所 reservoir 流入と種別 kinetic 障壁を実行時契約へ正規化する。
  • kind: module
  • path: src/core/bem_filesystem.f90
  • group: src/core
  • 内部依存: なし
  • external dependencies: iso_c_binding
  • kind: module
  • path: src/core/bem_kinds.f90
  • group: src/core
  • 内部依存: なし
  • external dependencies: iso_fortran_env
  • 概要: 倍精度実数と32bit整数のkind定義を集約する基盤モジュール。
  • kind: module
  • path: src/core/bem_mpi.F90
  • group: src/core
  • 内部依存: bem_kinds
  • external dependencies: mpi, iso_c_binding
  • 概要: MPIの初期化・集約を抽象化し、非MPIビルドでは単一ランク動作へフォールバックする。
  • kind: module
  • path: src/core/bem_outflow_spectrum.f90
  • group: src/core
  • 内部依存: bem_kinds
  • external dependencies: sheath_model
  • kind: module
  • path: src/core/bem_periodic2_axes.f90
  • group: src/core
  • 内部依存: bem_kinds, bem_types, bem_string_utils
  • external dependencies: なし
  • kind: module
  • path: src/core/bem_random_stream.f90
  • group: src/core
  • 内部依存: bem_kinds, bem_counter_rng
  • external dependencies: iso_c_binding, m_pcg64_bind
  • 概要: 逐次に引く PCG64 の乱数列(Fortran 組み込み random_number の置き換え)。 seed_random_stream で seed を決めると、各 OpenMP thread は (seed, thread 番号) から作った自分の PCG64 stream を 初回の draw で開く。同じ seed・同じ thread で引けば同じ列になる。バッチ粒子の生成と粒子追跡は bem_counter_rng の counter-based 乱数を使い、この列は単体の sampling API と test だけが使う。
  • kind: module
  • path: src/core/bem_runtime_modes.f90
  • group: src/core
  • 内部依存: bem_kinds, bem_string_utils
  • external dependencies: なし
  • kind: module
  • path: src/core/bem_sorting.f90
  • group: src/core
  • 内部依存: bem_kinds
  • external dependencies: なし
  • 概要: In-place O(n log n) heapsorts shared by plan builders.
  • kind: module
  • path: src/core/bem_status_codes.f90
  • group: src/core
  • 内部依存: bem_kinds
  • external dependencies: なし
  • kind: module
  • path: src/core/bem_string_utils.f90
  • group: src/core
  • 内部依存: なし
  • external dependencies: なし
  • 概要: ASCII 文字列操作ユーティリティ。
  • kind: module
  • path: src/core/bem_types.f90
  • group: src/core
  • 内部依存: bem_kinds, bem_outflow_spectrum
  • external dependencies: なし
  • 概要: シミュレーション設定・統計・メッシュ・粒子・衝突情報の主要データ型を定義する。
  • kind: module
  • path: src/core/bem_version.F90
  • group: src/core
  • 内部依存: なし
  • external dependencies: なし
  • 概要: BEACH build metadata stamped by build.sh.
  • kind: module
  • path: src/mesh/bem_importers.f90
  • group: src/mesh
  • 内部依存: bem_kinds, bem_types, bem_mesh
  • external dependencies: iso_fortran_env
  • 概要: OBJメッシュを走査・解析し、内部 mesh_type へ変換するインポートモジュール。
  • kind: module
  • path: src/mesh/bem_mesh.f90
  • group: src/mesh
  • 内部依存: bem_kinds, bem_types, bem_periodic2_axes, bem_panel_geometry, bem_triangle_quadrature
  • external dependencies: ieee_arithmetic
  • 概要: 三角形メッシュ幾何量(重心・法線・AABB・代表長)を前計算して保持するモジュール。
  • kind: module
  • path: src/mesh/bem_templates.f90
  • group: src/mesh
  • 内部依存: bem_kinds, bem_types, bem_mesh
  • external dependencies: なし
  • 概要: 平面/穴あき平面/円板/リング/箱/円柱/球(UV・icosphere)テンプレートから三角形メッシュを生成するユーティリティ。
  • kind: module
  • path: src/mesh/panel/bem_panel_geometry.f90
  • group: src/mesh/panel
  • 内部依存: bem_kinds
  • external dependencies: ieee_arithmetic
  • 概要: Ordered triangle geometry and exact Cartesian surface moments.
  • kind: module
  • path: src/mesh/panel/bem_panel_surface_sides.f90
  • group: src/mesh/panel
  • 内部依存: bem_kinds, bem_types, bem_string_utils
  • external dependencies: ieee_arithmetic
  • 概要: Resolve physical vacuum sides without changing ordered triangle winding.
  • kind: module
  • path: src/mesh/panel/bem_triangle_quadrature.f90
  • group: src/mesh/panel
  • 内部依存: bem_kinds, bem_constants, bem_panel_geometry
  • external dependencies: なし
  • 概要: Triangle cubature rules and Gauss-Duffy quadrature plans.
  • kind: module
  • path: src/particles/bem_injection.f90
  • group: src/particles
  • 内部依存: bem_injection_random, bem_injection_geometry, bem_injection_flux, bem_photoelectron_injection
  • external dependencies: なし
  • 概要: 粒子注入APIを責務別internal moduleから再公開する互換facade。
  • kind: module
  • path: src/particles/bem_particles.f90
  • group: src/particles
  • 内部依存: bem_kinds, bem_types
  • external dependencies: なし
  • 概要: 粒子SoAデータ構造の初期化を提供するモジュール。
  • kind: module
  • path: src/particles/bem_secondary_emission.f90
  • group: src/particles
  • 内部依存: bem_kinds, bem_counter_rng
  • external dependencies: ieee_arithmetic
  • 概要: 吸収に伴う SEE の収率・丸めと、OpenMP thread ごとの生成粒子 buffer。
  • kind: module
  • path: src/particles/injection/bem_injection_flux.f90
  • group: src/particles/injection
  • 内部依存: bem_kinds, bem_constants, bem_injection_geometry, bem_injection_random, bem_counter_rng
  • external dependencies: ieee_arithmetic
  • 概要: Maxwell reservoirの流束、macro粒子数、面速度sampling。
  • kind: module
  • path: src/particles/injection/bem_injection_geometry.f90
  • group: src/particles/injection
  • 内部依存: bem_kinds, bem_string_utils
  • external dependencies: なし
  • 概要: box面注入で共有する面軸と開口geometryの解決。
  • kind: module
  • path: src/particles/injection/bem_injection_random.f90
  • group: src/particles/injection
  • 内部依存: bem_kinds, bem_constants, bem_counter_rng, bem_random_stream
  • external dependencies: なし
  • 概要: 粒子注入で共有する乱数初期化と基本分布sampling。
  • kind: module
  • path: src/particles/injection/bem_photoelectron_injection.f90
  • group: src/particles/injection
  • 内部依存: bem_kinds, bem_constants, bem_types, bem_boundary, bem_collision, bem_status_codes, bem_string_utils, bem_injection_flux, bem_injection_geometry, bem_injection_random, bem_counter_rng
  • external dependencies: なし
  • 概要: 光線追跡による光電子放出位置と速度のsampling。
  • kind: module
  • path: src/physics/bem_boundary.f90
  • group: src/physics
  • 内部依存: bem_kinds, bem_types, bem_status_codes
  • external dependencies: ieee_arithmetic
  • 概要: シミュレーションボックス境界(流出/反射/面内再配置反射/周期)を適用するモジュール。
  • kind: module
  • path: src/physics/bem_collision.f90
  • group: src/physics
  • 内部依存: bem_kinds, bem_types, bem_string_utils, bem_status_codes
  • external dependencies: ieee_arithmetic, iso_fortran_env
  • 概要: 粒子軌道セグメントと三角形要素の交差判定を提供する衝突検出モジュール。
  • kind: module
  • path: src/physics/bem_pusher.f90
  • group: src/physics
  • 内部依存: bem_kinds
  • external dependencies: なし
  • 概要: 荷電粒子の時間発展にBoris法を適用する運動方程式ソルバ。
  • kind: module
  • path: src/physics/bem_surface_models.f90
  • group: src/physics
  • 内部依存: bem_kinds, bem_types, bem_electrostatic_snapshot
  • external dependencies: ieee_arithmetic
  • 概要: 表面モデルごとの電荷更新後処理を扱うモジュール。
  • kind: submodule
  • path: src/physics/bem_surface_models_conductor.f90
  • group: src/physics
  • parent: bem_surface_models
  • 内部依存: bem_surface_models, bem_constants
  • external dependencies: なし
  • 概要: bem_surface_models の浮遊導体電荷再配分を実装する submodule。
  • kind: module
  • path: src/physics/field_solver/bem_electrostatic_snapshot.f90
  • group: src/physics/field_solver
  • 内部依存: bem_kinds, bem_constants, bem_types, bem_mpi, bem_field_solver, bem_physics_config_types, bem_string_utils, bem_runtime_modes, bem_periodic_zero_mode_plan, bem_periodic_zero_mode_eval, bem_coulomb_fmm_periodic_nonzero_reference, bem_coulomb_fmm_periodic_nonzero_upper_vacuum, bem_panel_geometry, bem_panel_kernel
  • external dependencies: ieee_arithmetic
  • 概要: 1バッチ内で固定する静電場 snapshot。
  • kind: module
  • path: src/physics/field_solver/bem_field_kernel_c.f90
  • group: src/physics/field_solver
  • 内部依存: bem_constants, bem_coulomb_fmm_core, bem_kinds, bem_panel_geometry, bem_version
  • external dependencies: ieee_arithmetic, iso_c_binding
  • 概要: C ABI wrapper for the simulator-independent Coulomb FMM field kernel.
  • kind: module
  • path: src/physics/field_solver/bem_field_solver.f90
  • group: src/physics/field_solver
  • 内部依存: bem_kinds, bem_constants, bem_types, bem_mpi, bem_coulomb_fmm_core, bem_string_utils, bem_runtime_modes, bem_physics_config_types
  • external dependencies: ieee_arithmetic
  • 概要: 粒子位置での電場評価を direct / treecode / fmm で切り替える場ソルバ。
  • kind: submodule
  • path: src/physics/field_solver/bem_electrostatic_snapshot_eval.f90
  • group: src/physics/field_solver
  • parent: bem_electrostatic_snapshot
  • 内部依存: bem_electrostatic_snapshot, bem_coulomb_fmm_periodic_nonzero_upper_vacuum
  • external dependencies: なし
  • 概要: bem_electrostatic_snapshot の局所電場・電位評価を実装する submodule。
  • kind: submodule
  • path: src/physics/field_solver/bem_electrostatic_snapshot_upper_fourier.f90
  • group: src/physics/field_solver
  • parent: bem_electrostatic_snapshot
  • 内部依存: bem_electrostatic_snapshot, bem_sorting
  • external dependencies: なし
  • 概要: Deterministic geometry-only switch selection and real-charge monitoring.
  • kind: submodule
  • path: src/physics/field_solver/bem_field_solver_config.f90
  • group: src/physics/field_solver
  • parent: bem_field_solver
  • 内部依存: bem_field_solver, bem_coulomb_fmm_core, bem_physics_config_types, bem_periodic2_axes
  • external dependencies: なし
  • 概要: bem_field_solver の初期化・設定補助手続きを実装する submodule。
  • kind: submodule
  • path: src/physics/field_solver/bem_field_solver_eval.f90
  • group: src/physics/field_solver
  • parent: bem_field_solver
  • 内部依存: bem_field_solver, bem_coulomb_fmm_core, bem_panel_geometry, bem_panel_kernel
  • external dependencies: なし
  • 概要: bem_field_solver の電場評価と木走査ロジックを実装する submodule。
  • kind: submodule
  • path: src/physics/field_solver/bem_field_solver_fmm.f90
  • group: src/physics/field_solver
  • parent: bem_field_solver
  • 内部依存: bem_field_solver, bem_coulomb_fmm_core
  • external dependencies: なし
  • 概要: bem_field_solver と FMM core の間のパネル幾何・電荷状態の更新を担う。
  • kind: submodule
  • path: src/physics/field_solver/bem_field_solver_tree.f90
  • group: src/physics/field_solver
  • parent: bem_field_solver
  • 内部依存: bem_field_solver
  • external dependencies: なし
  • 概要: bem_field_solver の octree 構築・更新とメモリ管理を実装する submodule。
  • kind: module
  • path: src/physics/field_solver/fmm/api/bem_coulomb_fmm_core.f90
  • group: src/physics/field_solver/fmm/api
  • 内部依存: bem_kinds, bem_coulomb_fmm_types, bem_mpi
  • external dependencies: なし
  • 概要: mesh_type や sim_config に依存しない Coulomb FMM コア API。
  • kind: submodule
  • path: src/physics/field_solver/fmm/api/bem_coulomb_fmm_core_build.f90
  • group: src/physics/field_solver/fmm/api
  • parent: bem_coulomb_fmm_core
  • 内部依存: bem_coulomb_fmm_core, bem_coulomb_fmm_plan_ops
  • external dependencies: なし
  • 概要: bem_coulomb_fmm_core の plan 構築 API ラッパ。
  • kind: submodule
  • path: src/physics/field_solver/fmm/api/bem_coulomb_fmm_core_eval.f90
  • group: src/physics/field_solver/fmm/api
  • parent: bem_coulomb_fmm_core
  • 内部依存: bem_coulomb_fmm_core, bem_coulomb_fmm_eval_ops
  • external dependencies: なし
  • 概要: bem_coulomb_fmm_core の評価 API ラッパ。
  • kind: submodule
  • path: src/physics/field_solver/fmm/api/bem_coulomb_fmm_core_state.f90
  • group: src/physics/field_solver/fmm/api
  • parent: bem_coulomb_fmm_core
  • 内部依存: bem_coulomb_fmm_core, bem_coulomb_fmm_state_ops
  • external dependencies: なし
  • 概要: bem_coulomb_fmm_core の state 更新 API ラッパ。
  • kind: module
  • path: src/physics/field_solver/fmm/internal/common/bem_coulomb_fmm_basis.f90
  • group: src/physics/field_solver/fmm/internal/common
  • 内部依存: bem_kinds, bem_coulomb_fmm_types
  • external dependencies: なし
  • 概要: Coulomb FMM の multi-index と微分テーブル計算。
  • kind: module
  • path: src/physics/field_solver/fmm/internal/common/bem_coulomb_fmm_types.f90
  • group: src/physics/field_solver/fmm/internal/common
  • 内部依存: bem_kinds, bem_mpi, bem_panel_geometry, bem_periodic_zero_mode_plan, bem_periodic_shell_mean
  • external dependencies: なし
  • 概要: Coulomb FMM コアで共有する型定義。
  • kind: module
  • path: src/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic.f90
  • group: src/physics/field_solver/fmm/internal/periodic
  • 内部依存: bem_kinds, bem_coulomb_fmm_types
  • external dependencies: なし
  • 概要: Coulomb FMM の periodic2 境界処理。
  • kind: module
  • path: src/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_cache.f90
  • group: src/physics/field_solver/fmm/internal/periodic
  • 内部依存: bem_filesystem, bem_kinds
  • external dependencies: iso_fortran_env
  • 概要: Versioned stream codec for cached periodic root operators.
  • kind: module
  • path: src/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_cell_cache.f90
  • group: src/physics/field_solver/fmm/internal/periodic
  • 内部依存: bem_kinds, bem_filesystem, bem_coulomb_fmm_types, bem_coulomb_fmm_periodic_cache
  • external dependencies: なし
  • kind: module
  • path: src/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_ewald.f90
  • group: src/physics/field_solver/fmm/internal/periodic
  • 内部依存: bem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_periodic
  • external dependencies: なし
  • 概要: periodic2 cached operator生成用のEwald teacher。
  • kind: module
  • path: src/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_root_ops.f90
  • group: src/physics/field_solver/fmm/internal/periodic
  • 内部依存: bem_kinds, bem_mpi, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_periodic_shell_mean, bem_coulomb_fmm_periodic_cache, bem_coulomb_fmm_periodic_cell_cache, bem_regularized_qr
  • external dependencies: なし
  • 概要: periodic2 root operator の前計算。
  • kind: module
  • path: src/physics/field_solver/fmm/internal/periodic/bem_regularized_qr.f90
  • group: src/physics/field_solver/fmm/internal/periodic
  • 内部依存: bem_kinds
  • external dependencies: なし
  • 概要: Reusable column-scaled QR factorization for ridge-regularized least squares.
  • kind: module
  • path: src/physics/field_solver/fmm/internal/runtime/bem_coulomb_fmm_eval_ops.f90
  • group: src/physics/field_solver/fmm/internal/runtime
  • 内部依存: bem_kinds, bem_constants, bem_panel_kernel, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_tree_utils, bem_periodic_zero_mode_eval, bem_periodic_shell_mean
  • external dependencies: なし
  • 概要: Coulomb FMM 電場評価。
  • kind: module
  • path: src/physics/field_solver/fmm/internal/runtime/bem_coulomb_fmm_state_ops.f90
  • group: src/physics/field_solver/fmm/internal/runtime
  • 内部依存: bem_kinds, bem_constants, bem_coulomb_fmm_types, bem_coulomb_fmm_tree_utils, bem_periodic_zero_mode_plan, bem_periodic_shell_mean, bem_mpi
  • external dependencies: なし
  • 概要: Coulomb FMM state 更新と upward/downward pass。
  • kind: module
  • path: src/physics/field_solver/fmm/internal/tree/bem_coulomb_fmm_plan_ops.f90
  • group: src/physics/field_solver/fmm/internal/tree
  • 内部依存: bem_filesystem, bem_kinds, bem_sorting, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_coulomb_fmm_periodic_root_ops, bem_panel_geometry, bem_periodic_zero_mode_plan, bem_periodic_shell_mean, bem_coulomb_fmm_tree_utils
  • external dependencies: ieee_arithmetic
  • 概要: Coulomb FMM plan 構築と tree トポロジ前計算。
  • kind: module
  • path: src/physics/field_solver/fmm/internal/tree/bem_coulomb_fmm_tree_utils.f90
  • group: src/physics/field_solver/fmm/internal/tree
  • 内部依存: bem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_periodic
  • external dependencies: なし
  • 概要: Coulomb FMM tree 構造の共通ユーティリティ。
  • kind: module
  • path: src/physics/field_solver/panel/bem_panel_kernel.f90
  • group: src/physics/field_solver/panel
  • 内部依存: bem_kinds, bem_constants, bem_panel_geometry, bem_panel_self_terms
  • external dependencies: なし
  • 概要: Analytic free-space P0 triangle potential, field, principal value, and jump.
  • kind: module
  • path: src/physics/field_solver/panel/bem_panel_quadrature.f90
  • group: src/physics/field_solver/panel
  • 内部依存: bem_kinds, bem_constants, bem_panel_geometry, bem_triangle_quadrature
  • external dependencies: なし
  • 概要: Independent Coulomb potential/field correctness oracles for triangle panels.
  • kind: module
  • path: src/physics/field_solver/panel/bem_panel_self_terms.f90
  • group: src/physics/field_solver/panel
  • 内部依存: bem_kinds, bem_panel_geometry
  • external dependencies: なし
  • 概要: On-surface P0 triangle potential and principal-value field integrals.

bem_coulomb_fmm_periodic_nonzero_reference

Section titled “bem_coulomb_fmm_periodic_nonzero_reference”
  • kind: module
  • path: src/physics/field_solver/periodic/bem_coulomb_fmm_periodic_nonzero_reference.f90
  • group: src/physics/field_solver/periodic
  • 内部依存: bem_kinds, bem_constants, bem_types, bem_panel_geometry, bem_triangle_quadrature
  • external dependencies: ieee_arithmetic

bem_coulomb_fmm_periodic_nonzero_upper_vacuum

Section titled “bem_coulomb_fmm_periodic_nonzero_upper_vacuum”
  • kind: module
  • path: src/physics/field_solver/periodic/bem_coulomb_fmm_periodic_nonzero_upper_vacuum.f90
  • group: src/physics/field_solver/periodic
  • 内部依存: bem_kinds, bem_constants, bem_types
  • external dependencies: ieee_arithmetic
  • 概要: 上部真空領域で周期 k/=0 panel Fourier 和をsource/target因子へ分離する。
  • kind: module
  • path: src/physics/field_solver/periodic/bem_periodic_shell_mean.f90
  • group: src/physics/field_solver/periodic
  • 内部依存: bem_kinds
  • external dependencies: なし
  • kind: module
  • path: src/physics/field_solver/periodic/bem_periodic_zero_mode_c.f90
  • group: src/physics/field_solver/periodic
  • 内部依存: bem_kinds, bem_periodic_zero_mode_eval, bem_periodic_zero_mode_plan
  • external dependencies: ieee_arithmetic, iso_c_binding
  • 概要: C ABI wrapper for the physical periodic zero mode.
  • kind: module
  • path: src/physics/field_solver/periodic/bem_periodic_zero_mode_eval.f90
  • group: src/physics/field_solver/periodic
  • 内部依存: bem_kinds, bem_constants, bem_periodic_zero_mode_plan
  • external dependencies: なし
  • kind: module
  • path: src/physics/field_solver/periodic/bem_periodic_zero_mode_plan.f90
  • group: src/physics/field_solver/periodic
  • 内部依存: bem_kinds, bem_constants, bem_types, bem_sorting
  • external dependencies: ieee_arithmetic
  • kind: module
  • path: src/physics/sheath/bem_surface_closure_contract.f90
  • group: src/physics/sheath
  • 内部依存: bem_kinds, bem_runtime_modes
  • external dependencies: なし
  • 概要: シミュレータが外部の表面電流モデルから受け取るモデル非依存の境界契約。
  • kind: module
  • path: src/runtime/bem_checkpoint_contract.f90
  • group: src/runtime
  • 内部依存: bem_kinds, bem_filesystem
  • external dependencies: なし
  • 概要: BEACH checkpoint metadata and transactional publication shared by output and restart code.
  • kind: module
  • path: src/runtime/bem_matching_plane_summary.f90
  • group: src/runtime
  • 内部依存: bem_kinds, bem_types, bem_string_utils
  • external dependencies: なし
  • kind: module
  • path: src/runtime/bem_mesh_identity.f90
  • group: src/runtime
  • 内部依存: bem_kinds, bem_types
  • external dependencies: なし
  • 概要: Ordered mesh identity for mapping saved element charges.
  • kind: module
  • path: src/runtime/bem_output_writer.f90
  • group: src/runtime
  • 内部依存: bem_kinds, bem_types, bem_app_config_types, bem_charge_ledger, bem_checkpoint_contract, bem_electrostatic_snapshot, bem_surface_current_model, bem_filesystem
  • external dependencies: なし
  • 概要: 実行サマリ・最終CSV・履歴CSVの出力を担当するモジュール。
  • kind: module
  • path: src/runtime/bem_performance_profile.f90
  • group: src/runtime
  • 内部依存: bem_kinds, bem_mpi, bem_string_utils
  • external dependencies: iso_fortran_env
  • 概要: 実行フェーズごとの壁時計計測と MPI 集約出力を担う軽量プロファイラ。
  • kind: module
  • path: src/runtime/bem_periodic_checkpoint.f90
  • group: src/runtime
  • 内部依存: bem_kinds, bem_types, bem_app_config_types, bem_charge_ledger, bem_checkpoint_contract, bem_filesystem, bem_mpi, bem_output_writer, bem_restart
  • external dependencies: なし
  • 概要: accepted batch 境界で二重化した定期チェックポイントを保存・解決する。
  • kind: module
  • path: src/runtime/bem_restart.f90
  • group: src/runtime
  • 内部依存: bem_kinds, bem_types, bem_app_config_types, bem_charge_ledger, bem_checkpoint_contract, bem_mpi, bem_string_utils
  • external dependencies: iso_fortran_env, ieee_arithmetic
  • 概要: チェックポイントファイルの保存/復元を扱う補助モジュール。
  • kind: module
  • path: src/runtime/bem_run_outputs.f90
  • group: src/runtime
  • 内部依存: bem_kinds, bem_app_config_types, bem_output_writer, bem_periodic_checkpoint
  • external dependencies: なし
  • kind: module
  • path: src/runtime/bem_output_writer.f90
  • group: src/runtime
  • 内部依存: bem_kinds, bem_types, bem_app_config_types, bem_charge_ledger, bem_checkpoint_contract, bem_electrostatic_snapshot, bem_surface_current_model, bem_filesystem
  • external dependencies: なし
  • kind: module
  • path: src/runtime/bem_output_writer.f90
  • group: src/runtime
  • 内部依存: bem_kinds, bem_types, bem_app_config_types, bem_charge_ledger, bem_checkpoint_contract, bem_electrostatic_snapshot, bem_surface_current_model, bem_filesystem
  • external dependencies: なし
  • kind: submodule
  • path: src/runtime/bem_output_writer_files.f90
  • group: src/runtime
  • parent: bem_output_writer
  • 内部依存: bem_output_writer, bem_types, bem_string_utils
  • external dependencies: なし
  • 概要: メッシュ・電荷・電位・台帳のCSV出力。
  • kind: submodule
  • path: src/runtime/bem_output_writer_history.f90
  • group: src/runtime
  • parent: bem_output_writer
  • 内部依存: bem_output_writer, bem_string_utils, bem_filesystem, bem_performance_profile, bem_outflow_spectrum
  • external dependencies: なし
  • 概要: 履歴ファイルの生成・再開とスナップショットの出力。
  • kind: submodule
  • path: src/runtime/bem_output_writer_summary.f90
  • group: src/runtime
  • parent: bem_output_writer
  • 内部依存: bem_output_writer, bem_irradiation_cell_contract, bem_types, bem_charge_ledger, bem_matching_plane_summary, bem_checkpoint_contract, bem_field_solver, bem_external_boundary_contract, bem_mesh_identity, bem_physics_config_types, bem_surface_current_model, bem_version, bem_filesystem, bem_string_utils
  • external dependencies: なし
  • 概要: 実行サマリと再構築用メタデータの出力。
  • kind: submodule
  • path: src/runtime/bem_restart_contract.f90
  • group: src/runtime
  • parent: bem_restart
  • 内部依存: bem_restart, bem_mesh_identity, bem_physics_config_types, bem_checkpoint_contract
  • external dependencies: なし
  • 概要: 再開時のスキーマ・メッシュ整合性の検証。
  • kind: submodule
  • path: src/runtime/bem_restart_injection.f90
  • group: src/runtime
  • parent: bem_restart
  • 内部依存: bem_restart, bem_kinds, bem_mpi
  • external dependencies: なし
  • 概要: 再開に必要なマクロ粒子端数の保存と復元(乱数は counter-based なので状態を持たない)。
  • kind: submodule
  • path: src/runtime/bem_restart_records.f90
  • group: src/runtime
  • parent: bem_restart
  • 内部依存: bem_restart, bem_kinds, bem_matching_plane_summary
  • external dependencies: なし
  • 概要: チェックポイントの統計・電荷・台帳の読み込みと形式検証。
  • kind: module
  • path: src/runtime/configuration/bem_app_config.f90
  • group: src/runtime/configuration
  • 内部依存: bem_app_config_types, bem_physics_config_types, bem_app_config_parser, bem_string_utils, bem_app_config_runtime
  • external dependencies: なし
  • 概要: 設定型・TOMLパーサ・実行時変換ロジックを束ねる後方互換ファサード。
  • kind: module
  • path: src/runtime/configuration/bem_app_config_mesh_runtime.f90
  • group: src/runtime/configuration
  • 内部依存: bem_kinds, bem_types, bem_templates, bem_mesh, bem_panel_surface_sides, bem_importers, bem_app_config_types, bem_string_utils
  • external dependencies: なし
  • 概要: app_config から三角形メッシュを構築する実行時変換。
  • kind: module
  • path: src/runtime/configuration/bem_app_config_particle_runtime.f90
  • group: src/runtime/configuration
  • 内部依存: bem_kinds, bem_constants, bem_types, bem_mpi, bem_electrostatic_snapshot, bem_status_codes, bem_injection, bem_external_boundary_contract, bem_app_config_types, bem_app_config_potential_runtime, bem_string_utils, bem_config_helpers
  • external dependencies: iso_fortran_env, ieee_arithmetic
  • 概要: app_config から粒子源計画と粒子バッチを構築する実行時変換。
  • kind: module
  • path: src/runtime/configuration/bem_app_config_potential_runtime.f90
  • group: src/runtime/configuration
  • 内部依存: bem_irradiation_cell_contract, bem_kinds, bem_constants, bem_types, bem_electrostatic_snapshot, bem_app_config_types, bem_string_utils, bem_config_helpers
  • external dependencies: iso_fortran_env, ieee_arithmetic
  • 概要: 粒子注入面とbox基準面の電位統計を評価する実行時変換。
  • kind: module
  • path: src/runtime/configuration/bem_app_config_runtime.f90
  • group: src/runtime/configuration
  • 内部依存: bem_app_config_mesh_runtime, bem_app_config_particle_runtime, bem_app_config_potential_runtime
  • external dependencies: なし
  • 概要: app_config のメッシュ・粒子・電位評価を束ねる後方互換ファサード。
  • kind: submodule
  • path: src/runtime/configuration/bem_app_config_particle_runtime_batch.f90
  • group: src/runtime/configuration
  • parent: bem_app_config_particle_runtime
  • 内部依存: bem_app_config_particle_runtime, bem_particles
  • external dependencies: なし
  • 概要: バッチ注入 layout の global slot を rank に連続区間で割り振り、この rank の粒子を生成する。 各 slot は (batch, species, kind, face, index) の counter-based 乱数で生成されるので、 rank 数によらずバッチ全体の粒子集合は同じになる。
  • kind: submodule
  • path: src/runtime/configuration/bem_app_config_particle_runtime_sampling.f90
  • group: src/runtime/configuration
  • parent: bem_app_config_particle_runtime
  • 内部依存: bem_app_config_particle_runtime
  • external dependencies: なし
  • 概要: 電位障壁に応じた reservoir 注入速度の補正。
  • kind: submodule
  • path: src/runtime/configuration/bem_app_config_particle_runtime_slots.f90
  • group: src/runtime/configuration
  • parent: bem_app_config_particle_runtime
  • 内部依存: bem_app_config_particle_runtime, bem_kinds, bem_injection, bem_injection_random, bem_counter_rng
  • external dependencies: なし
  • 概要: バッチ注入 layout の構築と、layout 上の slot 1 つを counter-based 乱数で生成する処理。 layout は rank に依らない global 粒子数と面ごとの速度補正を持ち、static の rank 分割と shared の slot pool の両方がこれを基に粒子を作る。
  • kind: module
  • path: src/runtime/coupling/bem_charge_ledger.f90
  • group: src/runtime/coupling
  • 内部依存: bem_kinds
  • external dependencies: ieee_arithmetic
  • 概要: batch 間の signed charge stock と移送 flux から電荷収支を集計する。
  • kind: module
  • path: src/runtime/sheath/bem_irradiation_cell_contract.f90
  • group: src/runtime/sheath
  • 内部依存: bem_kinds, bem_types, bem_app_config_types, bem_string_utils
  • external dependencies: なし
  • 概要: 照射実験の壁・周期軸・下端モデル。汎用 kernel はこの型へ依存しない。
  • kind: module
  • path: src/runtime/sheath/bem_surface_current_model.f90
  • group: src/runtime/sheath
  • 内部依存: bem_kinds, bem_constants, bem_app_config_types, bem_irradiation_cell_contract, bem_surface_closure_contract, bem_config_helpers, bem_outflow_spectrum, bem_string_utils
  • external dependencies: ieee_arithmetic, sheath_model
  • 概要: 外部モデルから species 別の固定表面電流を解決する。
  • kind: module
  • path: src/runtime/sheath/bem_zhao_outflow_refresh.f90
  • group: src/runtime/sheath
  • 内部依存: bem_irradiation_cell_contract, bem_kinds, bem_constants, bem_types, bem_app_config, bem_string_utils, bem_charge_ledger, bem_surface_closure_contract, bem_runtime_modes, bem_surface_current_model, bem_mpi, bem_outflow_spectrum
  • external dependencies: iso_fortran_env, sheath_model
  • kind: module
  • path: src/runtime/simulator/bem_particle_stepper.f90
  • group: src/runtime/simulator
  • 内部依存: bem_kinds, bem_types, bem_electrostatic_snapshot, bem_pusher, bem_collision, bem_status_codes, bem_boundary, bem_external_boundary_contract, bem_irradiation_cell_contract, bem_counter_rng
  • external dependencies: ieee_arithmetic
  • 概要: 同一時刻の粒子状態から、空間電場を中点評価した1ステップ候補を構築する。
  • kind: module
  • path: src/runtime/simulator/bem_simulator.f90
  • group: src/runtime/simulator
  • 内部依存: bem_kinds, bem_types, bem_app_config, bem_physics_config_types, bem_irradiation_cell_contract, bem_config_helpers, bem_app_config_runtime, bem_electrostatic_snapshot, bem_particle_stepper, bem_status_codes, bem_collision, bem_surface_models, bem_charge_ledger, bem_string_utils, bem_external_boundary_contract, bem_simulator_workspace, bem_surface_closure_contract, bem_surface_current_model, bem_mesh_identity, bem_run_outputs, bem_output_writer, bem_mpi
  • external dependencies: iso_fortran_env, ieee_arithmetic
  • 概要: 吸着(insulator)モデルのメインループを実行し、電荷堆積と統計更新を行う。
  • kind: module
  • path: src/runtime/simulator/bem_simulator_workspace.f90
  • group: src/runtime/simulator
  • 内部依存: bem_kinds, bem_outflow_spectrum
  • external dependencies: なし
  • 概要: シミュレーション実行中に再利用するバッチ作業配列を管理する。
  • kind: submodule
  • path: src/runtime/simulator/bem_simulator_charge.f90
  • group: src/runtime/simulator
  • parent: bem_simulator
  • 内部依存: bem_simulator, bem_charge_ledger, bem_runtime_modes, bem_surface_closure_contract, bem_simulator_workspace
  • external dependencies: iso_fortran_env
  • 概要: 電荷差分の確定反映、表面電流補正、バッチ電荷台帳を実装する。
  • kind: submodule
  • path: src/runtime/simulator/bem_simulator_io.f90
  • group: src/runtime/simulator
  • parent: bem_simulator
  • 内部依存: bem_simulator, bem_app_config_runtime, bem_output_writer
  • external dependencies: なし
  • 概要: bem_simulator の進捗表示と履歴出力を実装する submodule。
  • kind: submodule
  • path: src/runtime/simulator/bem_simulator_loop.f90
  • group: src/runtime/simulator
  • parent: bem_simulator
  • 内部依存: bem_simulator, bem_app_config_runtime, bem_zhao_outflow_refresh, bem_types, bem_simulator_workspace, bem_periodic_zero_mode_plan, bem_performance_profile, bem_mpi, bem_periodic_checkpoint, bem_run_outputs, bem_output_writer, bem_charge_ledger, bem_constants
  • external dependencies: iso_fortran_env
  • 概要: bem_simulator の主ループと粒子処理計算を実装する submodule。
  • kind: submodule
  • path: src/runtime/simulator/bem_simulator_particles.f90
  • group: src/runtime/simulator
  • parent: bem_simulator
  • 内部依存: bem_simulator, bem_constants, bem_secondary_emission, bem_config_helpers, bem_photoelectron_injection, bem_particles, bem_outflow_spectrum, bem_particle_stepper, bem_counter_rng
  • external dependencies: なし
  • 概要: バッチ粒子の生成と追跡を実装する。連成反復と受理判定は主ループが管理する。
  • kind: submodule
  • path: src/runtime/simulator/bem_simulator_stats.f90
  • group: src/runtime/simulator
  • parent: bem_simulator
  • 内部依存: bem_simulator
  • external dependencies: なし
  • 概要: bem_simulator のバッチ集計・統計更新処理を実装する submodule。