TOML風設定ファイルを app_config へ読み込む軽量パーサ。
drifting Maxwellian に基づく片側流入束 [1/m^2/s] を返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | number_density_m3 | |||
| real(kind=dp), | intent(in) | :: | temperature_k | |||
| real(kind=dp), | intent(in) | :: | m_particle | |||
| real(kind=dp), | intent(in) | :: | drift_velocity(3) | |||
| real(kind=dp), | intent(in) | :: | inward_normal(3) |
標準正規分布の確率密度関数値を返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | x |
標準正規分布の累積分布関数値を返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | x |
注入面上矩形開口の面積 [m^2] を計算する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | inject_face | |||
| real(kind=dp), | intent(in) | :: | pos_low(3) | |||
| real(kind=dp), | intent(in) | :: | pos_high(3) |
行文字列から # 以降のコメント部分を除去する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | line |
文字列が指定接尾辞で終わるかを判定する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | s | |||
| character(len=*), | intent(in) | :: | suffix |
sim.batch_duration と sim.batch_duration_step の整合を検証して確定値を反映する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(inout) | :: | cfg |
reservoir_face 粒子種の入力値を検証し、必要なら w_particle を解決する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(inout) | :: | cfg | |||
| integer, | intent(in) | :: | species_idx |
photo_raycast 粒子種の入力値を検証し、発射方向などを正規化する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(inout) | :: | cfg | |||
| integer, | intent(in) | :: | species_idx |
注入面名から接線2軸インデックスを返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | inject_face | |||
| integer, | intent(out) | :: | axis_t1 | |||
| integer, | intent(out) | :: | axis_t2 |
key = value 行を分割し、正規化キーと値文字列を返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | line | |||
| character(len=*), | intent(out) | :: | key | |||
| character(len=*), | intent(out) | :: | value |
文字列表現を倍精度実数へ変換する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | text | |||
| real(kind=dp), | intent(out) | :: | out |
文字列表現を integer(i32) へ変換する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | text | |||
| integer(kind=i32), | intent(out) | :: | out |
true/false 表現を論理値へ変換する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | text | |||
| logical, | intent(out) | :: | out |
引用符付き/裸の文字列表現を値へ変換する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | text | |||
| character(len=*), | intent(out) | :: | out |
[x,y,z] 形式の3成分ベクトル文字列を配列へ変換する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | text | |||
| real(kind=dp), | intent(out) | :: | out(3) |
境界条件モード文字列を内部定数へ変換する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | text | |||
| integer(kind=i32), | intent(out) | :: | out |
.toml 拡張子の設定ファイルを読み込み、既存値へ上書き適用する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | path |
読み込む設定ファイルパス( |
||
| type(app_config), | intent(inout) | :: | cfg |
読み込み結果で上書きするアプリ設定。 |
最小限の TOML セクションと key = value を解釈して設定へ反映する。
現在は sim / mesh / output / [[mesh.templates]] / [[particles.species]] を扱う。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | path |
読み込むTOMLファイルパス。 |
||
| type(app_config), | intent(inout) | :: | cfg |
読み込み結果で更新するアプリ設定。 |
[[mesh.templates]] の読み込み数に応じてテンプレート配列容量を拡張する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(inout) | :: | cfg |
容量拡張対象のアプリ設定。 |
||
| integer, | intent(in) | :: | required_size |
必要最小要素数。 |
[[particles.species]] の読み込み数に応じて粒子種配列容量を拡張する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(inout) | :: | cfg |
容量拡張対象のアプリ設定。 |
||
| integer, | intent(in) | :: | required_size |
必要最小要素数。 |
[sim] セクションのキーを sim_config へ適用する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(inout) | :: | cfg |
更新対象のアプリ設定。 |
||
| character(len=*), | intent(in) | :: | line |
|
[particles] セクションのキーを検証する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | line |
|
[[particles.species]] のキーを粒子種設定へ適用する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(particle_species_spec), | intent(inout) | :: | spec |
更新対象の粒子種設定。 |
||
| character(len=*), | intent(in) | :: | line |
|
[mesh] セクションのキーをメッシュ入力設定へ適用する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(inout) | :: | cfg |
更新対象のアプリ設定。 |
||
| character(len=*), | intent(in) | :: | line |
|
[[mesh.templates]] のキーをテンプレート設定へ適用する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(template_spec), | intent(inout) | :: | spec |
更新対象のテンプレート設定。 |
||
| character(len=*), | intent(in) | :: | line |
|
[output] セクションのキーを出力制御設定へ適用する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(inout) | :: | cfg |
更新対象のアプリ設定。 |
||
| character(len=*), | intent(in) | :: | line |
|