Skip to content

Improve CS peak self-field surrogate model - #4655

Open
CoronelBuendia wants to merge 12 commits into
mainfrom
matti/single_turn_cs_peak_field_surrogate
Open

CoronelBuendia wants to merge 12 commits into
mainfrom
matti/single_turn_cs_peak_field_surrogate

Conversation

@CoronelBuendia

@CoronelBuendia CoronelBuendia commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Description

Closes #1883

Replaces the PROCESS (original ?) fit to (Boom and Livingstone, 1962) data shown in (Wilson, 1983) with a much better fit using data from BLUEMIRA (previously verified and validated as being quasi-identical to the Boom and Livingstone graph).

Fit is courtesy of @timothy-nunn

This is the resulting fit for $k = B_{CS,peak} / B_{CS,axis}$:

image image

And the corresponding plots for the existing $k$ fit:

image image

The existing fit is not as catastrophic as these are made out to be, because for the most part $k$ ~ 1.0, so the peak self-field is not quite so off as one might think.

I will address a multi-turn factor in a separate issue.

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.

@CoronelBuendia
CoronelBuendia requested a review from a team as a code owner October 5, 2026 15:25
@CoronelBuendia CoronelBuendia changed the title Improve CS peak self-field surrogate model WIP: Improve CS peak self-field surrogate model Oct 5, 2026
@CoronelBuendia

CoronelBuendia commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor Author

Regression test failures:

  • large_tokamak_eval
  • large_tokamak_nof
  • low_aspect_ratio_DEMO

These are pulsed devices where the CS is at its limits. Looking at the large tokamak in evaluation mode, all the differences relate to the CS coil and its constraints (as expected):

Variable                                   Ref	       New	  % Change
ineq_con060                             0.0214      0.149     595.72
ineq_con026                             0.0546      0.117     114.33
ineq_con027                               0.13      0.184      41.13
ineq_value_con060                         1.53       1.72      12.51
temp_cs_superconductor_margin              1.53       1.72      12.51
j_cs_critical_flat_top_end             3.78e+07   4.05e+07       7.06
jcableoh_eof                            7.35e+07   7.87e+07       7.06
j_cs_conductor_critical_flat_top_end   3.50e+08   3.75e+08       7.06
ineq_value_con026                        0.567       0.53      -6.60
jcableoh_bop                            7.47e+07   7.96e+07       6.56
j_cs_conductor_critical_pulse_start     3.56e+08   3.79e+08       6.56
j_cs_critical_pulse_start               3.84e+07   4.09e+07       6.56
ineq_value_con027                        0.522       0.49      -6.15
ineq_con072                             -0.553     -0.535       3.24
b_pf_coil_peak[n_cs_pf_coils-1]             14       13.8      -1.91
b_cs_peak_flat_top_end                      14       13.8      -1.91
b_cs_peak_pulse_start                       14       13.7      -1.80
stress_hoop_cs_inner                 7.48e+08   7.35e+08      -1.80
stress_radial_cs_peak                -1.39e+07  -1.36e+07       1.80
stress_mises_cs_peak                 1.02e+09   1.01e+09      -1.24
ineq_value_con072                      1.16e+09   1.15e+09      -1.15
stress_shear_cs_peak                  1.16e+09   1.15e+09      -1.15

Which all stems essentially from the beak field being 0.2-0.3 T lower with the new calculation. For people who don't have the integers in their heads:

  • icc = 26 * Central solenoid EOF current density upper limit
  • icc = 27 * Central solenoid BOP current density upper limit
  • icc = 60 * Central solenoid temperature margin lower limit
  • icc = 72 * central solenoid shear stress limit

All fairly straightforward implications of a change to the peak field (higher current density possible, higher temperature margin, lower stress).

In optimisation mode many more outputs see significant changes, because the CS is partially driving the radial build. Now that the CS peak field is lower, the optimal solution vector changes.

@chris-ashe
chris-ashe self-requested a review October 6, 2026 08:04
@CoronelBuendia CoronelBuendia changed the title WIP: Improve CS peak self-field surrogate model Improve CS peak self-field surrogate model Oct 6, 2026
Comment thread process/models/pfcoil.py Outdated
Comment thread documentation/source/eng-models/central-solenoid.md Outdated
Comment thread documentation/source/eng-models/central-solenoid.md Outdated
Comment thread documentation/source/eng-models/central-solenoid.md Outdated
Comment thread process/models/pfcoil.py Outdated
Comment thread tests/unit/models/test_pfcoil.py Outdated
CoronelBuendia and others added 4 commits October 6, 2026 10:39
Co-authored-by: Timothy <75321887+timothy-nunn@users.noreply.github.com>
Co-authored-by: Christopher Ashe <91618944+chris-ashe@users.noreply.github.com>
@codecov-commenter

codecov-commenter commented Oct 6, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 43.75000% with 9 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.95%. Comparing base (a199a00) to head (aec58e5).

Files with missing lines Patch % Lines
process/models/pfcoil.py 43.75% 9 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4655      +/-   ##
==========================================
- Coverage   49.98%   49.95%   -0.03%     
==========================================
  Files         151      151              
  Lines       30450    30450              
==========================================
- Hits        15220    15211       -9     
- Misses      15230    15239       +9     

☔ 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Imprecise calculation of bfmaxoh

4 participants