Imprecise calculation of `bfmaxoh`
- 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:
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):
If I fit a surface to the same region (albeit a high-order one) I get:
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
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.
Assessment
This issue has not been assessed yet.