| accumulate_charge_ledger |
bem_charge_ledger |
Subroutine |
連続する batch ledger を、初期 stock と最終 stock を保って累積する。 |
| acquire_file_lock |
bem_filesystem |
Subroutine |
|
| active_tree_child_count |
bem_coulomb_fmm_tree_utils |
Function |
有効な木の指定ノードにある子ノード数を返す。 |
| active_tree_child_idx |
bem_coulomb_fmm_tree_utils |
Function |
有効な木の子ノード番号を返す。 |
| active_tree_child_octant |
bem_coulomb_fmm_tree_utils |
Function |
有効な木の子ノードが属する八分木番号を返す。 |
| active_tree_level_bounds |
bem_coulomb_fmm_tree_utils |
Subroutine |
指定深さのレベル範囲を返す。 |
| active_tree_level_node |
bem_coulomb_fmm_tree_utils |
Function |
レベル配列からノード番号を返す。 |
| active_tree_max_depth |
bem_coulomb_fmm_tree_utils |
Function |
有効な木の最大深さを返す。 |
| active_tree_nnode |
bem_coulomb_fmm_tree_utils |
Function |
現在有効な木のノード数を返す。 |
| active_tree_node_center |
bem_coulomb_fmm_tree_utils |
Function |
有効な木のノード中心座標を返す。 |
| active_tree_node_half_size |
bem_coulomb_fmm_tree_utils |
Function |
有効な木のノード半サイズを返す。 |
| active_tree_node_radius |
bem_coulomb_fmm_tree_utils |
Function |
有効な木のノード外接半径を返す。 |
| add_periodic2_exact_ewald_correction_single_source |
bem_coulomb_fmm_periodic_ewald |
Subroutine |
1 粒子分の periodic2 Ewald 補正を加算する。 |
| add_periodic2_exact_ewald_kneq0_correction_single_source |
bem_coulomb_fmm_periodic_ewald |
Subroutine |
|
| add_periodic2_exact_ewald_potential_correction_single_source |
bem_coulomb_fmm_periodic_ewald |
Subroutine |
1 粒子分の periodic2 Ewald の電位補正を加算する。 |
| add_periodic2_kneq0_potential_correction_single_source |
bem_coulomb_fmm_periodic_ewald |
Subroutine |
|
| add_point_charge_images_field |
bem_coulomb_fmm_periodic |
Subroutine |
画像電荷を足し合わせて点電荷の電場を加算する。 |
| advance_particle_step |
bem_particle_stepper |
Subroutine |
一つの粒子stepについてmesh/boxの最早eventを順序付ける。 |
| advance_particle_step_upper_panel_fourier |
bem_particle_stepper |
Subroutine |
上部真空域のfactorized P0-panel Fourier場だけで、失敗した1 stepを最初から再試行する。 |
| allocate_particles |
bem_particles |
Subroutine |
粒子数に一致するSoA領域を確保する。位置・速度・電荷・質量は呼出し元で埋める。
重みは1、粒子種IDは0、放出元は-1、aliveはtrueで初期化する。 |
| append_i32_buffer |
bem_coulomb_fmm_tree_utils |
Subroutine |
整数バッファへ値を追加し、必要なら容量を拡張する。 |
| append_mesh_ids |
bem_app_config_mesh_runtime |
Subroutine |
既存の要素メッシュID配列へ追加分を連結する。 |
| append_particles |
bem_particles |
Subroutine |
既存 SoA の末尾へ粒子群を追加し、既存の alive 状態を保持する。 |
| append_real_values |
bem_app_config_mesh_runtime |
Subroutine |
既存の実数要素配列へ追加分を連結する。 |
| append_triangles |
bem_app_config_mesh_runtime |
Subroutine |
既存三角形配列へ追加分を連結し、再確保後の配列へ差し替える。 |
| apply_box_boundary |
bem_boundary |
Subroutine |
1ステップの更新候補位置にボックス境界条件を適用し、生存/流出状態と位置速度を更新する。 |
| apply_domain_toml_table |
bem_app_config_parser |
Interface |
|
| apply_escape_reflect_periodic_event |
bem_boundary |
Subroutine |
最初のbox eventへescape/reflect/redistributed-reflect/periodicを軸順序に依存せず適用する。 |
| apply_field_boundary_toml_table |
bem_app_config_parser |
Interface |
|
| apply_mesh_group_toml_table |
bem_app_config_parser |
Interface |
|
| apply_mesh_toml_table |
bem_app_config_parser |
Interface |
|
| apply_obj_transform |
bem_app_config_mesh_runtime |
Subroutine |
OBJ メッシュの全頂点にスケール→回転→平行移動を適用し再初期化する。
変換順序: v_new = R(rotation) * (v_old * scale) + offset
回転は度単位で x→y→z の順に外因性 (extrinsic) 回転を適用する。 |
| apply_output_toml_table |
bem_app_config_parser |
Interface |
|
| apply_panel_surface_config |
bem_app_config_mesh_runtime |
Subroutine |
|
| apply_particle_boundary_toml_table |
bem_app_config_parser |
Interface |
|
| apply_particles_species_toml_table |
bem_app_config_parser |
Interface |
|
| apply_particles_toml_table |
bem_app_config_parser |
Interface |
|
| apply_periodic2_minimum_image |
bem_coulomb_fmm_periodic |
Subroutine |
periodic2 の minimum image を差分ベクトルへ適用する。 |
| apply_periodic2_toml_table |
bem_app_config_parser |
Interface |
|
| apply_physics_authoring |
bem_app_config_parser |
Interface |
|
| apply_reservoir_toml_table |
bem_app_config_parser |
Interface |
|
| apply_sim_toml_table |
bem_app_config_parser |
Interface |
|
| apply_species_boundary_inflow_toml_table |
bem_app_config_parser |
Interface |
|
| apply_species_boundary_toml_table |
bem_app_config_parser |
Interface |
|
| apply_surface_current_model_toml_table |
bem_app_config_parser |
Interface |
|
| apply_surface_model_charge_relaxation |
bem_surface_models |
Subroutine |
表面モデルに応じて、電荷堆積後の要素電荷を緩和する。
conductor は mesh_id ごとの浮遊導体として、総電荷を保存しながら等電位化する。 |
| apply_template_toml_table |
bem_app_config_parser |
Interface |
|
| apply_toml_document |
bem_app_config_parser |
Subroutine |
toml-f のルートテーブルから既知セクションを読み込む。
|
| apply_uniform_epsilon_r |
bem_app_config_mesh_runtime |
Subroutine |
全要素に同じ相対誘電率を付与する。 |
| apply_uniform_surface_model |
bem_app_config_mesh_runtime |
Subroutine |
全要素に同じ表面モデルIDを付与する。 |
| atomic_rename |
bem_filesystem |
Subroutine |
|
| bbox_inside_box |
bem_collision |
Function |
|
| beach_kernel_build |
bem_field_kernel_c |
Function |
|
| beach_kernel_create |
bem_field_kernel_c |
Function |
|
| beach_kernel_destroy |
bem_field_kernel_c |
Function |
|
| beach_kernel_eval_e |
bem_field_kernel_c |
Function |
|
| beach_kernel_eval_e_direct |
bem_field_kernel_c |
Function |
|
| beach_kernel_eval_phi |
bem_field_kernel_c |
Function |
|
| beach_kernel_eval_phi_direct |
bem_field_kernel_c |
Function |
|
| beach_kernel_force_on_charges |
bem_field_kernel_c |
Function |
|
| beach_kernel_get_abi_version |
bem_field_kernel_c |
Function |
|
| beach_kernel_get_build_info |
bem_field_kernel_c |
Function |
|
| beach_kernel_get_periodic_cache_info |
bem_field_kernel_c |
Function |
|
| beach_kernel_set_periodic_cache |
bem_field_kernel_c |
Function |
|
| beach_kernel_update_charges |
bem_field_kernel_c |
Function |
|
| beach_zero_mode_build |
bem_periodic_zero_mode_c |
Function |
|
| beach_zero_mode_create |
bem_periodic_zero_mode_c |
Function |
|
| beach_zero_mode_destroy |
bem_periodic_zero_mode_c |
Function |
|
| beach_zero_mode_eval |
bem_periodic_zero_mode_c |
Function |
|
| beach_zero_mode_update |
bem_periodic_zero_mode_c |
Function |
|
| begin_checkpoint_publish |
bem_checkpoint_contract |
Subroutine |
checkpoint transactionのcompletion evidenceをrestart-bearing fileの置換前に無効化する。 |
| boris_push |
bem_pusher |
Subroutine |
Boris速度更新を使い、1タイムステップ後の位置・速度を計算する。 |
| boris_update_velocity |
bem_pusher |
Subroutine |
電場半ステップ加速と磁場回転を組み合わせ、1タイムステップ後の速度を計算する。 |
| boundary_face_name |
bem_app_config_particle_runtime |
Subroutine |
face bit順の面名を返す。 |
| boundary_inflow_face_enabled |
bem_app_config_particle_runtime |
Function |
face bit順の面に reservoir 流入が有効かを返す。 |
| build_axis_powers |
bem_coulomb_fmm_basis |
Subroutine |
3 軸の冪を order まで順に計算する。 |
| build_collision_grid |
bem_mesh |
Subroutine |
三角形AABBを一様グリッドへ登録し、衝突判定の候補探索を高速化する。
要素数が少ない場合は線形探索にフォールバックする。 |
| build_mesh_from_config |
bem_app_config_mesh_runtime |
Subroutine |
mesh_mode と OBJ ファイル有無に応じてメッシュ生成方法を選ぶ。
|
| build_mesh_from_indexed |
bem_importers |
Subroutine |
頂点配列と三角形インデックス配列から面頂点配列(v0,v1,v2)を展開して初期化する。 |
| build_one_template |
bem_app_config_mesh_runtime |
Subroutine |
テンプレート種別に応じて形状生成ルーチンへディスパッチする。 |
| build_panel_duffy_quadrature |
bem_triangle_quadrature |
Subroutine |
|
| build_panel_plan |
bem_coulomb_fmm_core |
Interface |
|
| build_panel_quadrature |
bem_triangle_quadrature |
Subroutine |
|
| build_particle_source_plan |
bem_app_config_particle_runtime |
Subroutine |
設定とMPI配置だけに依存する粒子 source の導出値を構築する。
乱数、残差、mesh/snapshot依存の障壁は扱わず、run中に不変な値だけを保持する。 |
| build_particle_step_candidate |
bem_particle_stepper |
Subroutine |
予測中点の電場と一様磁場を使い、次時刻の位置・速度候補を返す。 |
| build_periodic_shift_values |
bem_coulomb_fmm_periodic |
Subroutine |
periodic2 の画像シフト値を作成する。 |
| build_periodic_zero_mode_height_plan |
bem_periodic_zero_mode_plan |
Subroutine |
|
| build_periodic_zero_mode_plan |
bem_periodic_zero_mode_plan |
Subroutine |
|
| build_plan |
bem_coulomb_fmm_core |
Interface |
|
| build_template_mesh |
bem_app_config_mesh_runtime |
Subroutine |
有効なテンプレートを連結し、1つのメッシュへまとめる。 |
| build_zhao_params |
bem_sheath_model_core |
Subroutine |
|
| cell_id |
bem_collision |
Function |
3次元セル添字 (ix,iy,iz) をCSR一次元インデックスへ変換する。 |
| cell_id |
bem_mesh |
Function |
3次元セル添字 (ix,iy,iz) をCSR一次元インデックスへ変換する。 |
| checked_accumulate_charge |
bem_charge_ledger |
Subroutine |
有限なcharge incrementをoverflowさせずscalar accumulatorへ加える。 |
| checkpoint_schema_is_loadable |
bem_checkpoint_contract |
Function |
現行実装が再開候補として扱えるcheckpoint schemaかを返す。
schema keyを持たないlegacy summaryは0として表す。schema v1は正式な
fingerprint contractより前の中間形式であり、現行loaderは対応しない。 |
| compute_face_area_from_bounds |
bem_injection_geometry |
Function |
注入面上の矩形開口から有効面積[m^2]を返す。 |
| compute_face_average_potential |
bem_app_config_potential_runtime |
Subroutine |
reservoir_face 開口面の平均電位を N x N 格子平均で評価する。 |
| compute_inflow_flux_from_drifting_maxwellian |
bem_injection_flux |
Function |
drifting Maxwellian の片側流入束 [#/m^2/s] を返す。 |
| compute_laplace_derivatives |
bem_coulomb_fmm_basis |
Subroutine |
ラプラス核の多重微分係数を計算する。 |
| compute_macro_particles_for_batch |
bem_injection_flux |
Subroutine |
物理流量・重み・残差から今バッチのマクロ粒子数を決める。 |
| compute_macro_particles_for_species |
bem_app_config_particle_runtime |
Subroutine |
reservoir_face 用に、物理流量と残差から今バッチのマクロ粒子数を決める。 |
| compute_macro_particles_from_flux |
bem_injection_flux |
Subroutine |
指定済み粒子 flux・重み・残差から今バッチのマクロ粒子数を決める。 |
| compute_periodic_shift_bounds |
bem_collision |
Subroutine |
線分 AABB と canonical mesh AABB の重なりから必要な image shift 範囲を決める。 |
| compute_z_high_box_potential_statistics |
bem_app_config_potential_runtime |
Subroutine |
box の z-high 全断面における電位統計をセル中心 N x N 格子で評価する。 Read more… |
| config_uses_surface_model |
bem_app_config_parser |
Function |
現在のメッシュ入力設定が指定された表面モデルを使うかを返す。 |
| configure_plane_source_box |
bem_app_config_particle_runtime |
Subroutine |
plane_sourceの内部面をlegacy face samplerの仮想box境界へ写像する。 |
| coord_to_cell |
bem_collision |
Function |
座標をグリッドセル添字へ変換し、範囲外は端セルへ丸める。 |
| coord_to_cell |
bem_mesh |
Function |
座標をグリッドセル添字へ変換し、範囲外は端セルへ丸める。 |
| core_build_panel_plan_impl |
bem_coulomb_fmm_plan_ops |
Subroutine |
|
| core_build_plan_impl |
bem_coulomb_fmm_plan_ops |
Subroutine |
FMM 計画と木構造、転送演算子を構築する。 |
| core_destroy_plan_impl |
bem_coulomb_fmm_plan_ops |
Subroutine |
FMM 計画に確保した資源を解放する。 |
| core_destroy_state_impl |
bem_coulomb_fmm_state_ops |
Subroutine |
FMM state に確保した資源を解放する。 |
| core_eval_direct_points_impl |
bem_coulomb_fmm_eval_ops |
Subroutine |
非周期計画の全ソース直接和で複数点の電場を計算する。 |
| core_eval_direct_potential_points_impl |
bem_coulomb_fmm_eval_ops |
Subroutine |
非周期計画の全ソース直接和で複数点の電位を計算する。 |
| core_eval_point_impl |
bem_coulomb_fmm_eval_ops |
Subroutine |
1 点で電場を計算する。 |
| core_eval_points_impl |
bem_coulomb_fmm_eval_ops |
Subroutine |
複数の評価点で電場を計算する。 |
| core_eval_potential_point_impl |
bem_coulomb_fmm_eval_ops |
Subroutine |
1 点で電位を計算する。 |
| core_eval_potential_points_impl |
bem_coulomb_fmm_eval_ops |
Subroutine |
複数の評価点で電位を計算する。 |
| core_update_state_impl |
bem_coulomb_fmm_state_ops |
Subroutine |
ソース電荷から FMM state を更新する。 |
| corner_between |
bem_templates |
Subroutine |
反時計回りに隣接する辺ペアに対し、対応する長方形コーナー座標を返す。 |
| count_face_tokens |
bem_importers |
Function |
面行に含まれる頂点トークン数を数え、扇形分割時の三角形数算出に使う。 |
| create_directories |
bem_filesystem |
Subroutine |
Recursively create a directory path without invoking a shell. |
| cross |
bem_collision |
Function |
|
| cross |
bem_pusher |
Function |
3次元ベクトルの外積を返す基本演算。 |
| cross |
bem_mesh |
Function |
3次元ベクトルの外積を返す基本演算。 |
| default_app_config |
bem_app_config_types |
Subroutine |
app_config を既定値で初期化し、TOML 上書き前の状態を作る。
|
| derive_field_panel_config |
bem_physics_config_types |
Subroutine |
[sim] だけから field/panel の派生契約を構築する。
|
| destroy_plan |
bem_coulomb_fmm_core |
Interface |
|
| destroy_state |
bem_coulomb_fmm_core |
Interface |
|
| distance_to_source_bbox |
bem_coulomb_fmm_periodic |
Function |
点と source BBox の距離を返す。 |
| distance_to_source_bbox_periodic |
bem_coulomb_fmm_periodic |
Function |
periodic2 の minimum image を考慮した source BBox 距離を返す。 |
| edge_next_ccw |
bem_templates |
Function |
境界辺の次(反時計回り)を返す。 |
| edge_order_index |
bem_templates |
Function |
境界辺の反時計回り順序インデックスを返す。 |
| ensure_authoring_group_capacity |
bem_app_config_authoring |
Subroutine |
mesh group authoring 配列容量を確保する。 |
| ensure_authoring_particle_capacity |
bem_app_config_authoring |
Subroutine |
species authoring 配列容量を確保する。 |
| ensure_authoring_template_capacity |
bem_app_config_authoring |
Subroutine |
template authoring 配列容量を確保する。 |
| ensure_output_dir |
bem_output_writer |
Subroutine |
出力ディレクトリを作成する。 |
| ensure_particle_species_capacity |
bem_app_config_parser |
Interface |
|
| ensure_template_capacity |
bem_app_config_parser |
Interface |
|
| eval_direct_points |
bem_coulomb_fmm_core |
Interface |
|
| eval_direct_potential_points |
bem_coulomb_fmm_core |
Interface |
|
| eval_periodic_nonzero_panel_reference |
bem_coulomb_fmm_periodic_nonzero_reference |
Subroutine |
|
| eval_periodic_zero_mode |
bem_periodic_zero_mode_eval |
Subroutine |
|
| eval_point |
bem_coulomb_fmm_core |
Interface |
|
| eval_points |
bem_coulomb_fmm_core |
Interface |
|
| eval_potential_point |
bem_coulomb_fmm_core |
Interface |
|
| eval_potential_points |
bem_coulomb_fmm_core |
Interface |
|
| evaluate_monotonic_stationary_phi |
bem_sheath_model_core |
Subroutine |
|
| evaluate_surface_closure |
bem_surface_current_model |
Subroutine |
モデル固有の診断値をシミュレータへ漏らさず、境界契約だけを返す。 |
| evaluate_surface_current_model |
bem_surface_current_model |
Subroutine |
設定されたmodelをdispatchし、固定電流closure用のtarget配列を返す。 |
| evaluate_zhao_density_hat |
bem_sheath_model_core |
Subroutine |
|
| evaluate_zhao_rho_hat |
bem_sheath_model_core |
Subroutine |
|
| external_kinetic_face_velocity_correction |
bem_app_config_particle_runtime |
Interface |
|
| fill_panel_quadrature |
bem_triangle_quadrature |
Subroutine |
Fill an existing seven-point cubature buffer without allocating a plan. |
| find_first_boundary_event |
bem_boundary |
Subroutine |
閉じたbox内の始点から候補終点へ向かう線分について、最初のbox面交差を返す。 |
| find_first_hit |
bem_collision |
Subroutine |
線分 [p0,p1] に対して最初に衝突する三角形要素を探索し、命中情報を返す。 |
| find_first_hit_base |
bem_collision |
Subroutine |
通常メッシュに対する最初の命中要素探索を行う。 |
| find_first_hit_base_grid |
bem_collision |
Subroutine |
一様グリッド + 3D-DDA で候補セルのみ探索し、最初の命中要素を返す。 |
| find_first_hit_base_linear |
bem_collision |
Subroutine |
旧実装と同じ線形探索で最初の命中要素を探索する。 |
| find_first_hit_periodic2 |
bem_collision |
Subroutine |
periodic2 用に image shift を列挙し、base collision の結果を統合する。 |
| finite_charge_sum |
bem_charge_ledger |
Function |
scale後のNeumaier和により、中間overflowを避けてsigned charge総和を返す。 |
| gauss_legendre_unit |
bem_triangle_quadrature |
Subroutine |
|
| generate_matching_plane_zhao_atlas |
bem_matching_plane_zhao_atlas |
Subroutine |
|
| generate_matching_plane_zhao_response_table |
bem_matching_plane_response_generator |
Subroutine |
5列query gridを評価し、既存table backend互換の11列CSVを書く。 |
| get_matching_plane_response_snapshot |
bem_matching_plane_response |
Subroutine |
path ごとに最初の検証済み内容を固定し、同一 process 内で共有する。 |
| get_toml_boundary_inflow_mode |
bem_config_toml |
Subroutine |
|
| get_toml_int |
bem_config_toml |
Subroutine |
|
| get_toml_logical |
bem_config_toml |
Subroutine |
|
| get_toml_particle_boundary_mode |
bem_config_toml |
Subroutine |
|
| get_toml_real |
bem_config_toml |
Subroutine |
|
| get_toml_real_array |
bem_config_toml |
Subroutine |
|
| get_toml_real_scalar_or_array3 |
bem_config_toml |
Subroutine |
|
| get_toml_string |
bem_config_toml |
Subroutine |
|
| get_velocity_grid_snapshot |
bem_injection_velocity_grid |
Subroutine |
最初の読込み結果をpathごとに固定し、同一runのsamplingとfingerprintで共有する。 |
| handle_early_cli |
main |
Subroutine |
MPI 初期化や計算状態の構築前に完結する CLI option を処理する。 |
| has_boundary_inflow |
bem_app_config_particle_runtime |
Function |
speciesに外部 reservoir 流入を指定したbox面があるかを返す。 |
| has_suffix |
bem_app_config_parser |
Function |
文字列が指定した接尾辞で終わるかを判定する。 |
| has_valid_target_box |
bem_coulomb_fmm_periodic |
Function |
periodic2 の target box が有効かを判定する。 |
| init_app_config_authoring |
bem_app_config_authoring |
Subroutine |
authoring overlay の配列を初期化する。 |
| init_mesh |
bem_mesh |
Subroutine |
三角形頂点配列から mesh_type を初期化し、幾何キャッシュと要素電荷配列を準備する。 |
| init_panel_geometry |
bem_panel_geometry |
Subroutine |
|
| init_particle_batch_from_config |
bem_app_config_particle_runtime |
Interface |
|
| init_particles |
bem_particles |
Subroutine |
位置・速度・電荷・質量(と任意重み)配列から particles_soa を検証付きで構築する。 |
| init_random_beam_particles |
bem_injection_random |
Subroutine |
指定粒子数ぶんの位置/速度/電荷/質量/重みを生成し particles_soa を初期化する。 |
| initialize_basis_tables |
bem_coulomb_fmm_basis |
Subroutine |
FMM の多重指数テーブルと評価用補助テーブルを初期化する。 |
| initialize_fmm_state |
bem_coulomb_fmm_types |
Subroutine |
FMM state のポインタ成分を未関連状態へ初期化する。 |
| initialize_hit |
bem_collision |
Subroutine |
hit 構造体を未命中状態へ初期化する。 |
| initialize_injection_state |
main |
Subroutine |
種数に合わせて注入状態をゼロ初期化する。 |
| injection_face_index |
bem_app_config_particle_runtime |
Function |
面名をboundary bit順のindexへ変換する。 |
| inspect_checkpoint_directory |
bem_checkpoint_contract |
Subroutine |
Inspect one directory without mutating it and require every file declared by its checkpoint generation. |
| is_decimal_integer_token |
bem_string_utils |
Function |
符号付き十進整数tokenだけを許可する。 |
| is_decimal_real_token |
bem_string_utils |
Function |
List-directed control syntaxを除外した十進実数tokenだけを許可する。 |
| is_face_line |
bem_importers |
Function |
与えられた行がOBJ面行(f)かを判定する。 |
| is_logical_token |
bem_string_utils |
Function |
Checkpoint writerが生成するlogical tokenと標準的な長形式だけを許可する。 |
| is_vertex_line |
bem_importers |
Function |
与えられた行がOBJ頂点行(v)かを判定する。 |
| load_app_config |
bem_app_config_parser |
Subroutine |
.toml 拡張子の設定ファイルを読み込み、既存値へ上書き適用する。
|
| load_matching_plane_response_mpi |
bem_matching_plane_response |
Interface |
|
| load_obj_mesh |
bem_importers |
Subroutine |
OBJファイルを2パス(件数取得→実データ読込)で読み込み、メッシュを構築する。 |
| load_or_init_run_state |
main |
Subroutine |
設定読込・メッシュ構築・再開判定・乱数初期化をまとめて行う。 |
| load_restart_checkpoint |
bem_restart |
Subroutine |
既存チェックポイントディレクトリから統計・要素電荷・乱数状態を復元する。 |
| load_toml_config |
bem_app_config_parser |
Subroutine |
TOML 文書を toml-f で解釈して設定へ反映する。
現在は sim / mesh / output / [[mesh.templates]] / [[particles.species]] を扱う。 |
| lower_ascii |
bem_string_utils |
Function |
ASCII 英字を小文字化した文字列を返す。 |
| lower_boundary_authoring |
bem_app_config_authoring |
Interface |
|
| make_annulus |
bem_templates |
Subroutine |
XY平面上の同心リングを極座標分割し、三角形メッシュを生成する。 |
| make_boundary_inflow_spec |
bem_app_config_particle_runtime |
Subroutine |
box全面を開口とする一時的な legacy reservoir spec を構築する。 |
| make_box |
bem_templates |
Subroutine |
直方体6面を分割数に応じて三角形化し、外向き法線向きでメッシュを生成する。 |
| make_cylinder |
bem_templates |
Subroutine |
円柱側面を分割生成し、必要に応じて上下面キャップを追加したメッシュを生成する。 |
| make_disk |
bem_templates |
Subroutine |
XY平面上の円板を極座標分割し、外周へ向かって三角形化したメッシュを生成する。 |
| make_plane |
bem_templates |
Subroutine |
XY平面を nx*ny 分割し、各セルを2三角形へ分割したメッシュを生成する。 |
| make_plate_hole |
bem_templates |
Subroutine |
XY平面の長方形プレートから円形穴を除いたメッシュを生成する。
穴境界は n_theta 分割の多角形近似で表し、外周は長方形境界に一致させる。 |
| make_sphere |
bem_templates |
Subroutine |
経度・緯度分割に基づき球面三角形メッシュを生成する。 |
| maybe_write_periodic_checkpoint |
bem_periodic_checkpoint |
Subroutine |
設定した stride の accepted batch で、非active slotへ完全な再開状態を書いてからindexを切り替える。 |
| mesh_fingerprint |
bem_mesh_identity |
Function |
|
| mpi_allreduce_max_i32_scalar |
bem_mpi |
Subroutine |
32bit整数スカラの最大値Allreduceをin-placeで実行する。 |
| mpi_allreduce_max_real_dp_array |
bem_mpi |
Subroutine |
倍精度配列の最大値Allreduceをin-placeで実行する。 |
| mpi_allreduce_min_i32_scalar |
bem_mpi |
Subroutine |
32bit整数スカラの最小値Allreduceをin-placeで実行する。 |
| mpi_allreduce_min_real_dp_array |
bem_mpi |
Subroutine |
倍精度配列の最小値Allreduceをin-placeで実行する。 |
| mpi_allreduce_sum_i32_array |
bem_mpi |
Subroutine |
32bit整数配列の総和Allreduceをin-placeで実行する。 |
| mpi_allreduce_sum_i32_scalar |
bem_mpi |
Subroutine |
32bit整数スカラの総和Allreduceをin-placeで実行する。 |
| mpi_allreduce_sum_i64_array |
bem_mpi |
Subroutine |
64bit整数配列の総和Allreduceをin-placeで実行する。 |
| mpi_allreduce_sum_real_dp_array |
bem_mpi |
Subroutine |
倍精度配列の総和Allreduceをin-placeで実行する。 |
| mpi_allreduce_sum_real_dp_scalar |
bem_mpi |
Subroutine |
倍精度スカラの総和Allreduceをin-placeで実行する。 |
| mpi_bcast_i32_array |
bem_mpi |
Subroutine |
root rankの32bit整数配列を全rankへbroadcastする。 |
| mpi_bcast_real_dp_array |
bem_mpi |
Subroutine |
root rankの倍精度配列を全rankへbroadcastする。 |
| mpi_gatherv_real_dp_array |
bem_mpi |
Subroutine |
各rankの可変長倍精度配列をrootへrank順に連結する。 Read more… |
| mpi_get_rank_size |
bem_mpi |
Subroutine |
mpi_context から rank/size を取得する。未指定時は単一rank(0/1)。
|
| mpi_initialize |
bem_mpi |
Subroutine |
MPIを初期化して rank / size を取得する。非MPIビルドでは単一ランクを返す。 |
| mpi_is_root |
bem_mpi |
Function |
root rank (rank=0) かどうかを返す。 |
| mpi_select_lowest_rank_i32_values |
bem_mpi |
Subroutine |
Select values supplied by the lowest MPI rank whose local flag is true. |
| mpi_shutdown |
bem_mpi |
Subroutine |
mpi_initialize が実際に初期化した場合のみ MPI_Finalize を呼ぶ。
|
| mpi_split_count |
bem_mpi |
Function |
総数 total_count をrankへ均等分割したときの局所個数を返す。 |
| mpi_world_barrier |
bem_mpi |
Subroutine |
全rankの同期ポイント。 |
| mpi_world_size |
bem_mpi |
Function |
MPI world size を返す(size<=0 は 1 へ補正)。 |
| nodes_well_separated |
bem_coulomb_fmm_tree_utils |
Function |
target/source ノードが十分離れているかを判定する。 |
| normalize_high_level_config |
bem_app_config_authoring |
Subroutine |
authoring overlay の高水準キーを cfg の実行時キーへ反映する。 |
| normalize_legacy_physics_config |
bem_physics_config_types |
Subroutine |
現行 sim_config を型付き場設定へ写像する。 |
| normalize_reservoir_positions |
bem_app_config_particle_runtime |
Subroutine |
reservoir/plane sourceの初期位置を、設定されたbox境界条件に従って有効領域へ正規化する。 |
| numerical_jacobian |
bem_sheath_model_core |
Subroutine |
|
| octant_index |
bem_coulomb_fmm_tree_utils |
Function |
座標が親ノード中心のどの八分木に属するかを返す。 |
| open_history_writer |
bem_output_writer |
Interface |
|
| open_matching_plane_history_writer |
bem_output_writer |
Interface |
|
| open_potential_history_writer |
bem_output_writer |
Interface |
|
| open_top_reference_history_writer |
bem_output_writer |
Interface |
|
| panel_on_surface_integrals |
bem_panel_self_terms |
Subroutine |
|
| panel_oracle_potential_field |
bem_panel_quadrature |
Subroutine |
|
| panel_potential_field |
bem_panel_kernel |
Subroutine |
|
| panel_singular_potential_oracle |
bem_panel_quadrature |
Subroutine |
|
| parse_face_line |
bem_importers |
Subroutine |
f 行の頂点参照を抽出し、v/vt/vn 形式から頂点インデックスのみを取り出す。
|
| parse_obj |
bem_importers |
Subroutine |
OBJの頂点/面行を解析し、負インデックス対応で配列へ格納する。 |
| parse_vertex_line |
bem_importers |
Subroutine |
v x y z 形式の頂点行を3次元座標へ変換する。
|
| particle_boundary_action_for_face |
bem_config_helpers |
Function |
6面名に対応する有効粒子境界作用を返す。 |
| particles_per_batch_from_config |
bem_app_config_types |
Function |
有効な粒子種の npcls_per_step を合計し、1バッチあたりの粒子数を返す。
1つ以上の粒子種が有効で、かつ合計が正でない場合は停止する。 |
| perf_add_elapsed |
bem_performance_profile |
Subroutine |
経過時間と呼び出し回数を累積する。 |
| perf_configure |
bem_performance_profile |
Subroutine |
明示フラグで計測状態を設定する。 |
| perf_configure_from_env |
bem_performance_profile |
Subroutine |
環境変数 BEACH_PROFILE から計測状態を初期化する。 |
| perf_is_enabled |
bem_performance_profile |
Function |
粗粒度プロファイルが有効かを返す。 |
| perf_region_begin |
bem_performance_profile |
Subroutine |
フェーズ開始時刻を取得する。 |
| perf_region_end |
bem_performance_profile |
Subroutine |
フェーズ終了時刻との差分を累積する。 |
| perf_reset |
bem_performance_profile |
Subroutine |
プロファイラ状態を既定値へ戻す。 |
| perf_set_output_context |
bem_performance_profile |
Subroutine |
出力先ディレクトリとファイル書き出し可否を登録する。 |
| perf_wall_time_seconds |
bem_performance_profile |
Function |
OpenMP有効時は omp_get_wtime、それ以外は system_clock を使う壁時計。 |
| perf_write_outputs |
bem_performance_profile |
Subroutine |
集計済みプロファイルを標準出力および CSV へ書き出す。 |
| periodic_cache_fingerprint |
bem_coulomb_fmm_periodic_cache |
Function |
|
| periodic_operator_checksum |
bem_coulomb_fmm_periodic_cache |
Function |
|
| point_inside_box |
bem_collision |
Function |
|
| point_inside_box_periodic2 |
bem_collision |
Function |
|
| point_triangle_distance |
bem_panel_geometry |
Function |
|
| precompute_periodic2_ewald_data |
bem_coulomb_fmm_periodic_ewald |
Subroutine |
periodic2 Ewald の事前計算データを作成する。 |
| precompute_periodic_root_operator |
bem_coulomb_fmm_periodic_root_ops |
Subroutine |
periodic2 の root operator を前計算する。 |
| prefer_periodic_candidate |
bem_collision |
Function |
候補 hit が現在の best より優先されるかを deterministic に判定する。 |
| prepare_periodic2_collision_mesh |
bem_mesh |
Subroutine |
periodic2 用に primitive cell メッシュを canonical unwrapped 形へ平行移動し、
幾何キャッシュと collision grid を再構築する。 |
| prepare_regularized_qr |
bem_regularized_qr |
Subroutine |
|
| print_run_summary |
bem_output_writer |
Subroutine |
実行結果の主要統計を標準出力へ表示する。 |
| print_usage |
zhao_response_main |
Subroutine |
|
| print_usage |
zhao_atlas_main |
Subroutine |
|
| publish_checkpoint_manifest |
bem_checkpoint_contract |
Subroutine |
A complete manifest is atomically published only after every restart-bearing file is closed. |
| push_tri |
bem_templates |
Subroutine |
三角形頂点 a,b,c を出力配列の次インデックスへ書き込む。 |
| ray_to_rectangle |
bem_templates |
Subroutine |
XY平面上で、中心からのレイと長方形境界の最短交点を返す。 |
| read_matching_plane_query_csv |
bem_matching_plane_query_io |
Subroutine |
指定 header の列数だけ有限の十進実数を読み、入力順の列ベクトルとして返す。 |
| read_mesh_groups_table |
bem_app_config_parser |
Interface |
|
| read_particle_species_array |
bem_app_config_parser |
Interface |
|
| read_periodic_operator_cache |
bem_coulomb_fmm_periodic_cache |
Subroutine |
|
| read_template_array |
bem_app_config_parser |
Interface |
|
| refresh_periodic_zero_mode_state |
bem_periodic_zero_mode_plan |
Subroutine |
|
| release_file_lock |
bem_filesystem |
Subroutine |
|
| require_toml_success |
bem_config_toml |
Subroutine |
|
| reservoir_face_velocity_correction |
bem_app_config_particle_runtime |
Interface |
|
| reset_fmm_plan |
bem_coulomb_fmm_types |
Subroutine |
FMM plan を初期状態へ戻す。 |
| reset_fmm_state |
bem_coulomb_fmm_types |
Subroutine |
FMM state を初期状態へ戻す。 |
| reset_matching_plane_response_snapshot_cache |
bem_matching_plane_response |
Subroutine |
独立 run や unit test の開始時に immutable snapshot cache を解放する。 |
| reset_periodic2_ewald_data |
bem_coulomb_fmm_types |
Subroutine |
periodic2 Ewald 用の補助データを初期状態へ戻す。 |
| reset_velocity_grid_snapshot_cache |
bem_injection_velocity_grid |
Subroutine |
独立runを同一processで開始するtest/support用途にsnapshot cacheを解放する。 |
| residual_norm |
bem_sheath_model_core |
Function |
|
| resolve_batch_duration |
bem_app_config_parser |
Interface |
|
| resolve_box_filter_args |
bem_collision |
Subroutine |
box filter 関連の optional 引数を検証付きで展開する。 |
| resolve_config_path |
main |
Subroutine |
実行時設定ファイルの読み込みパスを決定する。 |
| resolve_external_boundary_contract |
bem_external_boundary_contract |
Subroutine |
局所流入補正と通常 open 面モデルを一意な組へ解決する。 |
| resolve_external_e_field |
bem_app_config_parser |
Interface |
|
| resolve_face_axes |
bem_injection_geometry |
Subroutine |
注入面名から接線2軸を返す。 |
| resolve_face_geometry |
bem_injection_geometry |
Subroutine |
注入面名から法線方向の幾何情報を返す。 |
| resolve_face_sampling_geometry |
bem_app_config_potential_runtime |
Subroutine |
注入面名から法線軸・接線軸・境界値・内向き法線を返す。 |
| resolve_field_solver_mode |
bem_field_solver |
Interface |
|
| resolve_field_solver_tree_params |
bem_field_solver |
Interface |
|
| resolve_inject_face |
bem_config_helpers |
Subroutine |
注入面識別子から法線軸と対応境界座標を返す。 |
| resolve_inward_normal |
bem_config_helpers |
Subroutine |
注入面識別子から内向き法線ベクトルを返す。 |
| resolve_latest_checkpoint_dir |
bem_periodic_checkpoint |
Subroutine |
base directory直下の最終出力と両定期slotを比較し、batch数が新しい完全checkpointを返す。
indexは同batchのslotを選ぶtie-breakにだけ使う。欠落、破損、古いindexは
complete manifestを持つload可能なslotの回収を妨げない。 |
| resolve_panel_surface_sides |
bem_panel_surface_sides |
Subroutine |
|
| resolve_parallel_rank_size |
bem_app_config_particle_runtime |
Subroutine |
併存対応のため mpi_context と rank/size の両方を受け、最終的なrank/sizeを解決する。 |
| resolve_particle_boundaries |
bem_config_helpers |
Subroutine |
domain topology、global既定、粒子種overrideから有効な粒子境界を解決する。 |
| resolve_particle_boundary_candidate |
bem_particle_stepper |
Subroutine |
構築済みcandidateとその場評価値からbox eventを解決する。 |
| resolve_periodic2_collision_config |
bem_collision |
Subroutine |
periodic2 collision で必要な 2 軸周期設定を解決する。 |
| resolve_periodic2_collision_config |
bem_mesh |
Subroutine |
periodic2 collision で使う 2 軸周期設定を検証付きで解決する。 |
| resolve_periodic2_ewald_alpha |
bem_coulomb_fmm_periodic_ewald |
Function |
periodic2 Ewald の減衰係数 alpha を決定する。 |
| resolve_surface_current_model_path |
bem_app_config_parser |
Subroutine |
response table の相対パスを設定ファイルの配置ディレクトリ基準へ解決する。 |
| restart_macro_residual_path |
bem_restart |
Interface |
|
| restart_rng_state_path |
bem_restart |
Interface |
|
| run_absorption_insulator |
bem_simulator |
Interface |
|
| sample_flux_weighted_normal_component |
bem_injection_flux |
Subroutine |
flux-weighted half-range 正規分布から法線速度をサンプルする。 |
| sample_photo_raycast_particles |
bem_photoelectron_injection |
Subroutine |
光線を注入面からレイキャストし、最初の命中要素から光電子を放出する。 |
| sample_photo_species_state |
bem_app_config_particle_runtime |
Interface |
|
| sample_reservoir_face_particles |
bem_injection_flux |
Subroutine |
上流リザーバ境界から流入する粒子群を面注入としてサンプルする。 |
| sample_reservoir_velocity_grid_particles |
bem_injection_velocity_grid |
Subroutine |
速度グリッド分布から reservoir_face 粒子をサンプルする。
velocity_grid_pdf_kind="phase_space" では max(v_n,0) f(v) で流入粒子を選び、
"flux_weighted" では入力 f を流入粒子分布として扱う。 |
| sample_shifted_maxwell_velocities |
bem_injection_random |
Subroutine |
ドリフト速度付きMaxwell分布(温度または熱速度指定)から粒子速度を生成する。 |
| sample_species_state |
bem_app_config_particle_runtime |
Interface |
|
| sample_standard_normal |
bem_injection_random |
Subroutine |
Box–Muller法で標準正規乱数を生成し、任意形状配列へ詰める。 |
| sample_uniform_positions |
bem_injection_random |
Subroutine |
直方体領域 [low, high] 内で一様分布の初期位置をサンプリングする。 |
| scan_obj |
bem_importers |
Subroutine |
OBJを行走査して頂点数と三角形分割後の面数を事前計数する。 |
| seed_particles_from_config |
bem_app_config_particle_runtime |
Subroutine |
バッチ生成前に乱数シードだけを初期化する。 |
| seed_rng |
bem_injection_random |
Subroutine |
与えたシード列またはシステム時刻からFortran乱数生成器を初期化する。 |
| segment_aabb_intersection_t |
bem_collision |
Subroutine |
線分 p(t)=p0+t*d (0<=t<=1) とAABBの交差区間 [t_entry,t_exit] を返す。 |
| segment_bbox_overlap |
bem_collision |
Function |
線分のAABBと要素AABBの重なりを先に判定し、詳細交差計算を枝刈りする。 |
| segment_bbox_overlap_precomputed |
bem_collision |
Function |
事前計算済みの線分AABBと要素AABBの重なりを判定する。 |
| segment_triangle_intersect |
bem_collision |
Subroutine |
Möller–Trumbore法で線分と三角形の交差有無・線分パラメータ t・交点座標を計算する。 |
| solve_matching_implicit_zero_mode |
bem_matching_plane_implicit |
Subroutine |
|
| solve_nonlinear_system |
bem_sheath_model_core |
Subroutine |
|
| solve_regularized_qr |
bem_regularized_qr |
Subroutine |
|
| solve_small_linear_system |
bem_sheath_model_core |
Subroutine |
|
| solve_zhao_branch_a |
bem_sheath_model_core |
Subroutine |
|
| solve_zhao_branch_b |
bem_sheath_model_core |
Subroutine |
|
| solve_zhao_branch_c |
bem_sheath_model_core |
Subroutine |
|
| solve_zhao_unknowns |
bem_sheath_model_core |
Subroutine |
|
| species_from_defaults |
bem_app_config_types |
Function |
[[particles.species]] の既定値を返す。
現行仕様では、列挙された粒子種は既定で有効とみなす。
|
| species_number_density_m3 |
bem_app_config_particle_runtime |
Function |
粒子種設定から実効密度[m^-3]を返す。 |
| species_number_density_m3 |
bem_config_helpers |
Function |
粒子種設定から有効粒子数密度 [1/m^3] を計算する。 |
| species_temperature_k |
bem_app_config_particle_runtime |
Function |
粒子種設定から実効温度[K]を返す。 |
| species_temperature_k |
bem_config_helpers |
Function |
粒子種設定から有効温度 [K] を計算する。 |
| sph |
bem_templates |
Subroutine |
球座標 (theta, phi) を中心 c・半径 r の直交座標へ変換する。 |
| stop_config_error |
bem_config_toml |
Subroutine |
診断を明示出力し、Intel の動的 ERROR STOP 文字列の問題を避ける。 |
| strip_cr |
bem_importers |
Subroutine |
行末の CR 文字 (char 13) をスペースに置換し、CRLF 改行の OBJ に対応する。 |
| surface_model_id_from_name |
bem_app_config_mesh_runtime |
Function |
表面モデル名をメッシュ要素用の整数IDへ変換する。 |
| swe_free_current_term |
bem_sheath_model_core |
Function |
|
| symmetric_vacuum_bottom_field |
bem_periodic_zero_mode_plan |
Function |
|
| transition_corner_count |
bem_templates |
Function |
長方形外周を反時計回りに見たとき、辺遷移で通過するコーナー数を返す。 |
| transition_corners |
bem_templates |
Subroutine |
辺遷移時に通過するコーナー列(最大3点)を返す。 |
| try_newton_solve |
bem_sheath_model_core |
Subroutine |
|
| try_solve_zhao_branch_a |
bem_sheath_model_core |
Subroutine |
|
| try_solve_zhao_branch_b |
bem_sheath_model_core |
Subroutine |
|
| try_solve_zhao_branch_c |
bem_sheath_model_core |
Subroutine |
|
| try_solve_zhao_monotonic_scalar |
bem_sheath_model_core |
Subroutine |
Type-B/C の定常電流式から ambient density を消去し、電位だけをbracketする。 |
| try_solve_zhao_unknowns |
bem_sheath_model_core |
Subroutine |
Zhao の零電流定常根を fail-closed な status 付きで探索する。 |
| type_a_e2_sum_at_infinity |
bem_sheath_model_core |
Function |
|
| update_mesh_geometry |
bem_mesh |
Subroutine |
頂点配列から重心・法線・AABB・代表長・collision grid を再構築する。 |
| update_state |
bem_coulomb_fmm_core |
Interface |
|
| use_periodic2_cached_kneq0 |
bem_coulomb_fmm_periodic |
Function |
|
| use_periodic2_root_operator |
bem_coulomb_fmm_periodic |
Function |
periodic2 の root operator を使うか判定する。 |
| validate_active_physics_config |
bem_physics_config_types |
Subroutine |
有限画像、panel reference、cached k!=0 の periodic2 構成を検証する。 |
| validate_boundary_inflow_species |
bem_app_config_parser |
Interface |
|
| validate_phase1_panel_config |
bem_physics_config_types |
Subroutine |
triangle P0 direct/treecode/FMM kernel の solver/boundary 契約を検証する。 |
| validate_photo_raycast_species |
bem_app_config_parser |
Interface |
|
| validate_plane_source_species |
bem_app_config_parser |
Interface |
|
| validate_reservoir_species |
bem_app_config_parser |
Interface |
|
| validate_restart_contract |
bem_restart |
Interface |
|
| warn_face_average_potential_variation |
bem_app_config_potential_runtime |
Subroutine |
注入面の局所電位差が面平均 reservoir 近似の特徴エネルギーに対して大きい場合に警告する。 |
| wrap_periodic2_point |
bem_collision |
Subroutine |
point を primary cell へ折り返す。 |
| wrap_periodic2_point |
bem_coulomb_fmm_periodic |
Subroutine |
periodic2 領域内へ点座標を折り返す。 |
| wrap_src_pos_to_primary_cell |
bem_coulomb_fmm_periodic |
Subroutine |
plan 内の全ソース位置を primary cell [target_box_min, target_box_min+L) へ折り返す。 |
| write_checkpoint_state_files |
bem_output_writer |
Subroutine |
再開に必要な root-rank 共通状態だけをチェックポイントへ保存する。 |
| write_macro_residuals_file |
bem_restart |
Interface |
|
| write_matching_plane_history_snapshot |
bem_output_writer |
Interface |
|
| write_periodic_operator_cache |
bem_coulomb_fmm_periodic_cache |
Subroutine |
|
| write_result_files |
bem_output_writer |
Subroutine |
解析結果を summary.txt / charges.csv / mesh_triangles.csv などとして保存する。 |
| write_rng_state_file |
bem_restart |
Interface |
|
| write_top_reference_history_snapshot |
bem_output_writer |
Interface |
|
| zhao_residuals_type_a |
bem_sheath_model_core |
Subroutine |
|
| zhao_residuals_type_b |
bem_sheath_model_core |
Subroutine |
|
| zhao_residuals_type_c |
bem_sheath_model_core |
Subroutine |
|