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 小时
- 30 天内合并 PR
- 43
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 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
维护者通常 1 天内回复
-
:bug: `--mfile` arg does not work as expected可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭Command Line Interface
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
papercut Plotting
难度 3/5 1-2 天 新手友好度 58/100
维护者通常 1 天内回复
-
papercut Plotting
难度 3/5 1-2 天 新手友好度 55/100
维护者通常 1 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
omegaup/omegaup#10353 · 1 条评论 ·
维护者通常 5 天内回复
-
bot-triaged module: LrScheduler module: optimizer triaged
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
documentation glm5 llm-model
难度 2/5 1-3 小时 新手友好度 78/100
vllm-project/vllm-ascend#19062 ·
维护者通常 1 天内回复
-
author-page correction
难度 2/5 1-3 小时 新手友好度 68/100
acl-org/acl-anthology#10496 · 1 条评论 ·
维护者通常 1 天内回复