Derived Types

TypeLocationExtendsDescription
adaptive_nonzero_mode_stats bem_types None

adaptive batch(非零 mode の電位変化で batch 幅を縮める)の状態。summary の adaptive_nonzero_mode_* キー。

app_config bem_app_config_types None

実行条件・メッシュ入力・粒子注入・出力設定を一元管理する。

app_config_authoring bem_app_config_authoring_types None
batch_injection_layout_type bem_app_config_particle_runtime None

1 バッチの注入 layout。全 rank で同じ global 粒子数と面ごとの速度補正を持ち、 static の rank 分割と shared の slot pool の両方がこれを基に粒子を作る。 segment は species 順に source(volume_seed または photo ray)、次に面 1..6 の reservoir が並ぶ。

boundary_event_type bem_boundary None
charge_ledger_type bem_charge_ledger None
counter_stream_type bem_counter_rng None

1 つの (seed, counter) の draw を連番で引く列。鍵の計算と PCG64 生成器の作成を 1 回で済ませ、 next_uniform の n 回目は counter_uniform(seed, counter, first_draw + n - 1) と同じ値を返す。 生成器は C++ 側で確保するので、open したら close する。

domain_authoring_spec bem_app_config_authoring_types None

計算領域と周期 topology の公開 authoring 設定。

electrostatic_diagnostics_type bem_electrostatic_snapshot None
electrostatic_snapshot_type bem_electrostatic_snapshot None
external_boundary_contract_type bem_external_boundary_contract None
field_boundary_authoring_spec bem_app_config_authoring_types None

場の境界 closure の公開 authoring 設定。

field_physics_config bem_physics_config_types None
field_solver_type bem_field_solver None
floating_conductor_solver_type bem_surface_models None

mesh_id ごとの浮遊導体を、snapshot が返す電位で等電位化する solver。 影響行列は幾何と場の境界条件だけで決まるので初期化時に一度組み、batch ごとには 固定電荷が作る電位だけを snapshot から取り直す。free-space と periodic2 の両方で同じ経路を使う。

fmm_options_type bem_coulomb_fmm_types None
fmm_plan_type bem_coulomb_fmm_types None
fmm_state_type bem_coulomb_fmm_types None
hit_info bem_types None

衝突有無、命中要素番号、線分パラメータ、交点座標を返す衝突結果型。

injection_state bem_types None

種ごとのマクロ粒子端数を保持し、再開時にも注入期待値を保つ。

irradiation_cell_contract_type bem_irradiation_cell_contract None
matching_plane_stats bem_types None

外部シースの receipt。summary の matching_plane_* キー(top_field_v_m は surface_current_top_field_v_m)。

mesh_group_authoring_spec bem_app_config_authoring_types None
mesh_type bem_types None

三角形頂点と前計算幾何量、要素電荷を保持する境界要素メッシュ型。

mpi_context bem_mpi None
mpi_shared_counter_type bem_mpi None

rank 0 が保持する 64 bit カウンタを全 rank が fetch-and-add で取り合う、バッチ粒子 slot pool の claim 窓口。 claim は OpenMP の critical 区間から呼ぶ前提で、MPI は MPI_THREAD_SERIALIZED 以上を要求する。 非 MPI build や 1 rank では rank 内のカウンタに落ちる。

panel_geometry_type bem_panel_geometry None
panel_kernel_config bem_physics_config_types None
panel_quadrature_plan_type bem_triangle_quadrature None
particle_authoring_spec bem_app_config_authoring_types None
particle_boundary_authoring_spec bem_app_config_authoring_types None

tracked particle のglobal面作用を保持する。

particle_domain_config bem_types None

粒子の追跡・衝突・境界 event が使う解決済みの領域と乱数 seed。 入力の has_*、外部場の角度指定、solver の選択や batch 制御は含めない。

particle_source_plan_type bem_app_config_particle_runtime None
particle_species_spec bem_app_config_types None

1粒子種の注入設定を表す。

particle_step_result bem_particle_stepper None
particle_track_failure_type bem_status_codes None

バッチ内で最初に失敗した粒子追跡(最小の粒子番号、同じ粒子なら最小の step)。status が ok なら失敗なし。

particles_soa bem_types None

粒子の位置・速度・物性値・生存フラグをSoA形式で保持する型。 配列長は容量で、有効な粒子は先頭 n 個。利用側は 1:n だけを読む。

periodic2_authoring_spec bem_app_config_authoring_types None
periodic2_ewald_data_type bem_coulomb_fmm_types None
periodic2_physics_config bem_physics_config_types None
periodic_cell_cache_lock_type bem_coulomb_fmm_periodic_cell_cache None

欠けたセルを作って publish するまで保持する cache ロック。

periodic_nonzero_upper_vacuum_plan_type bem_coulomb_fmm_periodic_nonzero_upper_vacuum None
periodic_shell_mean_plan_type bem_periodic_shell_mean None

線源ごとの s の高さ表。高さの格子は等間隔。

periodic_shell_mean_state_type bem_periodic_shell_mean None

電荷を重ねた S(z) = sum_i q_i s_i(z) と dS/dz の格子値。

periodic_zero_mode_plan_type bem_periodic_zero_mode_plan None
periodic_zero_mode_state_type bem_periodic_zero_mode_plan None
photo_ray_failure_type bem_status_codes None

photo raycast の ray が衝突照会を完了できなかった最初の失敗(最小の ray、同じ ray なら最小の bounce)。 species は batch 注入の段で埋める。status が ok なら失敗なし。

photo_raycast_config bem_types particle_domain_config

photo ray に必要な領域、解決済み batch 幅、反射回数上限。

regularized_qr_type bem_regularized_qr None
reservoir_authoring_spec bem_app_config_authoring_types None

局所 reservoir inflow の公開 authoring 設定。

run_outputs_type bem_run_outputs None
secondary_spawn_buffer_type bem_secondary_emission None
secondary_spawn_type bem_secondary_emission None
sim_config bem_types photo_raycast_config

入力と run 制御の設定。physics へは必要な親 component だけを渡す。

sim_stats bem_types None

処理済み粒子数、吸着/脱出数、バッチ数、最終相対変化量を集計する統計型。

simulator_batch_workspace_type bem_simulator_workspace None
summary_identity_type bem_output_writer None

summary.txt に書く run 内不変量: mesh の幾何・材質の識別子と、設定から解いた初期 surface-current model。 どちらも電荷・統計・動的 closure に依存しないので、run の開始時に一度作り、checkpoint と最終出力で使い回す。 mesh の幾何・材質か設定を変えたら作り直す。ready でなければ writer がその場で計算する。 model を allocatable にして、この型を含む構造体を構成子で既定値のまま作れるようにする。

surface_closure_contract_type bem_surface_closure_contract None
surface_current_model_config bem_app_config_types None

外部シースの零電流根から species 別の表面電流と境界写像を与えるモデルの設定。

surface_current_model_result_type bem_surface_current_model surface_closure_contract_type
template_authoring_spec bem_app_config_authoring_types None
template_spec bem_app_config_types None

OBJ または template 1 要素の表面と幾何パラメータを保持する。

zhao_outflow_refresh_type bem_zhao_outflow_refresh None
type~~graph~~TypeGraph type~adaptive_nonzero_mode_stats adaptive_nonzero_mode_stats type~app_config app_config type~external_boundary_contract_type external_boundary_contract_type type~app_config->type~external_boundary_contract_type boundary_contract type~field_physics_config field_physics_config type~app_config->type~field_physics_config field type~panel_kernel_config panel_kernel_config type~app_config->type~panel_kernel_config panel type~particle_species_spec particle_species_spec type~app_config->type~particle_species_spec particle_species type~periodic2_physics_config periodic2_physics_config type~app_config->type~periodic2_physics_config periodic2 type~sim_config sim_config type~app_config->type~sim_config sim type~surface_current_model_config surface_current_model_config type~app_config->type~surface_current_model_config surface_current type~template_spec template_spec type~app_config->type~template_spec mesh_parts type~app_config_authoring app_config_authoring type~domain_authoring_spec domain_authoring_spec type~app_config_authoring->type~domain_authoring_spec domain type~field_boundary_authoring_spec field_boundary_authoring_spec type~app_config_authoring->type~field_boundary_authoring_spec field_boundary type~mesh_group_authoring_spec mesh_group_authoring_spec type~app_config_authoring->type~mesh_group_authoring_spec groups type~particle_authoring_spec particle_authoring_spec type~app_config_authoring->type~particle_authoring_spec particle_species type~particle_boundary_authoring_spec particle_boundary_authoring_spec type~app_config_authoring->type~particle_boundary_authoring_spec particle_boundary type~periodic2_authoring_spec periodic2_authoring_spec type~app_config_authoring->type~periodic2_authoring_spec periodic2 type~reservoir_authoring_spec reservoir_authoring_spec type~app_config_authoring->type~reservoir_authoring_spec reservoir type~template_authoring_spec template_authoring_spec type~app_config_authoring->type~template_authoring_spec mesh_parts type~batch_injection_layout_type batch_injection_layout_type type~boundary_event_type boundary_event_type type~charge_ledger_type charge_ledger_type type~counter_stream_type counter_stream_type c_ptr c_ptr type~counter_stream_type->c_ptr handle type~electrostatic_diagnostics_type electrostatic_diagnostics_type type~electrostatic_snapshot_type electrostatic_snapshot_type type~electrostatic_snapshot_type->type~electrostatic_diagnostics_type diagnostics type~field_solver_type field_solver_type type~electrostatic_snapshot_type->type~field_solver_type nonzero_solver type~electrostatic_snapshot_type->type~periodic2_physics_config periodic_options type~periodic_nonzero_upper_vacuum_plan_type periodic_nonzero_upper_vacuum_plan_type type~electrostatic_snapshot_type->type~periodic_nonzero_upper_vacuum_plan_type upper_fourier_plan type~periodic_zero_mode_plan_type periodic_zero_mode_plan_type type~electrostatic_snapshot_type->type~periodic_zero_mode_plan_type zero_plan type~periodic_zero_mode_state_type periodic_zero_mode_state_type type~electrostatic_snapshot_type->type~periodic_zero_mode_state_type zero_state type~fmm_options_type fmm_options_type type~field_solver_type->type~fmm_options_type fmm_core_options type~fmm_plan_type fmm_plan_type type~field_solver_type->type~fmm_plan_type fmm_core_plan type~fmm_state_type fmm_state_type type~field_solver_type->type~fmm_state_type fmm_core_state type~floating_conductor_solver_type floating_conductor_solver_type type~mpi_context mpi_context type~fmm_options_type->type~mpi_context mpi type~fmm_plan_type->type~fmm_options_type options type~panel_geometry_type panel_geometry_type type~fmm_plan_type->type~panel_geometry_type panel_geometry type~periodic2_ewald_data_type periodic2_ewald_data_type type~fmm_plan_type->type~periodic2_ewald_data_type periodic_ewald type~periodic_shell_mean_plan_type periodic_shell_mean_plan_type type~fmm_plan_type->type~periodic_shell_mean_plan_type periodic_shell_mean type~fmm_plan_type->type~periodic_zero_mode_plan_type periodic_k0_plan type~periodic_shell_mean_state_type periodic_shell_mean_state_type type~fmm_state_type->type~periodic_shell_mean_state_type periodic_shell_mean_state type~fmm_state_type->type~periodic_zero_mode_state_type periodic_k0_state type~hit_info hit_info type~injection_state injection_state type~irradiation_cell_contract_type irradiation_cell_contract_type type~matching_plane_stats matching_plane_stats type~mesh_type mesh_type type~mpi_shared_counter_type mpi_shared_counter_type type~panel_quadrature_plan_type panel_quadrature_plan_type type~particle_domain_config particle_domain_config type~particle_source_plan_type particle_source_plan_type type~particle_step_result particle_step_result type~particle_track_failure_type particle_track_failure_type type~particles_soa particles_soa type~periodic_cell_cache_lock_type periodic_cell_cache_lock_type type~panel_height_projection_type panel_height_projection_type type~periodic_zero_mode_plan_type->type~panel_height_projection_type panel type~photo_ray_failure_type photo_ray_failure_type type~photo_raycast_config photo_raycast_config type~photo_raycast_config->type~particle_domain_config type~regularized_qr_type regularized_qr_type type~run_outputs_type run_outputs_type type~summary_identity_type summary_identity_type type~run_outputs_type->type~summary_identity_type summary_identity type~secondary_spawn_buffer_type secondary_spawn_buffer_type type~secondary_spawn_type secondary_spawn_type type~secondary_spawn_buffer_type->type~secondary_spawn_type particles type~sim_config->type~photo_raycast_config type~sim_stats sim_stats type~sim_stats->type~adaptive_nonzero_mode_stats adaptive_nonzero_mode type~sim_stats->type~matching_plane_stats matching_plane type~simulator_batch_workspace_type simulator_batch_workspace_type type~surface_current_model_result_type surface_current_model_result_type type~summary_identity_type->type~surface_current_model_result_type initial_model type~surface_closure_contract_type surface_closure_contract_type type~surface_current_model_result_type->type~surface_closure_contract_type type~zhao_outflow_refresh_type zhao_outflow_refresh_type type~zhao_outflow_refresh_type->type~irradiation_cell_contract_type cell type~zhao_outflow_refresh_type->type~surface_current_model_result_type state sheath_matching_iteration sheath_matching_iteration type~zhao_outflow_refresh_type->sheath_matching_iteration outer
Help