このページは
tools/generate_fortran_dependency_report.pyから自動生成しています。
実線は use 依存、破線は submodule(parent) の親参照を表します。
| ディレクトリ | エンティティ数 | 内部依存数 |
|---|---|---|
app |
1 | 9 |
src/config |
4 | 22 |
src/config/app_config_parser |
3 | 8 |
src/core |
5 | 3 |
src/mesh |
3 | 9 |
src/particles |
3 | 10 |
src/physics |
4 | 9 |
src/physics/field_solver |
4 | 16 |
src/physics/field_solver/fmm/api |
4 | 8 |
src/physics/field_solver/fmm/internal/common |
2 | 3 |
src/physics/field_solver/fmm/internal/periodic |
3 | 11 |
src/physics/field_solver/fmm/internal/runtime |
2 | 9 |
src/physics/field_solver/fmm/internal/tree |
2 | 10 |
src/physics/sheath |
2 | 11 |
src/runtime |
3 | 10 |
src/runtime/simulator |
4 | 12 |
| エンティティ | kind | 被依存数 |
|---|---|---|
bem_kinds |
module |
34 |
bem_types |
module |
17 |
bem_string_utils |
module |
13 |
bem_coulomb_fmm_types |
module |
10 |
bem_coulomb_fmm_core |
module |
7 |
bem_app_config_types |
module |
6 |
bem_constants |
module |
6 |
bem_coulomb_fmm_periodic |
module |
6 |
bem_mpi |
module |
5 |
bem_coulomb_fmm_periodic_ewald |
module |
4 |
| エンティティ | kind | パス | 内部依存 | 概要 |
|---|---|---|---|---|
main |
program |
app/main.f90 |
bem_kinds, bem_types, bem_mpi, bem_performance_profile, bem_simulator, bem_restart, bem_output_writer, bem_app_config, bem_mesh |
設定読込・メッシュ生成・粒子初期化・シミュレーション実行・結果出力を順に行うCLIエントリーポイント。 |
bem_app_config |
module |
src/config/bem_app_config.f90 |
bem_app_config_types, bem_app_config_parser, bem_string_utils, bem_app_config_runtime |
設定型・TOMLパーサ・実行時変換ロジックを束ねる後方互換ファサード。 |
bem_app_config_runtime |
module |
src/config/bem_app_config_runtime.f90 |
bem_kinds, bem_types, bem_mpi, bem_field, bem_templates, bem_mesh, bem_importers, bem_injection, bem_particles, bem_sheath_injection_model, bem_app_config_types, bem_string_utils, bem_config_helpers |
app_config からメッシュ・粒子群を構築する実行時変換モジュール。 |
bem_app_config_types |
module |
src/config/bem_app_config_types.f90 |
bem_kinds, bem_types |
アプリ設定の型定義と、設定由来の粒子数計算をまとめるモジュール。 |
bem_config_helpers |
module |
src/config/bem_config_helpers.f90 |
bem_kinds, bem_app_config_types, bem_string_utils |
設定型のヘルパー関数。パーサに依存せず下位層から利用可能。 |
bem_app_config_parser |
module |
src/config/app_config_parser/bem_app_config_parser.f90 |
bem_kinds, bem_constants, bem_types, bem_app_config_types, bem_string_utils |
TOML風設定ファイルを app_config へ読み込む軽量パーサ。 |
bem_app_config_parser_parse_utils |
submodule |
src/config/app_config_parser/bem_app_config_parser_parse_utils.f90 |
bem_app_config_parser |
bem_app_config_parser の文字列パース補助手続きを実装する submodule。 |
bem_app_config_parser_validate |
submodule |
src/config/app_config_parser/bem_app_config_parser_validate.f90 |
bem_app_config_parser, bem_config_helpers |
bem_app_config_parser の入力検証・物理量導出手続きを実装する submodule。 |
bem_constants |
module |
src/core/bem_constants.f90 |
bem_kinds |
シミュレーションで使用する物理定数を定義する。 |
bem_kinds |
module |
src/core/bem_kinds.f90 |
- | 倍精度実数と32bit整数のkind定義を集約する基盤モジュール。 |
bem_mpi |
module |
src/core/bem_mpi.F90 |
bem_kinds |
MPIの初期化・集約を抽象化し、非MPIビルドでは単一ランク動作へフォールバックする。 |
bem_string_utils |
module |
src/core/bem_string_utils.f90 |
- | ASCII 文字列操作ユーティリティ。 |
bem_types |
module |
src/core/bem_types.f90 |
bem_kinds |
シミュレーション設定・統計・メッシュ・粒子・衝突情報の主要データ型を定義する。 |
bem_importers |
module |
src/mesh/bem_importers.f90 |
bem_kinds, bem_types, bem_mesh |
OBJメッシュを走査・解析し、内部 mesh_type へ変換するインポートモジュール。 |
bem_mesh |
module |
src/mesh/bem_mesh.f90 |
bem_kinds, bem_types, bem_string_utils |
三角形メッシュ幾何量(重心・法線・AABB・代表長)を前計算して保持するモジュール。 |
bem_templates |
module |
src/mesh/bem_templates.f90 |
bem_kinds, bem_types, bem_mesh |
平面/穴あき平面/円板/リング/箱/円柱/球テンプレートから三角形メッシュを生成するユーティリティ。 |
bem_injection |
module |
src/particles/bem_injection.f90 |
bem_kinds, bem_constants, bem_particles, bem_types, bem_boundary, bem_collision, bem_string_utils |
乱数シード設定と粒子位置/速度サンプリングを担う粒子注入モジュール。 |
bem_particles |
module |
src/particles/bem_particles.f90 |
bem_kinds, bem_types |
粒子SoAデータ構造の初期化を提供するモジュール。 |
bem_sheath_injection_model |
module |
src/particles/bem_sheath_injection_model.f90 |
bem_sheath_runtime |
互換性維持のためのシース注入ラッパモジュール。 |
bem_boundary |
module |
src/physics/bem_boundary.f90 |
bem_kinds, bem_types |
シミュレーションボックス境界(流出/反射/周期)を適用するモジュール。 |
bem_collision |
module |
src/physics/bem_collision.f90 |
bem_kinds, bem_types, bem_string_utils |
粒子軌道セグメントと三角形要素の交差判定を提供する衝突検出モジュール。 |
bem_field |
module |
src/physics/bem_field.f90 |
bem_kinds, bem_constants, bem_types |
境界要素に蓄積した電荷から観測点の電場を評価する場計算モジュール。 |
bem_pusher |
module |
src/physics/bem_pusher.f90 |
bem_kinds |
荷電粒子の時間発展にBoris法を適用する運動方程式ソルバ。 |
bem_field_solver |
module |
src/physics/field_solver/bem_field_solver.f90 |
bem_kinds, bem_constants, bem_types, bem_field, bem_coulomb_fmm_core, bem_string_utils |
粒子位置での電場評価を direct / treecode / fmm で切り替える場ソルバ。 |
bem_field_solver_config |
submodule |
src/physics/field_solver/bem_field_solver_config.f90 |
bem_field_solver, bem_coulomb_fmm_core |
bem_field_solver の初期化・設定補助手続きを実装する submodule。 |
bem_field_solver_eval |
submodule |
src/physics/field_solver/bem_field_solver_eval.f90 |
bem_field_solver, bem_coulomb_fmm_core, bem_coulomb_fmm_types, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_string_utils |
bem_field_solver の電場評価と木走査ロジックを実装する submodule。 |
bem_field_solver_tree |
submodule |
src/physics/field_solver/bem_field_solver_tree.f90 |
bem_field_solver, bem_coulomb_fmm_core |
bem_field_solver の octree 構築・更新とメモリ管理を実装する submodule。 |
bem_coulomb_fmm_core |
module |
src/physics/field_solver/fmm/api/bem_coulomb_fmm_core.f90 |
bem_kinds, bem_coulomb_fmm_types |
mesh_type や sim_config に依存しない Coulomb FMM コア API。 |
bem_coulomb_fmm_core_build |
submodule |
src/physics/field_solver/fmm/api/bem_coulomb_fmm_core_build.f90 |
bem_coulomb_fmm_core, bem_coulomb_fmm_plan_ops |
bem_coulomb_fmm_core の plan 構築 API ラッパ。 |
bem_coulomb_fmm_core_eval |
submodule |
src/physics/field_solver/fmm/api/bem_coulomb_fmm_core_eval.f90 |
bem_coulomb_fmm_core, bem_coulomb_fmm_eval_ops |
bem_coulomb_fmm_core の評価 API ラッパ。 |
bem_coulomb_fmm_core_state |
submodule |
src/physics/field_solver/fmm/api/bem_coulomb_fmm_core_state.f90 |
bem_coulomb_fmm_core, bem_coulomb_fmm_state_ops |
bem_coulomb_fmm_core の state 更新 API ラッパ。 |
bem_coulomb_fmm_basis |
module |
src/physics/field_solver/fmm/internal/common/bem_coulomb_fmm_basis.f90 |
bem_kinds, bem_coulomb_fmm_types |
Coulomb FMM の multi-index と微分テーブル計算。 |
bem_coulomb_fmm_types |
module |
src/physics/field_solver/fmm/internal/common/bem_coulomb_fmm_types.f90 |
bem_kinds |
Coulomb FMM コアで共有する型定義。 |
bem_coulomb_fmm_periodic |
module |
src/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic.f90 |
bem_kinds, bem_coulomb_fmm_types |
Coulomb FMM の periodic2 境界処理。 |
bem_coulomb_fmm_periodic_ewald |
module |
src/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_ewald.f90 |
bem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_periodic |
periodic2 build-only Ewald oracle と fallback exact correction。 |
bem_coulomb_fmm_periodic_root_ops |
module |
src/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_root_ops.f90 |
bem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_coulomb_fmm_tree_utils |
periodic2 root operator の前計算。 |
bem_coulomb_fmm_eval_ops |
module |
src/physics/field_solver/fmm/internal/runtime/bem_coulomb_fmm_eval_ops.f90 |
bem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_coulomb_fmm_tree_utils |
Coulomb FMM 電場評価。 |
bem_coulomb_fmm_state_ops |
module |
src/physics/field_solver/fmm/internal/runtime/bem_coulomb_fmm_state_ops.f90 |
bem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_tree_utils |
Coulomb FMM state 更新と upward/downward pass。 |
bem_coulomb_fmm_plan_ops |
module |
src/physics/field_solver/fmm/internal/tree/bem_coulomb_fmm_plan_ops.f90 |
bem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_coulomb_fmm_periodic_root_ops, bem_coulomb_fmm_tree_utils |
Coulomb FMM plan 構築と tree トポロジ前計算。 |
bem_coulomb_fmm_tree_utils |
module |
src/physics/field_solver/fmm/internal/tree/bem_coulomb_fmm_tree_utils.f90 |
bem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_periodic |
Coulomb FMM tree 構造の共通ユーティリティ。 |
bem_sheath_model_core |
module |
src/physics/sheath/bem_sheath_model_core.f90 |
bem_kinds, bem_constants, bem_injection, bem_string_utils |
Zhao 系シース数値モデルの core 実装。 |
bem_sheath_runtime |
module |
src/physics/sheath/bem_sheath_runtime.f90 |
bem_kinds, bem_constants, bem_types, bem_app_config_types, bem_string_utils, bem_config_helpers, bem_sheath_model_core |
シース数値モデルと app_config / 注入ランタイムの橋渡しを行うモジュール。 |
bem_output_writer |
module |
src/runtime/bem_output_writer.f90 |
bem_kinds, bem_types, bem_app_config_types, bem_string_utils |
実行サマリ・最終CSV・履歴CSVの出力を担当するモジュール。 |
bem_performance_profile |
module |
src/runtime/bem_performance_profile.f90 |
bem_kinds, bem_mpi, bem_string_utils |
実行フェーズごとの壁時計計測と MPI 集約出力を担う軽量プロファイラ。 |
bem_restart |
module |
src/runtime/bem_restart.f90 |
bem_kinds, bem_types, bem_mpi |
出力ディレクトリに保存したチェックポイントの保存/復元を扱う補助モジュール。 |
bem_simulator |
module |
src/runtime/simulator/bem_simulator.f90 |
bem_kinds, bem_types, bem_app_config, bem_field_solver, bem_pusher, bem_collision, bem_boundary, bem_mpi |
吸着(insulator)モデルのメインループを実行し、電荷堆積と統計更新を行うモジュール。 |
bem_simulator_io |
submodule |
src/runtime/simulator/bem_simulator_io.f90 |
bem_simulator |
bem_simulator の進捗表示と履歴出力を実装する submodule。 |
bem_simulator_loop |
submodule |
src/runtime/simulator/bem_simulator_loop.f90 |
bem_simulator, bem_performance_profile |
bem_simulator の主ループと粒子処理計算を実装する submodule。 |
bem_simulator_stats |
submodule |
src/runtime/simulator/bem_simulator_stats.f90 |
bem_simulator |
bem_simulator のバッチ集計・統計更新処理を実装する submodule。 |
mainprogramapp/main.f90appbem_kinds, bem_types, bem_mpi, bem_performance_profile, bem_simulator, bem_restart, bem_output_writer, bem_app_config, bem_meshbem_app_configmodulesrc/config/bem_app_config.f90src/configbem_app_config_types, bem_app_config_parser, bem_string_utils, bem_app_config_runtimebem_app_config_runtimemodulesrc/config/bem_app_config_runtime.f90src/configbem_kinds, bem_types, bem_mpi, bem_field, bem_templates, bem_mesh, bem_importers, bem_injection, bem_particles, bem_sheath_injection_model, bem_app_config_types, bem_string_utils, bem_config_helpersieee_arithmeticapp_config からメッシュ・粒子群を構築する実行時変換モジュール。bem_app_config_typesmodulesrc/config/bem_app_config_types.f90src/configbem_kinds, bem_typesbem_config_helpersmodulesrc/config/bem_config_helpers.f90src/configbem_kinds, bem_app_config_types, bem_string_utilsbem_app_config_parsermodulesrc/config/app_config_parser/bem_app_config_parser.f90src/config/app_config_parserbem_kinds, bem_constants, bem_types, bem_app_config_types, bem_string_utilsieee_arithmeticapp_config へ読み込む軽量パーサ。bem_app_config_parser_parse_utilssubmodulesrc/config/app_config_parser/bem_app_config_parser_parse_utils.f90src/config/app_config_parserbem_app_config_parserbem_app_config_parserbem_app_config_parser の文字列パース補助手続きを実装する submodule。bem_app_config_parser_validatesubmodulesrc/config/app_config_parser/bem_app_config_parser_validate.f90src/config/app_config_parserbem_app_config_parserbem_app_config_parser, bem_config_helpersbem_app_config_parser の入力検証・物理量導出手続きを実装する submodule。bem_constantsmodulesrc/core/bem_constants.f90src/corebem_kindsbem_kindsmodulesrc/core/bem_kinds.f90src/coreiso_fortran_envbem_mpimodulesrc/core/bem_mpi.F90src/corebem_kindsbem_string_utilsmodulesrc/core/bem_string_utils.f90src/corebem_typesmodulesrc/core/bem_types.f90src/corebem_kindsbem_importersmodulesrc/mesh/bem_importers.f90src/meshbem_kinds, bem_types, bem_meshmesh_type へ変換するインポートモジュール。bem_meshmodulesrc/mesh/bem_mesh.f90src/meshbem_kinds, bem_types, bem_string_utilsbem_templatesmodulesrc/mesh/bem_templates.f90src/meshbem_kinds, bem_types, bem_meshbem_injectionmodulesrc/particles/bem_injection.f90src/particlesbem_kinds, bem_constants, bem_particles, bem_types, bem_boundary, bem_collision, bem_string_utilsbem_particlesmodulesrc/particles/bem_particles.f90src/particlesbem_kinds, bem_typesbem_sheath_injection_modelmodulesrc/particles/bem_sheath_injection_model.f90src/particlesbem_sheath_runtimebem_boundarymodulesrc/physics/bem_boundary.f90src/physicsbem_kinds, bem_typesbem_collisionmodulesrc/physics/bem_collision.f90src/physicsbem_kinds, bem_types, bem_string_utilsbem_fieldmodulesrc/physics/bem_field.f90src/physicsbem_kinds, bem_constants, bem_typesbem_pushermodulesrc/physics/bem_pusher.f90src/physicsbem_kindsbem_field_solvermodulesrc/physics/field_solver/bem_field_solver.f90src/physics/field_solverbem_kinds, bem_constants, bem_types, bem_field, bem_coulomb_fmm_core, bem_string_utilsbem_field_solver_configsubmodulesrc/physics/field_solver/bem_field_solver_config.f90src/physics/field_solverbem_field_solverbem_field_solver, bem_coulomb_fmm_corebem_field_solver の初期化・設定補助手続きを実装する submodule。bem_field_solver_evalsubmodulesrc/physics/field_solver/bem_field_solver_eval.f90src/physics/field_solverbem_field_solverbem_field_solver, bem_coulomb_fmm_core, bem_coulomb_fmm_types, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_string_utilsbem_field_solver の電場評価と木走査ロジックを実装する submodule。bem_field_solver_treesubmodulesrc/physics/field_solver/bem_field_solver_tree.f90src/physics/field_solverbem_field_solverbem_field_solver, bem_coulomb_fmm_corebem_field_solver の octree 構築・更新とメモリ管理を実装する submodule。bem_coulomb_fmm_coremodulesrc/physics/field_solver/fmm/api/bem_coulomb_fmm_core.f90src/physics/field_solver/fmm/apibem_kinds, bem_coulomb_fmm_typesmesh_type や sim_config に依存しない Coulomb FMM コア API。bem_coulomb_fmm_core_buildsubmodulesrc/physics/field_solver/fmm/api/bem_coulomb_fmm_core_build.f90src/physics/field_solver/fmm/apibem_coulomb_fmm_corebem_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.f90src/physics/field_solver/fmm/apibem_coulomb_fmm_corebem_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.f90src/physics/field_solver/fmm/apibem_coulomb_fmm_corebem_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.f90src/physics/field_solver/fmm/internal/commonbem_kinds, bem_coulomb_fmm_typesbem_coulomb_fmm_typesmodulesrc/physics/field_solver/fmm/internal/common/bem_coulomb_fmm_types.f90src/physics/field_solver/fmm/internal/commonbem_kindsbem_coulomb_fmm_periodicmodulesrc/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic.f90src/physics/field_solver/fmm/internal/periodicbem_kinds, bem_coulomb_fmm_typesbem_coulomb_fmm_periodic_ewaldmodulesrc/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_ewald.f90src/physics/field_solver/fmm/internal/periodicbem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_periodicbem_coulomb_fmm_periodic_root_opsmodulesrc/physics/field_solver/fmm/internal/periodic/bem_coulomb_fmm_periodic_root_ops.f90src/physics/field_solver/fmm/internal/periodicbem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_coulomb_fmm_tree_utilsbem_coulomb_fmm_eval_opsmodulesrc/physics/field_solver/fmm/internal/runtime/bem_coulomb_fmm_eval_ops.f90src/physics/field_solver/fmm/internal/runtimebem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_coulomb_fmm_tree_utilsbem_coulomb_fmm_state_opsmodulesrc/physics/field_solver/fmm/internal/runtime/bem_coulomb_fmm_state_ops.f90src/physics/field_solver/fmm/internal/runtimebem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_tree_utilsbem_coulomb_fmm_plan_opsmodulesrc/physics/field_solver/fmm/internal/tree/bem_coulomb_fmm_plan_ops.f90src/physics/field_solver/fmm/internal/treebem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_basis, bem_coulomb_fmm_periodic, bem_coulomb_fmm_periodic_ewald, bem_coulomb_fmm_periodic_root_ops, bem_coulomb_fmm_tree_utilsbem_coulomb_fmm_tree_utilsmodulesrc/physics/field_solver/fmm/internal/tree/bem_coulomb_fmm_tree_utils.f90src/physics/field_solver/fmm/internal/treebem_kinds, bem_coulomb_fmm_types, bem_coulomb_fmm_periodicbem_sheath_model_coremodulesrc/physics/sheath/bem_sheath_model_core.f90src/physics/sheathbem_kinds, bem_constants, bem_injection, bem_string_utilsieee_arithmeticbem_sheath_runtimemodulesrc/physics/sheath/bem_sheath_runtime.f90src/physics/sheathbem_kinds, bem_constants, bem_types, bem_app_config_types, bem_string_utils, bem_config_helpers, bem_sheath_model_corebem_output_writermodulesrc/runtime/bem_output_writer.f90src/runtimebem_kinds, bem_types, bem_app_config_types, bem_string_utilsbem_performance_profilemodulesrc/runtime/bem_performance_profile.f90src/runtimebem_kinds, bem_mpi, bem_string_utilsiso_fortran_envbem_restartmodulesrc/runtime/bem_restart.f90src/runtimebem_kinds, bem_types, bem_mpibem_simulatormodulesrc/runtime/simulator/bem_simulator.f90src/runtime/simulatorbem_kinds, bem_types, bem_app_config, bem_field_solver, bem_pusher, bem_collision, bem_boundary, bem_mpiiso_fortran_envbem_simulator_iosubmodulesrc/runtime/simulator/bem_simulator_io.f90src/runtime/simulatorbem_simulatorbem_simulatorbem_simulator の進捗表示と履歴出力を実装する submodule。bem_simulator_loopsubmodulesrc/runtime/simulator/bem_simulator_loop.f90src/runtime/simulatorbem_simulatorbem_simulator, bem_performance_profilebem_simulator の主ループと粒子処理計算を実装する submodule。bem_simulator_statssubmodulesrc/runtime/simulator/bem_simulator_stats.f90src/runtime/simulatorbem_simulatorbem_simulatorbem_simulator のバッチ集計・統計更新処理を実装する submodule。