| Procedure | Location | Procedure Type | Description |
|---|---|---|---|
| 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_field_potential_single_source | bem_coulomb_fmm_periodic_ewald | Subroutine | 1 粒子分の periodic2 Ewald 補正の電場と電位を、超越関数を共有して 1 回で加算する。 個別の電場・電位ルーチンを続けて呼ぶのと同じ値を返す(operator 作成の teacher 用)。 |
| 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領域を確保する。位置・速度・電荷・質量は呼出し元で埋める。
SoA の配列長は容量で、有効な粒子は常に先頭 |
| 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_domain_toml_table | bem_app_config_parser | Interface | |
| apply_escape_reflect_periodic_event | bem_boundary | Subroutine | 最初のbox eventへescape/reflect/redistributed-reflect/periodicを軸順序に依存せず適用する。 face_bc を渡すと、box 設定の代わりにその face 別境界条件を event と照合する(外部障壁で一面を反射に 置き換える場合など)。省略時は cfg の bc_low/bc_high。 |
| apply_field_boundary_toml_table | bem_app_config_parser | Interface | |
| apply_fixed_surface_current_closure | bem_simulator | Interface | |
| apply_kinetic_map_arguments | bem_app_config_particle_runtime | Subroutine | 外部 closure の kinetic 写像(有効フラグ・貯留部/access 電位・面・貯留部密度)を検査して plan へ写す。 |
| apply_mesh_group_toml_table | bem_app_config_parser | Interface | |
| apply_mesh_toml_table | bem_app_config_parser | Interface | |
| apply_number_flux_override_arguments | bem_app_config_particle_runtime | Subroutine | 外部 closure の number-flux override の有効フラグを検査して plan へ写す(flux 値は種の解決時に使う)。 |
| 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_ray_box_boundary | bem_boundary | Subroutine | photo raycast の ray が box 面を越えた点に反射・周期境界を適用する。粒子の境界処理は event API (find_first_boundary_event / apply_escape_reflect_periodic_event)が担い、これは ray 専用。 ray は面内再配置の乱数を持たないので、流出面と再配置反射の面では ray を止める(alive=.false.)。 box が無効なら何もせず、幅 0 の軸があれば ray を止める。 |
| 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_template_toml_table | bem_app_config_parser | Interface | |
| apply_toml_document | bem_app_config_parser | Subroutine |
|
| 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_config_helpers | Subroutine | face bit 順(1..6 = x_low, x_high, y_low, y_high, z_low, z_high)の面名を返す。 |
| boundary_inflow_face_enabled | bem_config_helpers | Function | face bit 順の面に reservoir 流入が有効かを返す。 |
| build_axis_powers | bem_coulomb_fmm_basis | Subroutine | 3 軸の冪を order まで順に計算する。 |
| build_batch_injection_layout | bem_app_config_particle_runtime | Interface | |
| build_collision_grid | bem_mesh | Subroutine | 三角形AABBを一様グリッドへ登録し、衝突判定の候補探索を高速化する。 要素数が少ない場合は線形探索にフォールバックする。 |
| build_mesh_from_config | bem_app_config_mesh_runtime | Subroutine | 有効な OBJ と template をリスト順に連結する。 |
| 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_parts_mesh | bem_app_config_mesh_runtime | Subroutine | 有効な OBJ と template を連結し、1つのメッシュへまとめる。 |
| build_periodic_shell_mean_plan | bem_periodic_shell_mean | 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_tangent_basis | bem_photoelectron_injection | Subroutine | 面法線ベクトルから接線2軸を構築する。 |
| canonicalize_periodic_emission_position | bem_photoelectron_injection | Subroutine | 法線offset後の周期軸をprimary cellのstrict interiorへ戻す。 |
| cast_photo_ray | bem_photoelectron_injection | Subroutine | 面上の点 |
| cell_id | bem_mesh | Function | 3次元セル添字 |
| cell_id | bem_collision | Function | 3次元セル添字 |
| 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は対応しない。 |
| close_run_outputs | bem_run_outputs | Subroutine | 開いている history writer を閉じる。 |
| complete_plan | bem_coulomb_fmm_core | Interface | |
| compute_face_area_from_bounds | bem_injection_geometry | Function | 注入面上の矩形開口から有効面積[m^2]を返す。 |
| compute_face_average_potential | bem_app_config_potential_runtime | Subroutine | 境界 reservoir 流入面の平均電位を |
| compute_inflow_flux_from_drifting_maxwellian | bem_injection_flux | Function | drifting Maxwellian の片側流入束 [#/m^2/s] を返す。 |
| compute_laplace_derivatives | bem_coulomb_fmm_basis | Subroutine | ラプラス核の多重微分係数を計算する。 1/sqrt(|r|^2 + s^2) の全次数の偏微分 ∂^α f を漸化式で求める。 f = a^{-1/2}(a = |r|^2 + s^2)は a ∂_i f = -x_i f を満たし、Leibniz 則で ∂^β を当てると D(β+e_i) = -[ x_i D(β) + β_i D(β-e_i) + 2Σ_j β_j x_j D(β+e_i-e_j) + Σ_j β_j(β_j-1) D(β+e_i-2e_j) ] / a となる。multi-index は次数昇順に並んでいるので、1 回の走査で全次数が決まる。 旧来の多項式乗算版 compute_laplace_derivatives_reference と同じ値を返す(契約テストで検査)。 |
| compute_laplace_derivatives_reference | bem_coulomb_fmm_basis | Subroutine | 旧実装: (1+q)^{-1/2} の多項式展開を反復乗算で組み立てる。契約テストの参照用に残す。 |
| compute_macro_particles_for_batch | bem_injection_flux | Subroutine | 物理流量・重み・残差から今バッチのマクロ粒子数を決める。 |
| compute_macro_particles_for_species | bem_app_config_particle_runtime | Subroutine | 境界流入用に、物理流量と残差から今バッチのマクロ粒子数を決める。 |
| compute_macro_particles_from_flux | bem_injection_flux | Subroutine | 指定済み粒子 flux・重み・残差から今バッチのマクロ粒子数を決める。 |
| compute_wall_box_potential_statistics | bem_app_config_potential_runtime | Subroutine | box の壁全断面における電位統計をセル中心 |
| config_uses_surface_model | bem_app_config_parser | Function | 現在のメッシュ入力設定が指定された表面モデルを使うかを返す。 |
| coord_to_cell | bem_mesh | Function | 座標をグリッドセル添字へ変換し、範囲外は端セルへ丸める。 |
| coord_to_cell | bem_collision | Function | 座標をグリッドセル添字へ変換し、範囲外は端セルへ丸める。 |
| core_build_panel_plan_impl | bem_coulomb_fmm_plan_ops | Subroutine | |
| core_build_plan_impl | bem_coulomb_fmm_plan_ops | Subroutine | FMM 計画と木構造、転送演算子を構築する。 |
| core_complete_plan_impl | bem_coulomb_fmm_plan_ops | Subroutine | Build the tree, interaction lists and operators of a plan whose sources are prepared. |
| 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_prepare_panel_sources_impl | bem_coulomb_fmm_plan_ops | Subroutine | Panel sources only: options, centroids and panel geometry, as the first part of a plan build.
The plan then supports exact-direct evaluation; |
| core_update_state_impl | bem_coulomb_fmm_state_ops | Subroutine | ソース電荷から FMM state を更新する。 |
| corner_between | bem_templates | Subroutine | 反時計回りに隣接する辺ペアに対し、対応する長方形コーナー座標を返す。 |
| count_face_tokens | bem_importers | Function | 面行に含まれる頂点トークン数を数え、扇形分割時の三角形数算出に使う。 |
| counter_child_id | bem_counter_rng | Function | 親の乱数 id と子の番号から、衝突しにくい 63 bit の子 id を作る(二次電子などの派生粒子用)。 |
| counter_key | bem_counter_rng | Subroutine | seed と counter から PCG64 の (初期状態 seed, stream) を作る。 |
| counter_uniform | bem_counter_rng | Function | (seed, counter, draw) で決まる (0, 1) の一様乱数。 |
| counter_uniforms | bem_counter_rng | Subroutine | (seed, counter) の draw |
| create_directories | bem_filesystem | Subroutine | Recursively create a directory path without invoking a shell. |
| cross | bem_pusher | Function | 3次元ベクトルの外積を返す基本演算。 |
| cross | bem_mesh | Function | 3次元ベクトルの外積を返す基本演算。 |
| cross | bem_collision | Function | |
| default_app_config | bem_app_config_types | Subroutine |
|
| default_periodic_cache_directory | bem_filesystem | Function | User cache shared across working directories; an explicit configuration path takes precedence. |
| derive_field_panel_config | bem_physics_config_types | Subroutine |
|
| 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_shell_mean | bem_periodic_shell_mean | Subroutine | 3 次 Hermite 補間した |
| 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_surface_closure | bem_surface_current_model | Subroutine | モデル固有の診断値をシミュレータへ漏らさず、境界契約だけを返す。 |
| evaluate_surface_current_model | bem_surface_current_model | Subroutine | 設定されたmodelをdispatchし、固定電流closure用のtarget配列を返す。 zhao_stationary で outer を渡すと、後の更新に使う外部解を返す。 |
| extend_particles | bem_particles | Subroutine | 末尾に |
| external_kinetic_face_velocity_correction | bem_app_config_particle_runtime | Interface | |
| factor_tall_matrix_qr | bem_regularized_qr | Subroutine | Re-orthogonalised (two-pass modified Gram-Schmidt) QR of a tall matrix. A column whose residual norm falls below qr_tolerance times its norm (at least 1) gets that floor as its pivot and a zero q column. |
| field_solver_mode_id | bem_runtime_modes | Function | 'direct' / 'treecode' / 'fmm' を enum へ写す。それ以外は direct(場ソルバの既定と同じ)。 |
| 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 | 線分 |
| 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総和を返す。 |
| flush_run_outputs | bem_run_outputs | Subroutine | 開いている history の行を書き出す。checkpoint の完了 manifest を公開する前に呼び、 再開できる batch 以下の history 行がすべて改行まで書かれていることを保証する。 |
| gauss_legendre_unit | bem_triangle_quadrature | Subroutine | |
| generate_batch_slot | bem_app_config_particle_runtime | Interface | |
| 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 | |
| grouped_layout_table | bem_config_layout_paths | Function | Recognize structural tables, rejecting unknown empty groups. |
| 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 | 三角形頂点配列から |
| init_panel_geometry | bem_panel_geometry | Subroutine | |
| init_particle_batch_from_config | bem_app_config_particle_runtime | Interface | |
| init_particles | bem_particles | Subroutine | 位置・速度・電荷・質量(と任意重み)配列から |
| 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 | 種数に合わせて注入状態をゼロ初期化する。 |
| inspect_checkpoint_directory | bem_checkpoint_contract | Subroutine | Inspect one directory without mutating it and require every file declared by its checkpoint generation. |
| integrate_local_polynomial | bem_periodic_zero_mode_plan | Function | 局所座標の多項式を原点から t=0..t_upper まで積分する。 |
| invalidate_checkpoint_directory | bem_checkpoint_contract | Subroutine | Take a directory out of the resume candidates without touching files a later run rewrites.
|
| invalidate_output_checkpoints | bem_periodic_checkpoint | Subroutine | fresh run が出力先を再利用する前に、前の run の最終出力と両 slot を再開候補から外し、index を消す。 各 directory は個別に原子的に無効化される。途中で止まっても残るのは前の run の完全な checkpoint だけで、 この時点では新しい run はまだ何も書いていないので、新旧の混ざった再開状態はできない。 |
| 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面行( |
| is_logical_token | bem_string_utils | Function | Checkpoint writerが生成するlogical tokenと標準的な長形式だけを許可する。 |
| is_vertex_line | bem_importers | Function | 与えられた行がOBJ頂点行( |
| load_app_config | bem_app_config_parser | Subroutine |
|
| 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 文書を |
| locate_batch_slot | bem_app_config_particle_runtime | Subroutine | global slot から (segment, segment 内 index) を求める。O(nsegments) で、slot ごとの表を持たない。 |
| locate_zero_mode_interval | bem_periodic_zero_mode_plan | Subroutine | A target on a breakpoint (same coincidence rule as the plan's breakpoint merge) takes the requested sheet trace; any other target lies strictly inside one interval. |
| lookup_cell_cache | bem_coulomb_fmm_periodic_cell_cache | Subroutine | required のセルを cache から読む。足りなければ cache ディレクトリを作ってロックを取り、待つ間に他の job が 足したセルを読み直す。それでも足りなければロックを保持したまま返し、呼び出し側が作ったセルを publish_cell_cache_and_unlock で書く。have は cache から得たセル。 |
| lower_ascii | bem_string_utils | Function | ASCII 英字を小文字化した文字列を返す。 |
| lower_boundary_authoring | bem_app_config_authoring | Interface | |
| lower_boundary_model_id | bem_runtime_modes | Function | 'e_bottom_zero' / 'symmetric_vacuum' / 'e_top_from_sheath' を enum へ写す。未知の値は unknown。 |
| make_annulus | bem_templates | Subroutine | XY平面上の同心リングを極座標分割し、三角形メッシュを生成する。
(省略時 |
| make_boundary_inflow_spec | bem_app_config_particle_runtime | Subroutine | box 全面の境界流入をサンプリングする面座標を構築する。 |
| make_box | bem_templates | Subroutine | 直方体6面を分割数に応じて三角形化し、外向き法線向きでメッシュを生成する。 |
| make_cylinder | bem_templates | Subroutine | 円柱側面を分割生成し、必要に応じて上下面キャップを追加したメッシュを生成する。
(省略時 |
| make_disk | bem_templates | Subroutine | XY平面上の円板を極座標分割し、外周へ向かって三角形化したメッシュを生成する。 |
| make_icosphere | bem_templates | Subroutine | 正二十面体の各面を再帰的に 4 分割し、辺中点を球面へ射影した球面三角形メッシュを生成する。
UV 球と異なり極の特異点がなく、要素面積の最大/最小比は分割数によらず 1.3 程度に収まる。
隣接面の共有辺の中点は同じ和 |
| make_plane | bem_templates | Subroutine | XY平面を |
| make_plate_hole | bem_templates | Subroutine | XY平面の長方形プレートから円形穴を除いたメッシュを生成する。
穴境界は |
| 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 | |
| mesh_part_config_path | bem_app_config_types | Function | 診断に使う公開 mesh 配列の添字付きパスを返す。 |
| mpi_allgatherv_inplace_i32 | bem_mpi | Subroutine |
|
| mpi_allgatherv_inplace_real_dp | bem_mpi | Subroutine | 各rankが |
| 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順に連結する。 |
| mpi_get_rank_size | bem_mpi | Subroutine |
|
| 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_split_count | bem_mpi | Function | 総数 |
| mpi_world_barrier | bem_mpi | Subroutine | 全rankの同期ポイント。 |
| mpi_world_size | bem_mpi | Function | MPI world size を返す(size<=0 は 1 へ補正)。 |
| next_face_token | bem_importers | Subroutine | 面行の |
| nodes_well_separated | bem_coulomb_fmm_tree_utils | Function | target/source ノードが十分離れているかを判定する。 |
| normalize_config_layout | bem_config_layout | Subroutine | 7グループの公開入力を内部reader用のdocumentへ正規化する。 |
| normalize_high_level_config | bem_app_config_authoring | Subroutine | authoring overlay の高水準キーを |
| normalize_legacy_physics_config | bem_physics_config_types | Subroutine | 現行 |
| octant_index | bem_coulomb_fmm_tree_utils | Function | 座標が親ノード中心のどの八分木に属するかを返す。 |
| open_fixed_current_history_writer | bem_output_writer | Interface | |
| open_history_writer | bem_output_writer | Interface | |
| open_matching_plane_history_writer | bem_output_writer | Interface | |
| open_matching_plane_spectrum_history_writer | bem_output_writer | Interface | |
| open_potential_history_writer | bem_output_writer | Interface | |
| open_run_outputs | bem_run_outputs | Subroutine | root rank で出力先をこの run のものにしてから、設定どおりに history writer を開く。root 以外は全て無効(unit=-1)。 |
| open_secondary_emission_history_writer | bem_output_writer | Interface | |
| open_top_reference_history_writer | bem_output_writer | Interface | |
| open_uniform_from_double53 | bem_counter_rng | Function | 53 bit 格子値 raw = k/2^53(k = 0..2^53-1)を (0, 1) へ写す。
raw に 2^-54 を足し、binary64 の最近接丸めで 1.0 になる最上端 k = 2^53-1 だけを 1 の直前値 1-2^-53 に留める。
それ以外の k では |
| order_by_i32_key | bem_sorting | Subroutine | Indices that list |
| outflow_spectrum_bin | bem_outflow_spectrum | Function | 法線運動エネルギーが属する bin。範囲外と NaN は端の bin に数える。 |
| outflow_spectrum_edges_ev | bem_outflow_spectrum | Function | bin 境界 [eV]。要素数は bin 数 + 1。 |
| panel_field_sum_translated | bem_panel_kernel | Subroutine | Principal-value field at |
| panel_field_sum_translated_sp | bem_panel_kernel | Subroutine | Single-precision counterpart of |
| 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_potential_field_translated | bem_panel_kernel | Subroutine | Principal-value potential and field of |
| panel_potential_sum_translated | bem_panel_kernel | Subroutine | Principal-value potential counterpart of |
| panel_potential_sum_translated_sp | bem_panel_kernel | Subroutine | Single-precision counterpart of |
| panel_singular_potential_oracle | bem_panel_quadrature | Subroutine | |
| parse_face_line | bem_importers | Subroutine |
|
| parse_obj | bem_importers | Subroutine | OBJの頂点/面行を解析し、負インデックス対応で配列へ格納する。 |
| parse_vertex_line | bem_importers | Subroutine |
|
| particle_boundary_action_for_face | bem_config_helpers | Function | 6面名に対応する有効粒子境界作用を返す。 |
| particle_capacity | bem_particles | Function | 確保済みの粒子枠数。未確保なら 0。 |
| particle_source_plan_matches_mpi | bem_app_config_particle_runtime | Function | source plan がこの rank/size と mpi 引数の有無で構築されたかを返す。 rank、size、mpi 引数の有無はそれぞれ独立に一致する必要がある。 |
| particle_status_name | bem_status_codes | Function | collision query または粒子 step の失敗 status の名前。未知の値は 'unknown'。 |
| particle_substep_needs_halving | bem_particle_stepper | Function | step 候補の中点電場 e_mid が参照電場 e_ref から change_max の割合より大きく変わり、 その差が変位 x1-x0 にわたる仕事に換算して床値を超えるとき真。 |
| particles_per_batch_from_config | bem_app_config_types | Function | 有効な粒子種の |
| pcg64_open_uniform | bem_counter_rng | Function | PCG64(state_seed, stream) を draw 回進めた次の値を (0, 1) で返す(変換は |
| perf_add_elapsed | bem_performance_profile | Subroutine | 経過時間と呼び出し回数を累積する。 |
| perf_configure | bem_performance_profile | Subroutine | 明示フラグで計測状態を設定する。 |
| perf_configure_from_env | bem_performance_profile | Subroutine | 環境変数 |
| 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有効時は |
| perf_write_outputs | bem_performance_profile | Subroutine | 集計済みプロファイルを標準出力および CSV へ書き出す。 |
| periodic2_ewald_exp_erfc | bem_coulomb_fmm_periodic_ewald | Function | periodic2 Ewald の k≠0 項 exp(kz)erfc(karg0 + adz) を overflow させずに返す。 kz = ±|k|dz と adz = ±alphadz は同じ符号で、karg0 = |k|/(2 alpha) なので kz - (karg0 + adz)^2 = -(karg0^2 + adz^2) が成り立つ。 exp(kz) が binary64 で有限な kz では元の積をそのまま返す(従来の式とビット一致)。 exp(kz) が overflow する kz では y = karg0 + adz >= sqrt(2 kz) > 37 なので erfc は 0 に underflow し、 元の積は inf0 = NaN になる。この範囲だけ exp(-(karg0^2 + adz^2))erfc_scaled(y) で評価する。 真値はこのとき exp(-kz) 以下で、binary64 では 0 か非正規数になる。 |
| periodic_cache_fingerprint | bem_coulomb_fmm_periodic_cache | Function | |
| periodic_checkpoint_due | bem_periodic_checkpoint | Function | accepted batch |
| periodic_operator_checksum | bem_coulomb_fmm_periodic_cache | Function | |
| periodic_shell_mean_excess | bem_periodic_shell_mean | Subroutine | 単位電荷 1 個の |
| periodic_shell_mean_point_excess | bem_periodic_shell_mean | Subroutine | 点線源 1 個の |
| periodic_source_proxy_half_size | bem_coulomb_fmm_types | Function | Expand all box faces by the same padding, with proxy corner radius = scale * cell half diagonal. |
| photo_ray_macro_weight | bem_photoelectron_injection | Function | 1 本の光線で放出されるマクロ粒子の重み(全 rank 合計 |
| 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_built_periodic2_collision_mesh | bem_mesh | Subroutine |
|
| prepare_panel_sources | bem_coulomb_fmm_core | Interface | |
| prepare_periodic2_collision_mesh | bem_mesh | Subroutine | periodic2 用に primitive cell メッシュを canonical unwrapped 形へ平行移動し、 幾何キャッシュと collision grid を再構築する。 |
| prepare_periodic_cache_and_stop | main | Subroutine | periodic2 の遠方補正 operator を作成(または cache から読込)して publish し、終了する。 本番 run より多い MPI rank で cold build だけを済ませる用途。target anchor が rank に分配されるので rank 数に応じて短くなる。結果ファイルや checkpoint は書かない。 |
| prepare_regularized_qr | bem_regularized_qr | Subroutine | |
| print_run_summary | bem_output_writer | Subroutine | 実行結果の主要統計を標準出力へ表示する。 |
| publish_cell_cache_and_unlock | bem_coulomb_fmm_periodic_cell_cache | Subroutine | cache にあったセルと新しく作ったセルを合わせて書き、ロックを外す。 |
| 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 | 三角形頂点 |
| random_uniform | bem_random_stream | Interface | |
| ray_to_rectangle | bem_templates | Subroutine | XY平面上で、中心からのレイと長方形境界の最短交点を返す。 |
| read_matching_plane_summary_key | bem_matching_plane_summary | Subroutine | receipt のキーだけ value を読み戻す。found は表と同じ添字で、重複の検出に使う。 |
| read_matching_summary_real | bem_matching_plane_summary | Subroutine | |
| read_mesh_groups_table | bem_app_config_parser | Interface | |
| read_obj_line | bem_importers | Subroutine | OBJの1行を長さ制限なしで読み、行末の CR を除く。 固定長バッファで読むと長い面行が短い有効な面へ切り詰められるため、 非前進読込で行末まで連結する。 |
| 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 | |
| reader_layout_path | bem_config_layout_paths | Function | Return the existing reader path for one grouped setting. |
| refresh_periodic_shell_mean_state | bem_periodic_shell_mean | Subroutine | 線源電荷から |
| refresh_periodic_zero_mode_state | bem_periodic_zero_mode_plan | Subroutine | |
| refresh_zhao_outflow_closure | bem_surface_current_model | Subroutine | 外部解を観測したH外向き流出で更新する。前回の根を初期値にし、同じbranchを先に試す。 根が解けないか、解けた根の closure を棄却したときは outer を前回のまま残し、success=.false. を返す。 呼出し側はこのとき前回の closure を使い続けるので、外部根もそれと揃えておく。 |
| release_file_lock | bem_filesystem | Subroutine | |
| remove_file_if_exists | bem_filesystem | Subroutine | Remove one named file; a missing file counts as success. unlink never removes a directory. |
| remove_previous_run_outputs | bem_output_writer | Interface | |
| require_matching_plane_summary_keys | bem_matching_plane_summary | Subroutine | schema 9 以降の checkpoint では required のキーが全て揃っていなければ再開しない。 |
| require_toml_success | bem_config_toml | Subroutine | |
| reserve_particles | bem_particles | Subroutine | 容量を |
| reservoir_face_velocity_correction | bem_app_config_particle_runtime | Interface | |
| reset_fmm_plan | bem_coulomb_fmm_types | Subroutine | FMM plan を初期状態へ戻す。 The plan owns only allocatable storage (no pointers), so intent(out) deallocates every component and applies the type's default values; there is no second list of fields to keep in sync. |
| reset_fmm_state | bem_coulomb_fmm_types | Subroutine | FMM state を初期状態へ戻す。 |
| reset_periodic2_ewald_data | bem_coulomb_fmm_types | Subroutine | periodic2 Ewald 用の補助データを初期状態へ戻す。 intent(out) deallocates every allocatable component and applies the type's default values. |
| reset_periodic_shell_mean_plan | bem_periodic_shell_mean | Subroutine | |
| reset_periodic_shell_mean_state | bem_periodic_shell_mean | Subroutine | |
| 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 | 局所流入補正を解決し、種別 kinetic 障壁を初期化する。 |
| 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_irradiation_cell_contract | bem_irradiation_cell_contract | Subroutine | preflight 済み設定から run に不変な前提を一度解決する。free-space 参照構成も保持する。 |
| 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 | Apply one policy to every element, or to the elements of one mesh_id. |
| resolve_panel_surface_sides_by_mesh_id | bem_panel_surface_sides | Subroutine | Apply |
| resolve_parallel_rank_size | bem_app_config_particle_runtime | Subroutine | 併存対応のため |
| resolve_particle_boundaries | bem_config_helpers | Subroutine | domain topology、global既定、粒子種overrideから有効な粒子境界を解決する。 |
| resolve_particle_boundary_candidate | bem_particle_stepper | Subroutine | 構築済みcandidateとその場評価値からbox eventを解決する。 |
| resolve_periodic2_axes | bem_periodic2_axes | Subroutine | fields.boundary="periodic2" なら周期軸 2 本と周期長を返す。それ以外は use_periodic2=.false.。 |
| resolve_periodic2_ewald_alpha | bem_coulomb_fmm_periodic_ewald | Function | periodic2 Ewald の減衰係数 alpha を決定する。 |
| 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_emission_velocity | bem_photoelectron_injection | Subroutine | 光電子放出速度を局所法線座標でサンプルする。 |
| sample_photo_ray_slot | bem_photoelectron_injection | Subroutine | 1 本の光線を counter-based 乱数で発射し、当たれば光電子を 1 つ返す。
面内の発射位置は |
| sample_reservoir_face_particle_counter | bem_injection_flux | Subroutine | 上流リザーバ境界から流入する粒子を 1 つ、counter-based 乱数で面注入としてサンプルする。 同じ (seed, counter) は常に同じ粒子を返すので、どの rank・thread が生成しても結果は同じ。 速度の法線成分は flux-weighted に draw 1、面内位置は draw 2, 3、熱速度は draw 100 以降を使う。 |
| sample_shifted_maxwell_velocities | bem_injection_random | Subroutine | ドリフト速度付きMaxwell分布(温度または熱速度指定)から粒子速度を生成する。 |
| sample_standard_normal | bem_injection_random | Subroutine | Box–Muller法で標準正規乱数を生成し、任意形状配列へ詰める。 |
| sample_uniform_positions | bem_injection_random | Subroutine | 直方体領域 |
| scan_obj | bem_importers | Subroutine | OBJを行走査して頂点数と三角形分割後の面数を事前計数する。 |
| secondary_emission_count | bem_secondary_emission | Function | |
| secondary_emission_yield | bem_secondary_emission | Function | |
| seed_particles_from_config | bem_app_config_particle_runtime | Subroutine | バッチ生成前に乱数シードだけを初期化する。 |
| seed_random_stream | bem_random_stream | Subroutine | 乱数列の seed を設定する。複数の値は順に混ぜて 1 つの seed にする。 |
| seed_rng | bem_injection_random | Subroutine | 与えたシード列またはシステム時刻から逐次 PCG64 乱数列を初期化する。 |
| segment_aabb_intersection_t | bem_collision | Subroutine | 線分 |
| 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法で線分と三角形の交差有無・線分パラメータ |
| solve_regularized_qr | bem_regularized_qr | Subroutine | |
| solve_zhao_outflow_closure | bem_surface_current_model | Subroutine | 表面放出はそのままに、matching planeで観測したPE流出を外部Zhaoシースの放出源として零電流根を解き直す。 |
| sort_real_ascending | bem_sorting | Subroutine | Sort finite real values ascending in place (heapsort; equal values may change order). |
| species_closure_mode | bem_surface_closure_contract | Function | 種 species_idx の固定電流 closure 方式(bem_runtime_modes の closure_mode_*)。 設定が fixed_current でも外部根の目標もなければ none。方式は contract のフラグから導くので、 方式とフラグが食い違うことはない。 |
| species_config_path | bem_app_config_types | Function | 診断に使う公開 species 配列の添字付きパスを返す。 |
| species_from_defaults | bem_app_config_types | Function |
|
| species_number_density_m3 | bem_config_helpers | Function | 粒子種設定から有効粒子数密度 [1/m^3] を計算する。 |
| species_temperature_k | bem_config_helpers | Function | 粒子種設定から有効温度 [K] を計算する。 |
| sph | bem_templates | Subroutine | 球座標 |
| stop_config_error | bem_config_toml | Subroutine | 診断を明示出力し、Intel の動的 ERROR STOP 文字列の問題を避ける。 |
| strip_cr | bem_importers | Subroutine | 行末の CR 文字 (char 13) をスペースに置換し、CRLF 改行の OBJ に対応する。 |
| surface_charge_closure_id | bem_runtime_modes | Function | 'explicit' / 'fixed_current' / 'neutral_return' を enum へ写す。未知の値は unknown。 |
| surface_model_id_from_name | bem_app_config_mesh_runtime | Function | 表面モデル名をメッシュ要素用の整数IDへ変換する。 |
| symmetric_vacuum_bottom_field | bem_periodic_zero_mode_plan | Function | |
| transition_corner_count | bem_templates | Function | 長方形外周を反時計回りに見たとき、辺遷移で通過するコーナー数を返す。 |
| transition_corners | bem_templates | Subroutine | 辺遷移時に通過するコーナー列(最大3点)を返す。 |
| trim_history_files | bem_output_writer | Interface | |
| trim_particles | bem_particles | Subroutine | 先頭 |
| update_mesh_geometry | bem_mesh | Subroutine | 頂点配列から重心・法線・AABB・代表長・collision grid を再構築する。 |
| update_state | bem_coulomb_fmm_core | Interface | |
| upper_fourier_auto_height_range | bem_physics_config_types | Subroutine | Candidate interval [lower, upper] of the automatic upper Fourier switch height. Shared by the preflight and the snapshot's candidate planes. lower keeps the 0.25 min(Lx,Ly) clearance above the mesh top; upper sits 1e-9 of the box height below H, and at least one float below H when that margin is under H's ULP, so the interval depends on the box geometry and not on the sign or magnitude of the absolute z coordinate. |
| 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_phase1_panel_config | bem_physics_config_types | Subroutine | triangle P0 direct/treecode/FMM kernel の solver/boundary 契約を検証する。 |
| validate_restart_contract | bem_restart | Interface | |
| validate_upper_fourier_height | bem_physics_config_types | Subroutine | Geometry preflight after mesh construction; called before the cached operator is built. |
| warn_face_average_potential_variation | bem_app_config_potential_runtime | Subroutine | 注入面の局所電位差が面平均 reservoir 近似の特徴エネルギーに対して大きい場合に警告する。 |
| wrap_periodic2_point | bem_coulomb_fmm_periodic | Subroutine | periodic2 領域内へ点座標を折り返す。評価点はここで一度だけ正準化し、以降の leaf 探索と展開は同じ座標を使う。 |
| wrap_periodic2_point | bem_collision | Subroutine | point を primary cell へ折り返す。 |
| wrap_src_pos_to_primary_cell | bem_coulomb_fmm_periodic | Subroutine | plan 内の全ソース位置を primary cell |
| write_checkpoint_state_files | bem_output_writer | Subroutine | 再開に必要な root-rank 共通状態だけをチェックポイントへ保存する。 |
| write_fixed_current_history_rows | bem_output_writer | Interface | |
| write_macro_residuals_file | bem_restart | Interface | |
| write_matching_plane_history_snapshot | bem_output_writer | Interface | |
| write_matching_plane_spectrum_history_rows | bem_output_writer | Interface | |
| write_matching_plane_summary | bem_matching_plane_summary | Subroutine | receipt を表の順に summary.txt へ書く。 |
| write_periodic_operator_cache | bem_coulomb_fmm_periodic_cache | Subroutine | |
| write_result_files | bem_output_writer | Subroutine | 解析結果を |
| write_secondary_emission_history_rows | bem_output_writer | Interface | |
| write_top_reference_history_snapshot | bem_output_writer | Interface | |
| zero_mode_charge_primitive | bem_periodic_zero_mode_plan | Function | |
| zero_mode_heights_coincide | bem_periodic_zero_mode_plan | Function | Two heights are one breakpoint when they differ by at most the plan's geometric tolerance or by the few ULPs that binary64 cannot resolve at their magnitude. Only the second term sees the absolute coordinate, so a representable tilt (tens of ULPs) far from the origin stays inclined. |
| zero_mode_interval_origin | bem_periodic_zero_mode_plan | Function | 区間 interval の累積電荷多項式の原点。区間 1 は最下 break、それ以外は区間の左端 break。 |