PROCESS has three separate TF temperature margin variables. For CROCO two are calculated differently
メンテナーはふだん 1 日以内に返信
評価
調査の方向性
Start in tfcoil_variables.py, where tmargmin, temp_margin and temp_tf_superconductor_margin are declared, then find every read and write of temp_margin and tmargmin across the codebase. Compare the CROCO path, which sets temp_margin via superconductors.current_sharing_rebco and temp_tf_superconductor_margin via calculate_superconductor_temperature_margin. The issue needs a maintainer decision on which name survives before any edit. Done means one temperature-margin variable remains, with the availability routine and the margin constraint still giving the same results.
索引モデルが issue の本文から書いたものです。
説明
Echoes of #527
//tfcoil_variables.py
tmargmin: float = 0.0
"""minimum allowable temperature margin : TFC AND CS (K)"""
temp_margin: float = 0.0
"""temperature margin (K)"""
temp_tf_superconductor_margin: float = 0.0
"""TF coil superconductor temperature margin (K)"""
For CICC, temp_margin = temp_tf_superconductor_margin. No-brainer.
For CROCO, it's a horror show, with the two being calculated one after the other with different superconducting parameterisations.
temp_margin is calculated with one hard-coded REBCO current density parameterisation:
# Temperature margin
current_sharing_t = superconductors.current_sharing_rebco(
b_tf_inboard_peak, j_superconductor
)
tmarg = current_sharing_t - temp_tf_peak
self.data.tfcoil.temp_margin = (
tmarg # Only used in the availabilty routine - see comment to Issue #526
)
temp_tf_superconductor_margin is calculated with an input-based current density parameterisation:
if self.data.tfcoil.i_str_wp == 0:
strain = self.data.tfcoil.str_tf_con_res
else:
strain = self.data.tfcoil.str_wp
self.data.tfcoil.temp_tf_superconductor_margin = (
self.calculate_superconductor_temperature_margin(
i_tf_superconductor=self.data.tfcoil.i_tf_sc_mat,
j_superconductor=d_sc_tf.j_tf_superconductor,
b_tf_inboard_peak=self.data.tfcoil.b_tf_inboard_peak_with_ripple,
strain=strain,
bc20m=d_sc_tf.b_tf_superconductor_critical_zero_temp_strain,
tc0m=d_sc_tf.temp_tf_superconductor_critical_zero_field_strain,
c0=1.0e10,
temp_tf_coolant_peak_field=self.data.tfcoil.tftmp,
data=self.data,
)
)
temp_margin is only used in the availability calculations, not in the temperature margin constraint.
tmargmin appears to exist for backwards compatibility only, and applies to both TF and CS.
temp_tf_superconductor_margin is the most explicit name, and the one used most frequently. Please could we simplify these down, it's rather confusing.
- 主要言語
- Python
- スター
- 74
- フォーク
- 29
- 平均マージ
- 3日 11時間
- マージ済み PR(30日)
- 43
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ukaea/PROCESS のほかの issue
-
papercut
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
Blocked Command Line Interface Input/Output Files
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ukaea/PROCESS#4161 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
:bug: `--mfile` arg does not work as expected対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンCommand Line Interface
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ukaea/PROCESS#4011 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
papercut Plotting
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
ukaea/PROCESS#4667 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
papercut Plotting
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
EchoTools/nevr-runtime#651 ·
メンテナーはふだん 1 日以内に返信
-
bug frontend rt sev-3
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
noontide-co/mainbranch#1211 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[1.x Bug] run-operation --sql reports success but rolls back writes on transaction-capable adaptersオープンtriage
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
dbt-labs/dbt#16784 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信