Modules

ModuleSource FileDescription
bem_app_config bem_app_config.f90

設定型・TOMLパーサ・実行時変換ロジックを束ねる後方互換ファサード。

bem_app_config_parser bem_app_config_parser.f90

TOML風設定ファイルを app_config へ読み込む軽量パーサ。

   bem_app_config_parser_parse_utils bem_app_config_parser_parse_utils.f90

bem_app_config_parser の文字列パース補助手続きを実装する submodule。

   bem_app_config_parser_validate bem_app_config_parser_validate.f90

bem_app_config_parser の入力検証・物理量導出手続きを実装する submodule。

bem_app_config_runtime bem_app_config_runtime.f90

app_config からメッシュ・粒子群を構築する実行時変換モジュール。

bem_app_config_types bem_app_config_types.f90

アプリ設定の型定義と、設定由来の粒子数計算をまとめるモジュール。

bem_boundary bem_boundary.f90

シミュレーションボックス境界(流出/反射/周期)を適用するモジュール。

bem_collision bem_collision.f90

粒子軌道セグメントと三角形要素の交差判定を提供する衝突検出モジュール。

bem_config_helpers bem_config_helpers.f90

設定型のヘルパー関数。パーサに依存せず下位層から利用可能。

bem_constants bem_constants.f90

シミュレーションで使用する物理定数を定義する。

bem_coulomb_fmm_basis bem_coulomb_fmm_basis.f90

Coulomb FMM の multi-index と微分テーブル計算。

bem_coulomb_fmm_core bem_coulomb_fmm_core.f90

mesh_typesim_config に依存しない Coulomb FMM コア API。

   bem_coulomb_fmm_core_eval bem_coulomb_fmm_core_eval.f90

bem_coulomb_fmm_core の評価 API ラッパ。

   bem_coulomb_fmm_core_state bem_coulomb_fmm_core_state.f90

bem_coulomb_fmm_core の state 更新 API ラッパ。

   bem_coulomb_fmm_core_build bem_coulomb_fmm_core_build.f90

bem_coulomb_fmm_core の plan 構築 API ラッパ。

bem_coulomb_fmm_eval_ops bem_coulomb_fmm_eval_ops.f90

Coulomb FMM 電場評価。

bem_coulomb_fmm_periodic bem_coulomb_fmm_periodic.f90

Coulomb FMM の periodic2 境界処理。

bem_coulomb_fmm_periodic_ewald bem_coulomb_fmm_periodic_ewald.f90

periodic2 build-only Ewald oracle と fallback exact correction。

bem_coulomb_fmm_periodic_root_ops bem_coulomb_fmm_periodic_root_ops.f90

periodic2 root operator の前計算。

bem_coulomb_fmm_plan_ops bem_coulomb_fmm_plan_ops.f90

Coulomb FMM plan 構築と tree トポロジ前計算。

bem_coulomb_fmm_state_ops bem_coulomb_fmm_state_ops.f90

Coulomb FMM state 更新と upward/downward pass。

bem_coulomb_fmm_tree_utils bem_coulomb_fmm_tree_utils.f90

Coulomb FMM tree 構造の共通ユーティリティ。

bem_coulomb_fmm_types bem_coulomb_fmm_types.f90

Coulomb FMM コアで共有する型定義。

bem_field bem_field.f90

境界要素に蓄積した電荷から観測点の電場を評価する場計算モジュール。

bem_field_solver bem_field_solver.f90

粒子位置での電場評価を direct / treecode / fmm で切り替える場ソルバ。

   bem_field_solver_config bem_field_solver_config.f90

bem_field_solver の初期化・設定補助手続きを実装する submodule。

   bem_field_solver_eval bem_field_solver_eval.f90

bem_field_solver の電場評価と木走査ロジックを実装する submodule。

   bem_field_solver_tree bem_field_solver_tree.f90

bem_field_solver の octree 構築・更新とメモリ管理を実装する submodule。

bem_importers bem_importers.f90

OBJメッシュを走査・解析し、内部 mesh_type へ変換するインポートモジュール。

bem_injection bem_injection.f90

乱数シード設定と粒子位置/速度サンプリングを担う粒子注入モジュール。

bem_kinds bem_kinds.f90

倍精度実数と32bit整数のkind定義を集約する基盤モジュール。

bem_mesh bem_mesh.f90

三角形メッシュ幾何量(重心・法線・AABB・代表長)を前計算して保持するモジュール。

bem_mpi bem_mpi.F90

MPIの初期化・集約を抽象化し、非MPIビルドでは単一ランク動作へフォールバックする。

bem_output_writer bem_output_writer.f90

実行サマリ・最終CSV・履歴CSVの出力を担当するモジュール。

bem_particles bem_particles.f90

粒子SoAデータ構造の初期化を提供するモジュール。

bem_performance_profile bem_performance_profile.f90

実行フェーズごとの壁時計計測と MPI 集約出力を担う軽量プロファイラ。

bem_pusher bem_pusher.f90

荷電粒子の時間発展にBoris法を適用する運動方程式ソルバ。

bem_restart bem_restart.f90

出力ディレクトリに保存したチェックポイントの保存/復元を扱う補助モジュール。

bem_sheath_injection_model bem_sheath_injection_model.f90

互換性維持のためのシース注入ラッパモジュール。

bem_sheath_model_core bem_sheath_model_core.f90

Zhao 系シース数値モデルの core 実装。

bem_sheath_runtime bem_sheath_runtime.f90

シース数値モデルと app_config / 注入ランタイムの橋渡しを行うモジュール。

bem_simulator bem_simulator.f90

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

   bem_simulator_io bem_simulator_io.f90

bem_simulator の進捗表示と履歴出力を実装する submodule。

   bem_simulator_loop bem_simulator_loop.f90

bem_simulator の主ループと粒子処理計算を実装する submodule。

   bem_simulator_stats bem_simulator_stats.f90

bem_simulator のバッチ集計・統計更新処理を実装する submodule。

bem_string_utils bem_string_utils.f90

ASCII 文字列操作ユーティリティ。

bem_templates bem_templates.f90

平面/穴あき平面/円板/リング/箱/円柱/球テンプレートから三角形メッシュを生成するユーティリティ。

bem_types bem_types.f90

シミュレーション設定・統計・メッシュ・粒子・衝突情報の主要データ型を定義する。

module~~graph~~ModuleGraph module~bem_app_config bem_app_config module~bem_app_config_parser bem_app_config_parser module~bem_app_config->module~bem_app_config_parser module~bem_app_config_runtime bem_app_config_runtime module~bem_app_config->module~bem_app_config_runtime module~bem_app_config_types bem_app_config_types module~bem_app_config->module~bem_app_config_types module~bem_string_utils bem_string_utils module~bem_app_config->module~bem_string_utils module~bem_app_config_parser->module~bem_app_config_types module~bem_constants bem_constants module~bem_app_config_parser->module~bem_constants module~bem_kinds bem_kinds module~bem_app_config_parser->module~bem_kinds module~bem_app_config_parser->module~bem_string_utils module~bem_types bem_types module~bem_app_config_parser->module~bem_types ieee_arithmetic ieee_arithmetic module~bem_app_config_parser->ieee_arithmetic module~bem_app_config_parser_parse_utils bem_app_config_parser_parse_utils module~bem_app_config_parser_parse_utils->module~bem_app_config_parser module~bem_app_config_parser_validate bem_app_config_parser_validate module~bem_app_config_parser_validate->module~bem_app_config_parser module~bem_config_helpers bem_config_helpers module~bem_app_config_parser_validate->module~bem_config_helpers module~bem_app_config_runtime->module~bem_app_config_types module~bem_app_config_runtime->module~bem_config_helpers module~bem_field bem_field module~bem_app_config_runtime->module~bem_field module~bem_importers bem_importers module~bem_app_config_runtime->module~bem_importers module~bem_injection bem_injection module~bem_app_config_runtime->module~bem_injection module~bem_app_config_runtime->module~bem_kinds module~bem_mesh bem_mesh module~bem_app_config_runtime->module~bem_mesh module~bem_mpi bem_mpi module~bem_app_config_runtime->module~bem_mpi module~bem_particles bem_particles module~bem_app_config_runtime->module~bem_particles module~bem_sheath_injection_model bem_sheath_injection_model module~bem_app_config_runtime->module~bem_sheath_injection_model module~bem_app_config_runtime->module~bem_string_utils module~bem_templates bem_templates module~bem_app_config_runtime->module~bem_templates module~bem_app_config_runtime->module~bem_types module~bem_app_config_runtime->ieee_arithmetic module~bem_app_config_types->module~bem_kinds module~bem_app_config_types->module~bem_types module~bem_boundary bem_boundary module~bem_boundary->module~bem_kinds module~bem_boundary->module~bem_types module~bem_collision bem_collision 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_app_config_types module~bem_config_helpers->module~bem_kinds module~bem_config_helpers->module~bem_string_utils module~bem_constants->module~bem_kinds module~bem_coulomb_fmm_basis bem_coulomb_fmm_basis module~bem_coulomb_fmm_types bem_coulomb_fmm_types module~bem_coulomb_fmm_basis->module~bem_coulomb_fmm_types module~bem_coulomb_fmm_basis->module~bem_kinds module~bem_coulomb_fmm_core bem_coulomb_fmm_core module~bem_coulomb_fmm_core->module~bem_coulomb_fmm_types module~bem_coulomb_fmm_core->module~bem_kinds module~bem_coulomb_fmm_core_build bem_coulomb_fmm_core_build module~bem_coulomb_fmm_core_build->module~bem_coulomb_fmm_core module~bem_coulomb_fmm_plan_ops bem_coulomb_fmm_plan_ops module~bem_coulomb_fmm_core_build->module~bem_coulomb_fmm_plan_ops module~bem_coulomb_fmm_core_eval bem_coulomb_fmm_core_eval module~bem_coulomb_fmm_core_eval->module~bem_coulomb_fmm_core module~bem_coulomb_fmm_eval_ops bem_coulomb_fmm_eval_ops module~bem_coulomb_fmm_core_eval->module~bem_coulomb_fmm_eval_ops module~bem_coulomb_fmm_core_state bem_coulomb_fmm_core_state module~bem_coulomb_fmm_core_state->module~bem_coulomb_fmm_core module~bem_coulomb_fmm_state_ops bem_coulomb_fmm_state_ops module~bem_coulomb_fmm_core_state->module~bem_coulomb_fmm_state_ops module~bem_coulomb_fmm_eval_ops->module~bem_coulomb_fmm_basis module~bem_coulomb_fmm_periodic bem_coulomb_fmm_periodic module~bem_coulomb_fmm_eval_ops->module~bem_coulomb_fmm_periodic module~bem_coulomb_fmm_periodic_ewald bem_coulomb_fmm_periodic_ewald module~bem_coulomb_fmm_eval_ops->module~bem_coulomb_fmm_periodic_ewald module~bem_coulomb_fmm_tree_utils bem_coulomb_fmm_tree_utils module~bem_coulomb_fmm_eval_ops->module~bem_coulomb_fmm_tree_utils module~bem_coulomb_fmm_eval_ops->module~bem_coulomb_fmm_types module~bem_coulomb_fmm_eval_ops->module~bem_kinds module~bem_coulomb_fmm_periodic->module~bem_coulomb_fmm_types module~bem_coulomb_fmm_periodic->module~bem_kinds module~bem_coulomb_fmm_periodic_ewald->module~bem_coulomb_fmm_periodic module~bem_coulomb_fmm_periodic_ewald->module~bem_coulomb_fmm_types module~bem_coulomb_fmm_periodic_ewald->module~bem_kinds module~bem_coulomb_fmm_periodic_root_ops bem_coulomb_fmm_periodic_root_ops module~bem_coulomb_fmm_periodic_root_ops->module~bem_coulomb_fmm_basis module~bem_coulomb_fmm_periodic_root_ops->module~bem_coulomb_fmm_periodic module~bem_coulomb_fmm_periodic_root_ops->module~bem_coulomb_fmm_periodic_ewald module~bem_coulomb_fmm_periodic_root_ops->module~bem_coulomb_fmm_tree_utils module~bem_coulomb_fmm_periodic_root_ops->module~bem_coulomb_fmm_types module~bem_coulomb_fmm_periodic_root_ops->module~bem_kinds module~bem_coulomb_fmm_plan_ops->module~bem_coulomb_fmm_basis module~bem_coulomb_fmm_plan_ops->module~bem_coulomb_fmm_periodic module~bem_coulomb_fmm_plan_ops->module~bem_coulomb_fmm_periodic_ewald module~bem_coulomb_fmm_plan_ops->module~bem_coulomb_fmm_periodic_root_ops module~bem_coulomb_fmm_plan_ops->module~bem_coulomb_fmm_tree_utils module~bem_coulomb_fmm_plan_ops->module~bem_coulomb_fmm_types module~bem_coulomb_fmm_plan_ops->module~bem_kinds module~bem_coulomb_fmm_state_ops->module~bem_coulomb_fmm_tree_utils module~bem_coulomb_fmm_state_ops->module~bem_coulomb_fmm_types module~bem_coulomb_fmm_state_ops->module~bem_kinds module~bem_coulomb_fmm_tree_utils->module~bem_coulomb_fmm_periodic module~bem_coulomb_fmm_tree_utils->module~bem_coulomb_fmm_types module~bem_coulomb_fmm_tree_utils->module~bem_kinds module~bem_coulomb_fmm_types->module~bem_kinds module~bem_field->module~bem_constants module~bem_field->module~bem_kinds module~bem_field->module~bem_types module~bem_field_solver bem_field_solver module~bem_field_solver->module~bem_constants module~bem_field_solver->module~bem_coulomb_fmm_core module~bem_field_solver->module~bem_field module~bem_field_solver->module~bem_kinds module~bem_field_solver->module~bem_string_utils module~bem_field_solver->module~bem_types module~bem_field_solver_config bem_field_solver_config module~bem_field_solver_config->module~bem_coulomb_fmm_core module~bem_field_solver_config->module~bem_field_solver module~bem_field_solver_eval bem_field_solver_eval module~bem_field_solver_eval->module~bem_coulomb_fmm_core module~bem_field_solver_eval->module~bem_coulomb_fmm_periodic module~bem_field_solver_eval->module~bem_coulomb_fmm_periodic_ewald module~bem_field_solver_eval->module~bem_coulomb_fmm_types module~bem_field_solver_eval->module~bem_field_solver module~bem_field_solver_eval->module~bem_string_utils module~bem_field_solver_tree bem_field_solver_tree module~bem_field_solver_tree->module~bem_coulomb_fmm_core module~bem_field_solver_tree->module~bem_field_solver module~bem_importers->module~bem_kinds module~bem_importers->module~bem_mesh module~bem_importers->module~bem_types module~bem_injection->module~bem_boundary module~bem_injection->module~bem_collision module~bem_injection->module~bem_constants module~bem_injection->module~bem_kinds module~bem_injection->module~bem_particles module~bem_injection->module~bem_string_utils module~bem_injection->module~bem_types iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env module~bem_mesh->module~bem_kinds module~bem_mesh->module~bem_string_utils module~bem_mesh->module~bem_types module~bem_mpi->module~bem_kinds module~bem_output_writer bem_output_writer module~bem_output_writer->module~bem_app_config_types module~bem_output_writer->module~bem_kinds module~bem_output_writer->module~bem_string_utils module~bem_output_writer->module~bem_types module~bem_particles->module~bem_kinds module~bem_particles->module~bem_types module~bem_performance_profile bem_performance_profile module~bem_performance_profile->module~bem_kinds module~bem_performance_profile->module~bem_mpi module~bem_performance_profile->module~bem_string_utils module~bem_performance_profile->iso_fortran_env module~bem_pusher bem_pusher module~bem_pusher->module~bem_kinds module~bem_restart bem_restart module~bem_restart->module~bem_kinds module~bem_restart->module~bem_mpi module~bem_restart->module~bem_types module~bem_sheath_runtime bem_sheath_runtime module~bem_sheath_injection_model->module~bem_sheath_runtime module~bem_sheath_model_core bem_sheath_model_core module~bem_sheath_model_core->module~bem_constants module~bem_sheath_model_core->module~bem_injection module~bem_sheath_model_core->module~bem_kinds module~bem_sheath_model_core->module~bem_string_utils module~bem_sheath_model_core->ieee_arithmetic module~bem_sheath_runtime->module~bem_app_config_types module~bem_sheath_runtime->module~bem_config_helpers module~bem_sheath_runtime->module~bem_constants module~bem_sheath_runtime->module~bem_kinds module~bem_sheath_runtime->module~bem_sheath_model_core module~bem_sheath_runtime->module~bem_string_utils module~bem_sheath_runtime->module~bem_types module~bem_simulator bem_simulator module~bem_simulator->module~bem_app_config module~bem_simulator->module~bem_boundary module~bem_simulator->module~bem_collision module~bem_simulator->module~bem_field_solver module~bem_simulator->module~bem_kinds module~bem_simulator->module~bem_mpi module~bem_simulator->module~bem_pusher module~bem_simulator->module~bem_types module~bem_simulator->iso_fortran_env 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_performance_profile module~bem_simulator_loop->module~bem_simulator module~bem_simulator_stats bem_simulator_stats module~bem_simulator_stats->module~bem_simulator module~bem_templates->module~bem_kinds module~bem_templates->module~bem_mesh module~bem_templates->module~bem_types module~bem_types->module~bem_kinds program~main main program~main->module~bem_app_config program~main->module~bem_kinds program~main->module~bem_mesh program~main->module~bem_mpi program~main->module~bem_output_writer program~main->module~bem_performance_profile program~main->module~bem_restart program~main->module~bem_simulator program~main->module~bem_types
Help