ukaea / ukaea/PROCESS

Imprecise calculation of `bfmaxoh`

Open
#1,883 1 comment 0 reactions 2 assignees View on GitHub

@kj5248 is already working on this.

Since Sep 18, 2024.

  • #3633 by @kj5248 — open
Has attachment
Dominant language
Python
Stars
71
Forks
27
Avg merge
2d 18h
Merged PRs (30d)
33

Description

In GitLab by @mcoleman on Jun 28, 2023, 14:33

Summary

Out of curiosity, I was browsing PROCESS' CS stuff, and came across process/pfcoil.py::PFCoil.bfmax. I literally bought the Wilson "Superconducting Magnets" book, before @jmorris-uk gave me a PDF copy... only to discover that the graph actually comes from Boom and Livingstone, 1962.

I don't know where the fit comes from, but I presume it's a PROCESS original. It says it is valid for $1 < \alpha < 2$ and $0.5 < \beta < 3$

In the Boom and Livingstone paper, the values of $k$ are calculated using a code. I extracted some values graphically (assume large error bars..) and plotted against what I get using a 2-D semi-analytic calculation of the field in a circular coil with rectangular cross-section, using some stuff in BLUEMIRA:

image

Assuming the BLUEMIRA stuff is correct, and that I have correctly copied the PROCESS fit, and plotting over the range of validity of the PROCESS fit I get (where a perfect fit would mean the red lines sit on top of the black ones):

image

If I fit a surface to the same region (albeit a high-order one) I get:

image

It's perhaps not a big deal ($k$ values are typically close to 1), but given that:

  • the CS is an important contributor to the radial build,
  • the peak field is a contributor to the sizing of the solenoid,
  • the peak field in the CS is mostly self-field,
  • it's not that hard to come up with an exact formulation for the peak self-field,

it seems a shame not to include a better fit / exact formulation.

I'm happy to provide either.

Checklist

After implementing issue do the following

  • Run test suite
  • Does it change the output? If so, give justifications.
  • Does it change the baseline 2019 run? (you may need to run on Freia)
  • Merge request created

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.