Skip to content

STEP TF turn structure - #4643

Open
chris-ashe wants to merge 20 commits into
mainfrom
step_tf_turn_structure_refresh
Open

chris-ashe wants to merge 20 commits into
mainfrom
step_tf_turn_structure_refresh

Conversation

@chris-ashe

@chris-ashe chris-ashe commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Description

This pull request adds support for a new "step-stacked tape" type to the superconducting toroidal field (TF) coil modeling, along with the necessary data fields and model registration. The changes ensure the new coil type is selectable, its parameters are tracked, and its model is properly invoked in the workflow.

Support for Step-Stacked Tape TF Coil:

  • Added STEPSuperconductingTFCoil to the imports and model registration in main.py, and included it in the list of models for execution.
  • Updated the model selection logic in caller.py to call the new step_sctfcoil model when the STEP_STACKED_TAPE turn type is selected.
  • Allowed the new turn type to be selected as input by adding value 3 to the i_tf_turn_type choices in input.py.
image

Checklist

I confirm that I have completed the following checks:

  • My changes follow the PROCESS style guide
  • I have justified any large differences in the regression tests caused by this pull request in the comments.
  • I have added new tests where appropriate for the changes I have made.
  • If I have had to change any existing unit or integration tests, I have justified this change in the pull request comments.
  • If I have made documentation changes, I have checked they render correctly.
  • I have added documentation for my change, if appropriate.

@chris-ashe chris-ashe added the TF Coil Toroidal field coil label Oct 2, 2026
…add tf_cicc_areas_and_masses method for improved accuracy
…add tf_step_inboard_areas_and_fractions method for improved accuracy
…erconductingTFCoil to compute superconductor lengths
@chris-ashe chris-ashe changed the title Step tf turn structure STEP TF turn structure Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

⚠️ improve_quality_job warning!

Files changed by this PR have introduced 6 more linting errors when compared to main

Please fix these

To check what these are, run hatch run lint:fmt_extra on your branch and on main

@chris-ashe
chris-ashe requested a review from ajpearcey October 5, 2026 10:29
@chris-ashe
chris-ashe marked this pull request as ready for review October 5, 2026 10:29
@chris-ashe
chris-ashe requested a review from a team as a code owner October 5, 2026 10:29
@chris-ashe chris-ashe mentioned this pull request Oct 5, 2026
6 tasks
"""Cross-sectional area of the stabiliser in the TF turn [m²]"""

n_tf_turn_superconducting_strands: int = 0.0
"""Number of superconducting strands in the TF turn"""

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no units denoted by [-]

# Copper mass [kg]
self.data.tfcoil.m_tf_coil_copper = (
m_tf_coil_copper = (
self.data.tfcoil.len_tf_coil

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When itart == 1 include the centre column length cplen is not included in len_tf_coil. This is accounted for else where or is copper the missing?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is true of all the masses in section. I can see some if statements for itart == 1. Also is it useful to list, list the copper masses, without the centre rod included? Are the centre rod masses/area calculated as well, we these will be needed for costing or other engineering models.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 38.29268% with 253 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.86%. Comparing base (9919d95) to head (465f636).
⚠️ Report is 6 commits behind head on main.

Files with missing lines Patch % Lines
process/models/tfcoil/superconducting.py 42.85% 184 Missing ⚠️
process/core/io/plot/summary.py 2.98% 65 Missing ⚠️
process/core/caller.py 0.00% 2 Missing ⚠️
process/models/tfcoil/base.py 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4643      +/-   ##
==========================================
- Coverage   49.92%   49.86%   -0.06%     
==========================================
  Files         151      151              
  Lines       30236    30821     +585     
==========================================
+ Hits        15094    15369     +275     
- Misses      15142    15452     +310     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

TF Coil Toroidal field coil

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants