:bug:TF coil conduit shear stress "correction"
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 71
- Forks
- 27
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 33
Description
A fudge factor was put in to adjust the maximum shear stress (used in the Tresca yield criterion) for the TF coil, based on collaboration with CEA. This isn't documented and doesn't have any justification that I can recall. It was supposed to be optional, but the stress profile plots in the pdf summary seem to use it every time. As a result, the "Structure Stress Summary" plot shows a "Tresca stress" which is higher than it should be and not consistent with the stress components on the same plot.
The adjustment is based on this switch, whose default is zero.:
i_tf_tresca: int = None
"""Switch for TF coil conduit Tresca stress criterion:
0 : Tresca (no adjustment);
1 : Tresca with CEA adjustment factors (radial+2%, vertical+60%) </UL>
"""
The adjustment is made when i_tf_tresca = 1 when calculating the maximum shear stress of each layer.
However, when the stress data is saved to a file, i_tf_tresca is not used. The adjusted data is always output whenever the coil is superconducting:
# SIG_TF.json storage
sig_file_data = {
...
"CEA Tresca stress (MPa)": (
s_shear_cea_tf_cond * 1e-6
if tfcoil_variables.i_tf_sup == 1
else s_shear_tf * 1e-6
),
"rad. displacement (mm)": deflect * 1e3,
}
Consequently, the CEA stress is used in plot_proc whether or not it is relevant:
tresca_stress[ii].append(
sig_file_data["CEA Tresca stress (MPa)"][ii * n_radial_array_layer + jj]
)
cea_tresca_stress[ii].append(
sig_file_data["CEA Tresca stress (MPa)"][ii * n_radial_array_layer + jj]
)
(Note that sig_file_data["CEA Tresca stress (MPa)"] appears 6 times in plot_proc.)
Steps to reproduce
example_R6_2000MW_baseline_1_bucking_TA.MFILE.DATSUMMARY_TFstress_0.pdf
example_R6_2000MW_baseline_1_bucking_TA.MFILE_TFstress_0.DAT.txt
example_R6_2000MW_baseline_1_bucking_TA.OUT_TFstress_0.DAT.txt
Expected behaviour
By default, and whenever i_tf_tresca = 1, all plos and outputs should use the unadjusted values of max shear stress.
Evidence
@chris-ashe Any chance you could sweep up this bug in one of your PRs?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Trace the i_tf_tresca handling from the TF coil maximum-shear-stress calculation into the SIG_TF.json storage and plot_proc uses of "CEA Tresca stress (MPa)". Compare the generated stress summary with the stress components and clarify the intended switch behavior; done means default and selected outputs consistently use the correct Tresca values, with regression coverage for both switch settings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100