InnerLayer.SLAYER - BUGFIX - Normalize the :lar critical Δ by r_s like the other models
メンテナーはふだん 3 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
Read _solve_dc_tmp in src/InnerLayer/SLAYER/LayerParameters.jl and the existing SLAYER parameter test in test/runtests_slayer_params.jl. Decide how to handle the lar name, then update its normalization and test it against rfitzp; done means the two values satisfy the stated relation and the tests pass.
索引モデルが issue の本文から書いたものです。
説明
Summary
dc_type = "lar" returns the SLAYER critical Δ in m⁻¹. The other two models, "rfitzp" and "toroidal", return it dimensionless, in the r_s reference, and the dispersion relation subtracts it from the dimensionless r_s·Δ′. So the "lar" offset is too large by a factor 1/r_s.
Detail
In _solve_dc_tmp (src/InnerLayer/SLAYER/LayerParameters.jl):
dc_type |
value | units |
|---|---|---|
lar |
½ (−D_R) π^{3/2} (χ∥/χ⊥)^{1/4} · √(n·abs(s) / (R₀ r_s)) | m⁻¹ |
rfitzp |
−√2 π^{3/2} D_R / W_d, with W_d = √8 (χ⊥/χ∥)^{1/4} / √(n·abs(s) r_s / R₀) | dimensionless |
Substituting W_d, rfitzp = ½ (−D_R) π^{3/2} (χ∥/χ⊥)^{1/4} · √(n·abs(s) r_s / R₀). The two are the same formula, and lar = rfitzp / r_s exactly.
Measured on develop with slayer_parameters (n_e = 3e19 m⁻³, T = 1.5 keV, q = 2, s = 1.2, R₀ = 1.7 m, D_R = −0.05):
| r_s [m] | lar |
rfitzp |
lar·r_s / rfitzp |
|---|---|---|---|
| 0.30 | 38.22 | 11.47 | 1 + 6e-12 |
| 0.45 | 33.25 | 14.96 | 1 + 6e-12 |
| 0.60 | 30.10 | 18.06 | 1 + 6e-12 |
The residual 6e-12 is the W_d iteration tolerance.
Who is affected
Only runs that set dc_type = "lar". The default is "none", the shipped SLAYER deck uses "none", and no regression case uses "lar". The value reaches the dispersion relation through surface_coupling(...; dc=params.dc_tmp) and the output through PerSurface/D_c_offset.
Proposed fix
Multiply the lar branch by r_s. It then equals rfitzp, so one of the two names is redundant. The open question is which to keep:
- keep both names as aliases of one formula, or
- remove
"lar"and reject it with a message pointing to"rfitzp".
Either way the unit test in test/runtests_slayer_params.jl that only checks lar is finite should assert the relation to rfitzp.
- 主要言語
- Julia
- スター
- 11
- フォーク
- 7
- 平均マージ
- 4日 3時間
- マージ済み PR(30日)
- 70
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
OpenFUSIONToolkit/GPEC のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
OpenFUSIONToolkit/GPEC#644 ·
メンテナーはふだん 3 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
OpenFUSIONToolkit/GPEC#643 ·
メンテナーはふだん 3 日以内に返信
-
PerturbedEquilibrium - FEATURE - Complete the resistive perturbed-equilibrium workflow from Galerkin and matched results対応中かも @matt-pharr が 1 日前に担当しました。 オープンfeature
OpenFUSIONToolkit/GPEC#635 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
-
test
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
OpenFUSIONToolkit/GPEC#633 · コメント 2 件 ·
メンテナーはふだん 3 日以内に返信
-
Tearing - FEATURE - Add a general modified Rutherford equation for island evolution対応中かも @StuartBenjamin が 1 日前に担当しました。 オープンfeature
OpenFUSIONToolkit/GPEC#630 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
OpenFUSIONToolkit/GPEC の issue をすべて見る
似ている issue
-
`ShallowWaterModel` allocates ~9 KiB per grid point per RK3 stage on the CPU対応中かも @ali-ramadhan が今日担当しました。 オープンperformance 🏍️
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
CliMA/Oceananigans.jl#6421 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
NCAR/musica#1118 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
`AMSGrad` state starts at `epsilon` instead of zero, so zero gradients move parameters and small gradients are damped対応中かも @parth-patel010 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
FluxML/Optimisers.jl#247 · コメント 1 件 ·
-
README should say that row and column order must match対応中かも @SAUMYARSH が今日担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信