Procedures

ProcedureLocationProcedure TypeDescription
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_all_sources bem_coulomb_fmm_periodic_ewald Subroutine

全ソース分の periodic2 Ewald 補正を加算する。

add_periodic2_exact_ewald_correction_single_source bem_coulomb_fmm_periodic_ewald Subroutine

1 粒子分の periodic2 Ewald 補正を加算する。

add_periodic2_exact_ewald_potential_correction_all_sources bem_coulomb_fmm_periodic_ewald Subroutine

全ソース分の periodic2 Ewald の電位補正を加算する。

add_periodic2_exact_ewald_potential_correction_single_source bem_coulomb_fmm_periodic_ewald Subroutine

1 粒子分の periodic2 Ewald の電位補正を加算する。

add_point_charge_images_field bem_coulomb_fmm_periodic Subroutine

画像電荷を足し合わせて点電荷の電場を加算する。

append_i32_buffer bem_coulomb_fmm_tree_utils Subroutine

整数バッファへ値を追加し、必要なら容量を拡張する。

append_mesh_ids bem_app_config_runtime Subroutine

既存の要素メッシュID配列へ追加分を連結する。

append_triangles bem_app_config_runtime Subroutine

既存三角形配列へ追加分を連結し、再確保後の配列へ差し替える。

apply_box_boundary bem_boundary Subroutine

1ステップの更新候補位置にボックス境界条件を適用し、生存/流出状態と位置速度を更新する。

apply_mesh_kv bem_app_config_parser Subroutine

[mesh] セクションのキーをメッシュ入力設定へ適用する。

apply_normal_speed_override bem_app_config_runtime Subroutine
apply_obj_transform bem_app_config_runtime Subroutine

OBJ メッシュの全頂点にスケール→回転→平行移動を適用し再初期化する。 変換順序: v_new = R(rotation) * (v_old * scale) + offset 回転は度単位で x→y→z の順に外因性 (extrinsic) 回転を適用する。

apply_output_kv bem_app_config_parser Subroutine

[output] セクションのキーを出力制御設定へ適用する。

apply_particles_kv bem_app_config_parser Subroutine

[particles] セクションのキーを検証する。

apply_particles_species_kv bem_app_config_parser Subroutine

[[particles.species]] のキーを粒子種設定へ適用する。

apply_periodic2_minimum_image bem_coulomb_fmm_periodic Subroutine

periodic2 の minimum image を差分ベクトルへ適用する。

apply_sim_kv bem_app_config_parser Subroutine

[sim] セクションのキーを sim_config へ適用する。

apply_template_kv bem_app_config_parser Subroutine

[[mesh.templates]] のキーをテンプレート設定へ適用する。

bbox_inside_box bem_collision Function
boris_push bem_pusher Subroutine

電場半ステップ加速と磁場回転を組み合わせ、1タイムステップ後の位置・速度を計算する。

build_axis_powers bem_coulomb_fmm_basis Subroutine

3 軸の冪を order まで順に計算する。

build_collision_grid bem_mesh Subroutine

三角形AABBを一様グリッドへ登録し、衝突判定の候補探索を高速化する。 要素数が少ない場合は線形探索にフォールバックする。

build_mesh_from_config bem_app_config_runtime Subroutine

mesh_mode と OBJ ファイル有無に応じてメッシュ生成方法を選ぶ。

build_mesh_from_indexed bem_importers Subroutine

頂点配列と三角形インデックス配列から面頂点配列(v0,v1,v2)を展開して初期化する。

build_one_template bem_app_config_runtime Subroutine

テンプレート種別に応じて形状生成ルーチンへディスパッチする。

build_periodic_shift_values bem_coulomb_fmm_periodic Subroutine

periodic2 の画像シフト値を作成する。

build_plan bem_coulomb_fmm_core Interface
build_template_mesh bem_app_config_runtime Subroutine

有効なテンプレートを連結し、1つのメッシュへまとめる。

build_type_a_branch_from_minimum bem_sheath_model_core Subroutine
build_zhao_params bem_sheath_model_core Subroutine
cell_id bem_mesh Function

3次元セル添字 (ix,iy,iz) をCSR一次元インデックスへ変換する。

cell_id bem_collision Function

3次元セル添字 (ix,iy,iz) をCSR一次元インデックスへ変換する。

compute_face_area_from_bounds bem_injection Function

注入面上の矩形開口から有効面積[m^2]を返す。

compute_face_area_from_bounds bem_app_config_parser Interface
compute_face_average_potential bem_app_config_runtime Subroutine

reservoir_face 開口面の平均電位を N x N 格子平均で評価する。

compute_inflow_flux_from_drifting_maxwellian bem_injection Function

drifting Maxwellian の片側流入束 [#/m^2/s] を返す。

compute_inflow_flux_from_drifting_maxwellian bem_app_config_parser Interface
compute_laplace_derivatives bem_coulomb_fmm_basis Subroutine

ラプラス核の多重微分係数を計算する。

compute_macro_particles_for_batch bem_injection Subroutine

物理流量・重み・残差から今バッチのマクロ粒子数を決める。

compute_macro_particles_for_species bem_app_config_runtime Subroutine

reservoir_face 用に、物理流量と残差から今バッチのマクロ粒子数を決める。

compute_periodic_shift_bounds bem_collision Subroutine

線分 AABB と canonical mesh AABB の重なりから必要な image shift 範囲を決める。

coord_to_cell bem_mesh Function

座標をグリッドセル添字へ変換し、範囲外は端セルへ丸める。

coord_to_cell bem_collision Function

座標をグリッドセル添字へ変換し、範囲外は端セルへ丸める。

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_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

面行に含まれる頂点トークン数を数え、扇形分割時の三角形数算出に使う。

cross bem_mesh Function

3次元ベクトルの外積を返す基本演算。

cross bem_collision Function
cross bem_pusher Function

3次元ベクトルの外積を返す基本演算。

default_app_config bem_app_config_types Subroutine

app_config を既定値で初期化し、TOML 上書き前の状態を作る。

destroy_plan bem_coulomb_fmm_core Interface
destroy_state bem_coulomb_fmm_core Interface
detect_sheath_species bem_sheath_runtime Subroutine
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

境界辺の反時計回り順序インデックスを返す。

electric_field_at bem_field Subroutine

全要素電荷を点電荷近似で総和し、softening付きで観測点 r の電場ベクトルを返す。

electric_potential_at bem_field Subroutine

全要素電荷を点電荷近似で総和し、softening付きで観測点 r の電位を返す。

ends_with bem_app_config_parser Interface
ensure_output_dir bem_output_writer Subroutine

出力ディレクトリを作成する。

ensure_particle_species_capacity bem_app_config_parser Subroutine

[[particles.species]] の読み込み数に応じて粒子種配列容量を拡張する。

ensure_template_capacity bem_app_config_parser Subroutine

[[mesh.templates]] の読み込み数に応じてテンプレート配列容量を拡張する。

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_zhao_density_hat bem_sheath_model_core Subroutine
evaluate_zhao_rho_hat bem_sheath_model_core Subroutine
evaluate_zhao_state_from_phi_hat bem_sheath_model_core Subroutine
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 の結果を統合する。

has_valid_target_box bem_coulomb_fmm_periodic Function

periodic2 の target box が有効かを判定する。

init_mesh bem_mesh Subroutine

三角形頂点配列から mesh_type を初期化し、幾何キャッシュと要素電荷配列を準備する。

init_particle_batch_from_config bem_app_config_runtime Subroutine

指定バッチ番号に対応する粒子バッチを生成する。

init_particles bem_particles Subroutine

位置・速度・電荷・質量(と任意重み)配列から particles_soa を検証付きで構築する。

init_particles_from_config bem_app_config_runtime Subroutine

設定全体ぶんの粒子群を生成し、SoA へ詰める。 粒子種ごとに乱数サンプルした後、種ごとに rank を揃えて interleave する。

init_random_beam_particles bem_injection 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

種数に合わせて注入状態をゼロ初期化する。

interpolate_profile_value bem_sheath_model_core Function
is_face_line bem_importers Function

与えられた行がOBJ面行(f)かを判定する。

is_vertex_line bem_importers Function

与えられた行がOBJ頂点行(v)かを判定する。

load_app_config bem_app_config_parser Subroutine

.toml 拡張子の設定ファイルを読み込み、既存値へ上書き適用する。

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 セクションと key = value を解釈して設定へ反映する。 現在は sim / mesh / output / [[mesh.templates]] / [[particles.species]] を扱う。

lower_ascii bem_string_utils Function

ASCII 英字を小文字化した文字列を返す。

make_annulus bem_templates Subroutine

XY平面上の同心リングを極座標分割し、三角形メッシュを生成する。

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

経度・緯度分割に基づき球面三角形メッシュを生成する。

mpi_allreduce_max_real_dp_array bem_mpi Subroutine

倍精度配列の最大値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_real_dp_array bem_mpi Subroutine

倍精度配列の総和Allreduceをin-placeで実行する。

mpi_allreduce_sum_real_dp_scalar bem_mpi Subroutine

倍精度スカラの総和Allreduceをin-placeで実行する。

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_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 へ補正)。

no_photo_current_balance bem_sheath_model_core Function
nodes_well_separated bem_coulomb_fmm_tree_utils Function

target/source ノードが十分離れているかを判定する。

numerical_jacobian bem_sheath_model_core Subroutine
octant_index bem_coulomb_fmm_tree_utils Function

座標が親ノード中心のどの八分木に属するかを返す。

open_history_writer bem_output_writer Subroutine

履歴 CSV のオープンとヘッダ初期化を行う。

open_potential_history_writer bem_output_writer Subroutine

電位履歴 CSV のオープンとヘッダ初期化を行う。

parse_boundary_mode bem_app_config_parser Interface
parse_face_line bem_importers Subroutine

f 行の頂点参照を抽出し、v/vt/vn 形式から頂点インデックスのみを取り出す。

parse_int bem_app_config_parser Interface
parse_logical bem_app_config_parser Interface
parse_obj bem_importers Subroutine

OBJの頂点/面行を解析し、負インデックス対応で配列へ格納する。

parse_real bem_app_config_parser Interface
parse_real3 bem_app_config_parser Interface
parse_string bem_app_config_parser Interface
parse_vertex_line bem_importers Subroutine

v x y z 形式の頂点行を3次元座標へ変換する。

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 へ書き出す。

point_inside_box bem_collision Function
point_inside_box_periodic2 bem_collision 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 を再構築する。

print_run_summary bem_output_writer Subroutine

実行結果の主要統計を標準出力へ表示する。

push_tri bem_templates Subroutine

三角形頂点 a,b,c を出力配列の次インデックスへ書き込む。

ray_to_rectangle bem_templates Subroutine

XY平面上で、中心からのレイと長方形境界の最短交点を返す。

reservoir_face_velocity_correction bem_app_config_runtime Subroutine

reservoir_face 注入に対する法線速度補正パラメータを計算する。

reset_fmm_plan bem_coulomb_fmm_types Subroutine

FMM plan を初期状態へ戻す。

reset_fmm_state bem_coulomb_fmm_types Subroutine

FMM state を初期状態へ戻す。

reset_periodic2_ewald_data bem_coulomb_fmm_types Subroutine

periodic2 Ewald 用の補助データを初期状態へ戻す。

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_face_axes bem_app_config_parser Interface
resolve_face_sampling_geometry bem_app_config_runtime Subroutine

注入面名から法線軸・接線軸・境界値・内向き法線を返す。

resolve_inject_face bem_config_helpers Subroutine

注入面識別子から法線軸と対応境界座標を返す。

resolve_inward_normal bem_config_helpers Subroutine

注入面識別子から内向き法線ベクトルを返す。

resolve_parallel_rank_size bem_app_config_runtime Subroutine

併存対応のため mpi_context と rank/size の両方を受け、最終的なrank/sizeを解決する。

resolve_periodic2_collision_config bem_mesh Subroutine

periodic2 collision で使う 2 軸周期設定を検証付きで解決する。

resolve_periodic2_collision_config bem_collision Subroutine

periodic2 collision で必要な 2 軸周期設定を解決する。

resolve_periodic2_ewald_alpha bem_coulomb_fmm_periodic_ewald Function

periodic2 Ewald の減衰係数 alpha を決定する。

resolve_reservoir_target_weight bem_app_config_runtime Subroutine

reservoir_face の target 個数からシース補正込み重みを解決する。

resolve_sheath_injection_context bem_sheath_runtime Subroutine
resolve_sheath_reference_plane bem_sheath_runtime Subroutine
resolve_species_drift_speed bem_sheath_model_core Function
restart_macro_residual_path bem_restart Function

マクロ残差ファイルのパスを返す。MPI複数rank時は rank 接尾辞付きパスへ切り替える。

restart_rng_state_path bem_restart Function

RNG状態ファイルのパスを返す。MPI複数rank時は rank 接尾辞付きパスへ切り替える。

run_absorption_insulator bem_simulator Interface
sample_monotonic_phi_hat_at_z bem_sheath_model_core Subroutine
sample_photo_raycast_particles bem_injection Subroutine

光線を注入面からレイキャストし、最初の命中要素から光電子を放出する。

sample_photo_species_state bem_app_config_runtime Subroutine

photo_raycast 粒子種のレイキャスト放出を実行する。

sample_reservoir_face_particles bem_injection Subroutine

上流リザーバ境界から流入する粒子群を面注入としてサンプルする。

sample_shifted_maxwell_velocities bem_injection Subroutine

ドリフト速度付きMaxwell分布(温度または熱速度指定)から粒子速度を生成する。

sample_species_state bem_app_config_runtime Subroutine

1粒子種ぶんの位置・速度サンプルをまとめて生成する。

sample_type_a_phi_hat_at_z bem_sheath_model_core Subroutine
sample_uniform_positions bem_injection Subroutine

直方体領域 [low, high] 内で一様分布の初期位置をサンプリングする。

sample_zhao_reservoir_state bem_sheath_runtime Subroutine
sample_zhao_state_at_z bem_sheath_model_core Subroutine
scan_obj bem_importers Subroutine

OBJを行走査して頂点数と三角形分割後の面数を事前計数する。

seed_particles_from_config bem_app_config_runtime Subroutine

バッチ生成前に乱数シードだけを初期化する。

seed_rng bem_injection 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_no_photo_floating_potential bem_sheath_model_core Subroutine
solve_nonlinear_system bem_sheath_model_core 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_runtime Function

粒子種設定から実効密度[m^-3]を返す。

species_number_density_m3 bem_config_helpers Function

粒子種設定から有効粒子数密度 [1/m^3] を計算する。

species_temperature_k bem_app_config_runtime Function

粒子種設定から実効温度[K]を返す。

species_temperature_k bem_config_helpers Function

粒子種設定から有効温度 [K] を計算する。

sph bem_templates Subroutine

球座標 (theta, phi) を中心 c・半径 r の直交座標へ変換する。

split_key_value bem_app_config_parser Interface
standard_normal_cdf bem_app_config_parser Interface
standard_normal_pdf bem_app_config_parser Interface
strip_comment bem_app_config_parser Interface
strip_cr bem_importers Subroutine

行末の CR 文字 (char 13) をスペースに置換し、CRLF 改行の OBJ に対応する。

swe_free_current_term bem_sheath_model_core Function
temperature_ev_from_species bem_sheath_model_core Function
to_sheath_model_species bem_sheath_runtime Function
total_particles_from_config bem_app_config_types Function

バッチ数と1バッチ粒子数から総粒子数を返す。

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
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_m2l_root_oracle bem_coulomb_fmm_periodic Function

periodic2 の far correction に oracle 版を使うか判定する。

use_periodic2_root_operator bem_coulomb_fmm_periodic Function

periodic2 の root operator を使うか判定する。

validate_photo_raycast_species bem_app_config_parser Interface
validate_reservoir_species bem_app_config_parser Interface
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_macro_residuals_file bem_restart Subroutine

マクロ粒子残差を macro_residuals.csv として保存する。

write_result_files bem_output_writer Subroutine

解析結果を summary.txt / charges.csv / mesh_triangles.csv などとして保存する。

write_rng_state_file bem_restart Subroutine

現在の Fortran 乱数状態をファイルへ保存する。

zhao_electron_vmin_normal bem_sheath_model_core Function
zhao_photo_emit_current_density bem_sheath_model_core Function
zhao_photo_vmin_normal bem_sheath_model_core Function
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
call~~graph~~CallGraph interface~build_plan build_plan interface~compute_face_area_from_bounds compute_face_area_from_bounds interface~compute_inflow_flux_from_drifting_maxwellian compute_inflow_flux_from_drifting_maxwellian interface~destroy_plan destroy_plan interface~destroy_state destroy_state interface~ends_with ends_with interface~eval_point eval_point interface~eval_points eval_points interface~eval_potential_point eval_potential_point interface~eval_potential_points eval_potential_points interface~parse_boundary_mode parse_boundary_mode interface~parse_int parse_int interface~parse_logical parse_logical interface~parse_real parse_real interface~parse_real3 parse_real3 interface~parse_string parse_string interface~resolve_batch_duration resolve_batch_duration interface~resolve_face_axes resolve_face_axes interface~run_absorption_insulator run_absorption_insulator interface~split_key_value split_key_value interface~standard_normal_cdf standard_normal_cdf interface~standard_normal_pdf standard_normal_pdf interface~strip_comment strip_comment interface~update_state update_state interface~validate_photo_raycast_species validate_photo_raycast_species interface~validate_reservoir_species validate_reservoir_species proc~active_tree_child_count active_tree_child_count proc~active_tree_child_idx active_tree_child_idx proc~active_tree_child_octant active_tree_child_octant proc~active_tree_level_bounds active_tree_level_bounds proc~active_tree_level_node active_tree_level_node proc~active_tree_max_depth active_tree_max_depth proc~active_tree_nnode active_tree_nnode proc~active_tree_node_center active_tree_node_center proc~active_tree_node_half_size active_tree_node_half_size proc~active_tree_node_radius active_tree_node_radius proc~add_periodic2_exact_ewald_correction_all_sources add_periodic2_exact_ewald_correction_all_sources proc~add_periodic2_exact_ewald_correction_single_source add_periodic2_exact_ewald_correction_single_source proc~add_periodic2_exact_ewald_correction_all_sources->proc~add_periodic2_exact_ewald_correction_single_source proc~add_periodic2_exact_ewald_potential_correction_all_sources add_periodic2_exact_ewald_potential_correction_all_sources proc~add_periodic2_exact_ewald_potential_correction_single_source add_periodic2_exact_ewald_potential_correction_single_source proc~add_periodic2_exact_ewald_potential_correction_all_sources->proc~add_periodic2_exact_ewald_potential_correction_single_source proc~add_point_charge_images_field add_point_charge_images_field proc~append_i32_buffer append_i32_buffer proc~append_mesh_ids append_mesh_ids proc~append_triangles append_triangles proc~apply_box_boundary apply_box_boundary proc~apply_mesh_kv apply_mesh_kv proc~apply_mesh_kv->interface~parse_real proc~apply_mesh_kv->interface~parse_real3 proc~apply_mesh_kv->interface~parse_string proc~apply_mesh_kv->interface~split_key_value proc~apply_normal_speed_override apply_normal_speed_override proc~apply_obj_transform apply_obj_transform proc~init_mesh init_mesh proc~apply_obj_transform->proc~init_mesh proc~apply_output_kv apply_output_kv proc~apply_output_kv->interface~parse_int proc~apply_output_kv->interface~parse_logical proc~apply_output_kv->interface~parse_string proc~apply_output_kv->interface~split_key_value proc~apply_particles_kv apply_particles_kv proc~apply_particles_kv->interface~split_key_value proc~apply_particles_species_kv apply_particles_species_kv proc~apply_particles_species_kv->interface~parse_int proc~apply_particles_species_kv->interface~parse_logical proc~apply_particles_species_kv->interface~parse_real proc~apply_particles_species_kv->interface~parse_real3 proc~apply_particles_species_kv->interface~parse_string proc~apply_particles_species_kv->interface~split_key_value proc~lower_ascii lower_ascii proc~apply_particles_species_kv->proc~lower_ascii proc~apply_periodic2_minimum_image apply_periodic2_minimum_image proc~apply_sim_kv apply_sim_kv proc~apply_sim_kv->interface~parse_boundary_mode proc~apply_sim_kv->interface~parse_int proc~apply_sim_kv->interface~parse_logical proc~apply_sim_kv->interface~parse_real proc~apply_sim_kv->interface~parse_real3 proc~apply_sim_kv->interface~parse_string proc~apply_sim_kv->interface~split_key_value proc~apply_sim_kv->proc~lower_ascii proc~apply_template_kv apply_template_kv proc~apply_template_kv->interface~parse_int proc~apply_template_kv->interface~parse_logical proc~apply_template_kv->interface~parse_real proc~apply_template_kv->interface~parse_real3 proc~apply_template_kv->interface~parse_string proc~apply_template_kv->interface~split_key_value proc~bbox_inside_box bbox_inside_box proc~boris_push boris_push proc~cross~3 cross proc~boris_push->proc~cross~3 proc~build_axis_powers build_axis_powers proc~build_collision_grid build_collision_grid proc~cell_id cell_id proc~build_collision_grid->proc~cell_id proc~coord_to_cell coord_to_cell proc~build_collision_grid->proc~coord_to_cell proc~build_mesh_from_config build_mesh_from_config proc~build_mesh_from_config->proc~apply_obj_transform proc~build_template_mesh build_template_mesh proc~build_mesh_from_config->proc~build_template_mesh proc~load_obj_mesh load_obj_mesh proc~build_mesh_from_config->proc~load_obj_mesh proc~build_mesh_from_config->proc~lower_ascii proc~build_mesh_from_indexed build_mesh_from_indexed proc~build_mesh_from_indexed->proc~init_mesh proc~build_one_template build_one_template proc~build_one_template->proc~lower_ascii proc~make_annulus make_annulus proc~build_one_template->proc~make_annulus proc~make_box make_box proc~build_one_template->proc~make_box proc~make_cylinder make_cylinder proc~build_one_template->proc~make_cylinder proc~make_disk make_disk proc~build_one_template->proc~make_disk proc~make_plane make_plane proc~build_one_template->proc~make_plane proc~make_plate_hole make_plate_hole proc~build_one_template->proc~make_plate_hole proc~make_sphere make_sphere proc~build_one_template->proc~make_sphere proc~build_periodic_shift_values build_periodic_shift_values proc~build_template_mesh->proc~append_mesh_ids proc~build_template_mesh->proc~append_triangles proc~build_template_mesh->proc~build_one_template proc~build_template_mesh->proc~init_mesh proc~build_type_a_branch_from_minimum build_type_a_branch_from_minimum proc~evaluate_zhao_rho_hat evaluate_zhao_rho_hat proc~build_type_a_branch_from_minimum->proc~evaluate_zhao_rho_hat proc~build_zhao_params build_zhao_params proc~cell_id~2 cell_id proc~compute_face_area_from_bounds~2 compute_face_area_from_bounds proc~compute_face_average_potential compute_face_average_potential proc~electric_potential_at electric_potential_at proc~compute_face_average_potential->proc~electric_potential_at proc~resolve_face_sampling_geometry resolve_face_sampling_geometry proc~compute_face_average_potential->proc~resolve_face_sampling_geometry proc~compute_inflow_flux_from_drifting_maxwellian~2 compute_inflow_flux_from_drifting_maxwellian proc~compute_laplace_derivatives compute_laplace_derivatives proc~compute_macro_particles_for_batch compute_macro_particles_for_batch proc~compute_macro_particles_for_batch->proc~compute_face_area_from_bounds~2 proc~compute_macro_particles_for_batch->proc~compute_inflow_flux_from_drifting_maxwellian~2 proc~compute_macro_particles_for_species compute_macro_particles_for_species proc~compute_macro_particles_for_species->proc~compute_macro_particles_for_batch proc~species_number_density_m3 species_number_density_m3 proc~compute_macro_particles_for_species->proc~species_number_density_m3 proc~species_temperature_k species_temperature_k proc~compute_macro_particles_for_species->proc~species_temperature_k proc~compute_periodic_shift_bounds compute_periodic_shift_bounds proc~coord_to_cell~2 coord_to_cell proc~core_build_plan_impl core_build_plan_impl proc~core_build_plan_impl->proc~active_tree_child_count proc~core_build_plan_impl->proc~active_tree_child_idx proc~core_build_plan_impl->proc~active_tree_nnode proc~core_build_plan_impl->proc~active_tree_node_center proc~core_build_plan_impl->proc~active_tree_node_radius proc~core_build_plan_impl->proc~append_i32_buffer proc~core_build_plan_impl->proc~build_axis_powers proc~core_build_plan_impl->proc~build_periodic_shift_values proc~core_build_plan_impl->proc~compute_laplace_derivatives proc~core_destroy_plan_impl core_destroy_plan_impl proc~core_build_plan_impl->proc~core_destroy_plan_impl proc~distance_to_source_bbox distance_to_source_bbox proc~core_build_plan_impl->proc~distance_to_source_bbox proc~distance_to_source_bbox_periodic distance_to_source_bbox_periodic proc~core_build_plan_impl->proc~distance_to_source_bbox_periodic proc~has_valid_target_box has_valid_target_box proc~core_build_plan_impl->proc~has_valid_target_box proc~initialize_basis_tables initialize_basis_tables proc~core_build_plan_impl->proc~initialize_basis_tables proc~nodes_well_separated nodes_well_separated proc~core_build_plan_impl->proc~nodes_well_separated proc~octant_index octant_index proc~core_build_plan_impl->proc~octant_index proc~precompute_periodic2_ewald_data precompute_periodic2_ewald_data proc~core_build_plan_impl->proc~precompute_periodic2_ewald_data proc~precompute_periodic_root_operator precompute_periodic_root_operator proc~core_build_plan_impl->proc~precompute_periodic_root_operator proc~wrap_src_pos_to_primary_cell wrap_src_pos_to_primary_cell proc~core_build_plan_impl->proc~wrap_src_pos_to_primary_cell proc~reset_fmm_plan reset_fmm_plan proc~core_destroy_plan_impl->proc~reset_fmm_plan proc~core_destroy_state_impl core_destroy_state_impl proc~reset_fmm_state reset_fmm_state proc~core_destroy_state_impl->proc~reset_fmm_state proc~core_eval_point_impl core_eval_point_impl proc~core_eval_point_impl->proc~active_tree_child_count proc~core_eval_point_impl->proc~active_tree_child_idx proc~core_eval_point_impl->proc~active_tree_child_octant proc~core_eval_point_impl->proc~active_tree_nnode proc~core_eval_point_impl->proc~active_tree_node_center proc~core_eval_point_impl->proc~active_tree_node_half_size proc~core_eval_point_impl->proc~add_periodic2_exact_ewald_correction_all_sources proc~core_eval_point_impl->proc~build_axis_powers proc~core_eval_point_impl->proc~octant_index proc~use_periodic2_m2l_root_oracle use_periodic2_m2l_root_oracle proc~core_eval_point_impl->proc~use_periodic2_m2l_root_oracle proc~wrap_periodic2_point~2 wrap_periodic2_point proc~core_eval_point_impl->proc~wrap_periodic2_point~2 proc~core_eval_points_impl core_eval_points_impl proc~core_eval_points_impl->proc~active_tree_child_count proc~core_eval_points_impl->proc~active_tree_child_idx proc~core_eval_points_impl->proc~active_tree_child_octant proc~core_eval_points_impl->proc~active_tree_nnode proc~core_eval_points_impl->proc~active_tree_node_center proc~core_eval_points_impl->proc~active_tree_node_half_size proc~core_eval_points_impl->proc~add_periodic2_exact_ewald_correction_all_sources proc~core_eval_points_impl->proc~build_axis_powers proc~core_eval_points_impl->proc~octant_index proc~core_eval_points_impl->proc~use_periodic2_m2l_root_oracle proc~core_eval_points_impl->proc~wrap_periodic2_point~2 proc~core_eval_potential_point_impl core_eval_potential_point_impl proc~core_eval_potential_point_impl->proc~active_tree_child_count proc~core_eval_potential_point_impl->proc~active_tree_child_idx proc~core_eval_potential_point_impl->proc~active_tree_child_octant proc~core_eval_potential_point_impl->proc~active_tree_nnode proc~core_eval_potential_point_impl->proc~active_tree_node_center proc~core_eval_potential_point_impl->proc~active_tree_node_half_size proc~core_eval_potential_point_impl->proc~add_periodic2_exact_ewald_potential_correction_all_sources proc~core_eval_potential_point_impl->proc~build_axis_powers proc~core_eval_potential_point_impl->proc~octant_index proc~core_eval_potential_point_impl->proc~use_periodic2_m2l_root_oracle proc~core_eval_potential_point_impl->proc~wrap_periodic2_point~2 proc~core_eval_potential_points_impl core_eval_potential_points_impl proc~core_eval_potential_points_impl->proc~active_tree_child_count proc~core_eval_potential_points_impl->proc~active_tree_child_idx proc~core_eval_potential_points_impl->proc~active_tree_child_octant proc~core_eval_potential_points_impl->proc~active_tree_nnode proc~core_eval_potential_points_impl->proc~active_tree_node_center proc~core_eval_potential_points_impl->proc~active_tree_node_half_size proc~core_eval_potential_points_impl->proc~add_periodic2_exact_ewald_potential_correction_all_sources proc~core_eval_potential_points_impl->proc~build_axis_powers proc~core_eval_potential_points_impl->proc~octant_index proc~core_eval_potential_points_impl->proc~use_periodic2_m2l_root_oracle proc~core_eval_potential_points_impl->proc~wrap_periodic2_point~2 proc~core_update_state_impl core_update_state_impl proc~core_update_state_impl->proc~active_tree_level_bounds proc~core_update_state_impl->proc~active_tree_level_node proc~core_update_state_impl->proc~active_tree_max_depth proc~core_update_state_impl->proc~active_tree_nnode proc~initialize_fmm_state initialize_fmm_state proc~core_update_state_impl->proc~initialize_fmm_state proc~corner_between corner_between proc~count_face_tokens count_face_tokens proc~cross cross proc~cross~2 cross proc~default_app_config default_app_config proc~detect_sheath_species detect_sheath_species proc~detect_sheath_species->proc~lower_ascii proc~distance_to_source_bbox_periodic->proc~apply_periodic2_minimum_image proc~edge_next_ccw edge_next_ccw proc~edge_order_index edge_order_index proc~electric_field_at electric_field_at proc~ensure_output_dir ensure_output_dir proc~ensure_particle_species_capacity ensure_particle_species_capacity proc~ensure_template_capacity ensure_template_capacity proc~evaluate_zhao_density_hat evaluate_zhao_density_hat proc~evaluate_zhao_rho_hat->proc~evaluate_zhao_density_hat proc~evaluate_zhao_state_from_phi_hat evaluate_zhao_state_from_phi_hat proc~evaluate_zhao_state_from_phi_hat->proc~evaluate_zhao_density_hat proc~find_first_hit find_first_hit proc~find_first_hit_base find_first_hit_base proc~find_first_hit->proc~find_first_hit_base proc~find_first_hit_periodic2 find_first_hit_periodic2 proc~find_first_hit->proc~find_first_hit_periodic2 proc~resolve_periodic2_collision_config~2 resolve_periodic2_collision_config proc~find_first_hit->proc~resolve_periodic2_collision_config~2 proc~find_first_hit_base_grid find_first_hit_base_grid proc~find_first_hit_base->proc~find_first_hit_base_grid proc~find_first_hit_base_linear find_first_hit_base_linear proc~find_first_hit_base->proc~find_first_hit_base_linear proc~initialize_hit initialize_hit proc~find_first_hit_base->proc~initialize_hit proc~resolve_box_filter_args resolve_box_filter_args proc~find_first_hit_base->proc~resolve_box_filter_args proc~find_first_hit_base_grid->proc~bbox_inside_box proc~find_first_hit_base_grid->proc~cell_id~2 proc~find_first_hit_base_grid->proc~coord_to_cell~2 proc~point_inside_box point_inside_box proc~find_first_hit_base_grid->proc~point_inside_box proc~segment_aabb_intersection_t segment_aabb_intersection_t proc~find_first_hit_base_grid->proc~segment_aabb_intersection_t proc~segment_bbox_overlap_precomputed segment_bbox_overlap_precomputed proc~find_first_hit_base_grid->proc~segment_bbox_overlap_precomputed proc~segment_triangle_intersect segment_triangle_intersect proc~find_first_hit_base_grid->proc~segment_triangle_intersect proc~find_first_hit_base_linear->proc~bbox_inside_box proc~find_first_hit_base_linear->proc~point_inside_box proc~find_first_hit_base_linear->proc~segment_bbox_overlap_precomputed proc~find_first_hit_base_linear->proc~segment_triangle_intersect proc~find_first_hit_periodic2->proc~compute_periodic_shift_bounds proc~find_first_hit_periodic2->proc~find_first_hit_base proc~find_first_hit_periodic2->proc~initialize_hit proc~point_inside_box_periodic2 point_inside_box_periodic2 proc~find_first_hit_periodic2->proc~point_inside_box_periodic2 proc~prefer_periodic_candidate prefer_periodic_candidate proc~find_first_hit_periodic2->proc~prefer_periodic_candidate proc~find_first_hit_periodic2->proc~resolve_box_filter_args proc~find_first_hit_periodic2->proc~resolve_periodic2_collision_config~2 proc~wrap_periodic2_point wrap_periodic2_point proc~find_first_hit_periodic2->proc~wrap_periodic2_point proc~update_mesh_geometry update_mesh_geometry proc~init_mesh->proc~update_mesh_geometry proc~init_particle_batch_from_config init_particle_batch_from_config proc~init_particle_batch_from_config->proc~apply_normal_speed_override proc~init_particle_batch_from_config->proc~compute_macro_particles_for_species proc~init_particles init_particles proc~init_particle_batch_from_config->proc~init_particles proc~init_particle_batch_from_config->proc~lower_ascii proc~mpi_split_count mpi_split_count proc~init_particle_batch_from_config->proc~mpi_split_count proc~reservoir_face_velocity_correction reservoir_face_velocity_correction proc~init_particle_batch_from_config->proc~reservoir_face_velocity_correction proc~resolve_parallel_rank_size~2 resolve_parallel_rank_size proc~init_particle_batch_from_config->proc~resolve_parallel_rank_size~2 proc~resolve_reservoir_target_weight resolve_reservoir_target_weight proc~init_particle_batch_from_config->proc~resolve_reservoir_target_weight proc~resolve_sheath_injection_context resolve_sheath_injection_context proc~init_particle_batch_from_config->proc~resolve_sheath_injection_context proc~sample_photo_species_state sample_photo_species_state proc~init_particle_batch_from_config->proc~sample_photo_species_state proc~sample_species_state sample_species_state proc~init_particle_batch_from_config->proc~sample_species_state proc~init_particle_batch_from_config->proc~species_number_density_m3 proc~init_particle_batch_from_config->proc~species_temperature_k proc~init_particles_from_config init_particles_from_config proc~init_particles_from_config->proc~init_particles proc~init_particles_from_config->proc~lower_ascii proc~init_particles_from_config->proc~sample_species_state proc~seed_rng seed_rng proc~init_particles_from_config->proc~seed_rng proc~total_particles_from_config total_particles_from_config proc~init_particles_from_config->proc~total_particles_from_config proc~init_random_beam_particles init_random_beam_particles proc~init_random_beam_particles->proc~init_particles proc~sample_shifted_maxwell_velocities sample_shifted_maxwell_velocities proc~init_random_beam_particles->proc~sample_shifted_maxwell_velocities proc~sample_uniform_positions sample_uniform_positions proc~init_random_beam_particles->proc~sample_uniform_positions proc~initialize_injection_state initialize_injection_state proc~interpolate_profile_value interpolate_profile_value proc~is_face_line is_face_line proc~is_vertex_line is_vertex_line proc~load_app_config load_app_config proc~load_app_config->interface~ends_with proc~load_toml_config load_toml_config proc~load_app_config->proc~load_toml_config proc~load_app_config->proc~lower_ascii proc~load_obj_mesh->proc~build_mesh_from_indexed proc~parse_obj parse_obj proc~load_obj_mesh->proc~parse_obj proc~scan_obj scan_obj proc~load_obj_mesh->proc~scan_obj proc~load_or_init_run_state load_or_init_run_state proc~load_or_init_run_state->proc~build_mesh_from_config proc~load_or_init_run_state->proc~default_app_config proc~load_or_init_run_state->proc~initialize_injection_state proc~load_or_init_run_state->proc~load_app_config proc~load_restart_checkpoint load_restart_checkpoint proc~load_or_init_run_state->proc~load_restart_checkpoint proc~mpi_is_root mpi_is_root proc~load_or_init_run_state->proc~mpi_is_root proc~prepare_periodic2_collision_mesh prepare_periodic2_collision_mesh proc~load_or_init_run_state->proc~prepare_periodic2_collision_mesh proc~resolve_config_path resolve_config_path proc~load_or_init_run_state->proc~resolve_config_path proc~seed_particles_from_config seed_particles_from_config proc~load_or_init_run_state->proc~seed_particles_from_config proc~mpi_get_rank_size mpi_get_rank_size proc~load_restart_checkpoint->proc~mpi_get_rank_size proc~restart_macro_residual_path restart_macro_residual_path proc~load_restart_checkpoint->proc~restart_macro_residual_path proc~restart_rng_state_path restart_rng_state_path proc~load_restart_checkpoint->proc~restart_rng_state_path proc~load_toml_config->interface~resolve_batch_duration proc~load_toml_config->interface~strip_comment proc~load_toml_config->interface~validate_photo_raycast_species proc~load_toml_config->interface~validate_reservoir_species proc~load_toml_config->proc~apply_mesh_kv proc~load_toml_config->proc~apply_output_kv proc~load_toml_config->proc~apply_particles_kv proc~load_toml_config->proc~apply_particles_species_kv proc~load_toml_config->proc~apply_sim_kv proc~load_toml_config->proc~apply_template_kv proc~load_toml_config->proc~ensure_particle_species_capacity proc~load_toml_config->proc~ensure_template_capacity proc~load_toml_config->proc~lower_ascii proc~species_from_defaults species_from_defaults proc~load_toml_config->proc~species_from_defaults proc~make_annulus->proc~init_mesh proc~push_tri push_tri proc~make_annulus->proc~push_tri proc~make_box->proc~init_mesh proc~make_box->proc~push_tri proc~make_cylinder->proc~init_mesh proc~make_cylinder->proc~push_tri proc~make_disk->proc~make_annulus proc~make_plane->proc~init_mesh proc~make_plate_hole->proc~init_mesh proc~make_plate_hole->proc~push_tri proc~ray_to_rectangle ray_to_rectangle proc~make_plate_hole->proc~ray_to_rectangle proc~transition_corner_count transition_corner_count proc~make_plate_hole->proc~transition_corner_count proc~transition_corners transition_corners proc~make_plate_hole->proc~transition_corners proc~make_sphere->proc~init_mesh proc~make_sphere->proc~push_tri proc~sph sph proc~make_sphere->proc~sph proc~mpi_allreduce_max_real_dp_array mpi_allreduce_max_real_dp_array proc~mpi_allreduce_min_real_dp_array mpi_allreduce_min_real_dp_array proc~mpi_allreduce_sum_i32_array mpi_allreduce_sum_i32_array proc~mpi_allreduce_sum_i32_scalar mpi_allreduce_sum_i32_scalar proc~mpi_allreduce_sum_real_dp_array mpi_allreduce_sum_real_dp_array proc~mpi_allreduce_sum_real_dp_scalar mpi_allreduce_sum_real_dp_scalar proc~mpi_initialize mpi_initialize proc~mpi_shutdown mpi_shutdown proc~mpi_world_barrier mpi_world_barrier proc~mpi_world_size mpi_world_size proc~no_photo_current_balance no_photo_current_balance proc~no_photo_current_balance->proc~compute_inflow_flux_from_drifting_maxwellian~2 proc~nodes_well_separated->proc~active_tree_node_center proc~nodes_well_separated->proc~active_tree_node_radius proc~nodes_well_separated->proc~apply_periodic2_minimum_image proc~numerical_jacobian numerical_jacobian proc~open_history_writer open_history_writer proc~open_history_writer->proc~ensure_output_dir proc~open_potential_history_writer open_potential_history_writer proc~open_potential_history_writer->proc~ensure_output_dir proc~parse_face_line parse_face_line proc~parse_obj->proc~is_face_line proc~parse_obj->proc~is_vertex_line proc~parse_obj->proc~parse_face_line proc~parse_vertex_line parse_vertex_line proc~parse_obj->proc~parse_vertex_line proc~strip_cr strip_cr proc~parse_obj->proc~strip_cr proc~particles_per_batch_from_config particles_per_batch_from_config proc~perf_add_elapsed perf_add_elapsed proc~perf_configure perf_configure proc~perf_reset perf_reset proc~perf_configure->proc~perf_reset proc~perf_configure_from_env perf_configure_from_env proc~perf_configure_from_env->proc~lower_ascii proc~perf_configure_from_env->proc~perf_configure proc~perf_is_enabled perf_is_enabled proc~perf_region_begin perf_region_begin proc~perf_wall_time_seconds perf_wall_time_seconds proc~perf_region_begin->proc~perf_wall_time_seconds proc~perf_region_end perf_region_end proc~perf_region_end->proc~perf_add_elapsed proc~perf_region_end->proc~perf_wall_time_seconds proc~perf_set_output_context perf_set_output_context proc~perf_write_outputs perf_write_outputs proc~perf_write_outputs->proc~mpi_allreduce_max_real_dp_array proc~perf_write_outputs->proc~mpi_allreduce_min_real_dp_array proc~perf_write_outputs->proc~mpi_allreduce_sum_i32_array proc~perf_write_outputs->proc~mpi_allreduce_sum_real_dp_array proc~perf_write_outputs->proc~mpi_get_rank_size proc~perf_write_outputs->proc~mpi_is_root proc~reset_periodic2_ewald_data reset_periodic2_ewald_data proc~precompute_periodic2_ewald_data->proc~reset_periodic2_ewald_data proc~resolve_periodic2_ewald_alpha resolve_periodic2_ewald_alpha proc~precompute_periodic2_ewald_data->proc~resolve_periodic2_ewald_alpha proc~precompute_periodic2_ewald_data->proc~use_periodic2_m2l_root_oracle proc~precompute_periodic_root_operator->proc~active_tree_child_count proc~precompute_periodic_root_operator->proc~active_tree_child_idx proc~precompute_periodic_root_operator->proc~active_tree_max_depth proc~precompute_periodic_root_operator->proc~active_tree_nnode proc~precompute_periodic_root_operator->proc~active_tree_node_center proc~precompute_periodic_root_operator->proc~active_tree_node_half_size proc~precompute_periodic_root_operator->proc~add_periodic2_exact_ewald_correction_single_source proc~precompute_periodic_root_operator->proc~build_axis_powers proc~precompute_periodic_root_operator->proc~use_periodic2_m2l_root_oracle proc~resolve_periodic2_collision_config resolve_periodic2_collision_config proc~prepare_periodic2_collision_mesh->proc~resolve_periodic2_collision_config proc~prepare_periodic2_collision_mesh->proc~update_mesh_geometry proc~print_run_summary print_run_summary proc~reservoir_face_velocity_correction->proc~compute_face_average_potential proc~reservoir_face_velocity_correction->proc~lower_ascii proc~reset_fmm_plan->proc~reset_periodic2_ewald_data proc~reset_fmm_state->proc~initialize_fmm_state proc~residual_norm residual_norm proc~resolve_face_sampling_geometry->proc~lower_ascii proc~resolve_inject_face resolve_inject_face proc~resolve_inject_face->proc~lower_ascii proc~resolve_inward_normal resolve_inward_normal proc~resolve_inward_normal->proc~lower_ascii proc~resolve_parallel_rank_size~2->proc~mpi_get_rank_size proc~resolve_periodic2_collision_config->proc~lower_ascii proc~resolve_periodic2_collision_config~2->proc~lower_ascii proc~resolve_reservoir_target_weight->proc~compute_face_area_from_bounds~2 proc~resolve_reservoir_target_weight->proc~compute_inflow_flux_from_drifting_maxwellian~2 proc~resolve_reservoir_target_weight->proc~resolve_inward_normal proc~resolve_sheath_injection_context->proc~build_zhao_params proc~resolve_sheath_injection_context->proc~detect_sheath_species proc~resolve_sheath_injection_context->proc~lower_ascii proc~resolve_sheath_reference_plane resolve_sheath_reference_plane proc~resolve_sheath_injection_context->proc~resolve_sheath_reference_plane proc~resolve_species_drift_speed resolve_species_drift_speed proc~resolve_sheath_injection_context->proc~resolve_species_drift_speed proc~sample_zhao_reservoir_state sample_zhao_reservoir_state proc~resolve_sheath_injection_context->proc~sample_zhao_reservoir_state proc~solve_no_photo_floating_potential solve_no_photo_floating_potential proc~resolve_sheath_injection_context->proc~solve_no_photo_floating_potential proc~solve_zhao_unknowns solve_zhao_unknowns proc~resolve_sheath_injection_context->proc~solve_zhao_unknowns proc~to_sheath_model_species to_sheath_model_species proc~resolve_sheath_injection_context->proc~to_sheath_model_species proc~zhao_electron_vmin_normal zhao_electron_vmin_normal proc~resolve_sheath_injection_context->proc~zhao_electron_vmin_normal proc~zhao_photo_emit_current_density zhao_photo_emit_current_density proc~resolve_sheath_injection_context->proc~zhao_photo_emit_current_density proc~zhao_photo_vmin_normal zhao_photo_vmin_normal proc~resolve_sheath_injection_context->proc~zhao_photo_vmin_normal proc~resolve_sheath_reference_plane->proc~resolve_inject_face proc~resolve_sheath_reference_plane->proc~resolve_inward_normal proc~resolve_species_drift_speed->proc~lower_ascii proc~restart_macro_residual_path->proc~mpi_get_rank_size proc~restart_rng_state_path->proc~mpi_get_rank_size proc~sample_monotonic_phi_hat_at_z sample_monotonic_phi_hat_at_z proc~sample_monotonic_phi_hat_at_z->proc~evaluate_zhao_rho_hat proc~sample_monotonic_phi_hat_at_z->proc~interpolate_profile_value proc~sample_photo_raycast_particles sample_photo_raycast_particles proc~sample_photo_raycast_particles->proc~apply_box_boundary proc~sample_photo_raycast_particles->proc~compute_face_area_from_bounds~2 proc~sample_photo_raycast_particles->proc~find_first_hit proc~sample_photo_raycast_particles->proc~lower_ascii proc~sample_photo_species_state->proc~sample_photo_raycast_particles proc~sample_photo_species_state->proc~species_temperature_k proc~sample_reservoir_face_particles sample_reservoir_face_particles proc~sample_reservoir_face_particles->proc~sample_shifted_maxwell_velocities proc~sample_species_state->proc~lower_ascii proc~sample_species_state->proc~sample_reservoir_face_particles proc~sample_species_state->proc~sample_shifted_maxwell_velocities proc~sample_species_state->proc~sample_uniform_positions proc~sample_species_state->proc~species_temperature_k proc~sample_type_a_phi_hat_at_z sample_type_a_phi_hat_at_z proc~sample_type_a_phi_hat_at_z->proc~build_type_a_branch_from_minimum proc~sample_type_a_phi_hat_at_z->proc~interpolate_profile_value proc~sample_zhao_reservoir_state->proc~resolve_inject_face proc~sample_zhao_state_at_z sample_zhao_state_at_z proc~sample_zhao_reservoir_state->proc~sample_zhao_state_at_z proc~sample_zhao_state_at_z->proc~evaluate_zhao_state_from_phi_hat proc~sample_zhao_state_at_z->proc~sample_monotonic_phi_hat_at_z proc~sample_zhao_state_at_z->proc~sample_type_a_phi_hat_at_z proc~scan_obj->proc~count_face_tokens proc~scan_obj->proc~is_face_line proc~scan_obj->proc~is_vertex_line proc~scan_obj->proc~strip_cr proc~seed_particles_from_config->proc~resolve_parallel_rank_size~2 proc~seed_particles_from_config->proc~seed_rng proc~segment_bbox_overlap segment_bbox_overlap proc~segment_bbox_overlap->proc~segment_bbox_overlap_precomputed proc~segment_triangle_intersect->proc~cross~2 proc~solve_no_photo_floating_potential->proc~compute_inflow_flux_from_drifting_maxwellian~2 proc~solve_no_photo_floating_potential->proc~no_photo_current_balance proc~temperature_ev_from_species temperature_ev_from_species proc~solve_no_photo_floating_potential->proc~temperature_ev_from_species proc~solve_nonlinear_system solve_nonlinear_system proc~try_newton_solve try_newton_solve proc~solve_nonlinear_system->proc~try_newton_solve proc~solve_small_linear_system solve_small_linear_system proc~solve_zhao_branch_a solve_zhao_branch_a proc~try_solve_zhao_branch_a try_solve_zhao_branch_a proc~solve_zhao_branch_a->proc~try_solve_zhao_branch_a proc~solve_zhao_branch_b solve_zhao_branch_b proc~try_solve_zhao_branch_b try_solve_zhao_branch_b proc~solve_zhao_branch_b->proc~try_solve_zhao_branch_b proc~solve_zhao_branch_c solve_zhao_branch_c proc~try_solve_zhao_branch_c try_solve_zhao_branch_c proc~solve_zhao_branch_c->proc~try_solve_zhao_branch_c proc~solve_zhao_unknowns->proc~solve_zhao_branch_a proc~solve_zhao_unknowns->proc~solve_zhao_branch_b proc~solve_zhao_unknowns->proc~solve_zhao_branch_c proc~solve_zhao_unknowns->proc~try_solve_zhao_branch_a proc~solve_zhao_unknowns->proc~try_solve_zhao_branch_b proc~solve_zhao_unknowns->proc~try_solve_zhao_branch_c proc~species_number_density_m3~2 species_number_density_m3 proc~species_temperature_k~2 species_temperature_k proc~swe_free_current_term swe_free_current_term proc~to_sheath_model_species->proc~species_number_density_m3~2 proc~to_sheath_model_species->proc~species_temperature_k~2 proc~total_particles_from_config->proc~particles_per_batch_from_config proc~transition_corner_count->proc~edge_order_index proc~transition_corners->proc~corner_between proc~transition_corners->proc~edge_next_ccw proc~transition_corners->proc~transition_corner_count proc~try_newton_solve->proc~numerical_jacobian proc~try_newton_solve->proc~residual_norm proc~try_newton_solve->proc~solve_small_linear_system proc~try_solve_zhao_branch_a->proc~solve_nonlinear_system proc~try_solve_zhao_branch_b->proc~solve_nonlinear_system proc~try_solve_zhao_branch_c->proc~solve_nonlinear_system proc~type_a_e2_sum_at_infinity type_a_e2_sum_at_infinity proc~update_mesh_geometry->proc~build_collision_grid proc~update_mesh_geometry->proc~cross proc~use_periodic2_root_operator use_periodic2_root_operator proc~use_periodic2_root_operator->proc~use_periodic2_m2l_root_oracle proc~write_macro_residuals_file write_macro_residuals_file proc~write_macro_residuals_file->proc~mpi_get_rank_size proc~write_macro_residuals_file->proc~restart_macro_residual_path proc~write_result_files write_result_files proc~write_result_files->proc~ensure_output_dir proc~write_result_files->proc~lower_ascii proc~write_rng_state_file write_rng_state_file proc~write_rng_state_file->proc~mpi_get_rank_size proc~write_rng_state_file->proc~restart_rng_state_path proc~zhao_residuals_type_a zhao_residuals_type_a proc~zhao_residuals_type_a->proc~swe_free_current_term proc~zhao_residuals_type_a->proc~type_a_e2_sum_at_infinity proc~zhao_residuals_type_b zhao_residuals_type_b proc~zhao_residuals_type_b->proc~swe_free_current_term proc~zhao_residuals_type_c zhao_residuals_type_c proc~zhao_residuals_type_c->proc~swe_free_current_term program~main main program~main->interface~run_absorption_insulator program~main->proc~ensure_output_dir program~main->proc~load_or_init_run_state program~main->proc~mpi_initialize program~main->proc~mpi_is_root program~main->proc~mpi_shutdown program~main->proc~mpi_world_size program~main->proc~open_history_writer program~main->proc~open_potential_history_writer program~main->proc~perf_configure_from_env program~main->proc~perf_region_begin program~main->proc~perf_region_end program~main->proc~perf_set_output_context program~main->proc~perf_write_outputs program~main->proc~print_run_summary program~main->proc~write_macro_residuals_file program~main->proc~write_result_files program~main->proc~write_rng_state_file
Help