Poloidal field null, delete pfjalw, fix temp margin
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 71
- Forks
- 27
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 33
Description
In GitLab by @mkovari on Feb 25, 2015, 10:50
1 Diagnostic for poloidal field null
PROCESS calculates the PF coil currents required to create a poloidal field null on the midplane for plasma initiation. This is a complicated calculation and happens suspiciously quickly! I have added an output to OUT.DAT of the field at all the points on the midplane where it is supposed to be null, active when verbose = 1.
The code is in pfcoil.f90, following ! Find currents for plasma initiation to null field across plasma.
This sets the field to zero at the 32 test points, and calls subroutine efc to determine the currents.
I put the actual fields calculated in subroutine rsid in module-level arrays br_actual and bz_actual. When the null is calculated these are copied to null_br and null_bz, and these are only output if verbose = 1. I have put the output of the "smoothing parameter" in the same section, and commented out the printing of the very unhelpful normalised sum of squares.
I have run one test file, and have reasonable results:
Residual fields at equi-spaced points on midplane during null for plasma initiation [T] (radial, vertical):
2.8E-17 -5.6E-17 -8.3E-17 5.6E-17 -2.8E-17 0.0E+00 -2.8E-17 0.0E+00 -8.3E-17 -2.8E-17 -2.8E-17 0.0E+00 -2.8E-17 -5.6E-17 0.0E+00 -2.8E-17 -2.8E-17 0.0E+00 -2.8E-17 -5.6E-17 -2.8E-17 -2.8E-17 -2.8E-17 -2.8E-17 -4.2E-17 -1.4E-17 -2.8E-17 -2.8E-17 0.0E+00 -1.4E-17 -1.4E-17 -4.2E-17
-4.7E-03 -2.9E-03 -1.5E-03 -2.9E-04 6.3E-04 1.3E-03 1.8E-03 2.1E-03 2.2E-03 2.2E-03 2.0E-03 1.8E-03 1.5E-03 1.1E-03 7.0E-04 2.9E-04 -1.2E-04 -5.0E-04 -8.4E-04 -1.1E-03 -1.4E-03 -1.5E-03 -1.6E-03 -1.6E-03 -1.4E-03 -1.2E-03 -8.9E-04 -4.5E-04 8.8E-05 7.3E-04 1.5E-03 2.3E-03
maximum residual radial field [T] : 5.551E-17
maximum residual vertical field [T] : 2.300E-03
Smoothing parameter (alfapf) 5.000E-10
2 Deleted function pfjalw as it is no longer used (and delete the commented-out calls to it).
3 subroutine ohcalc lines 919 etc
! Allowable coil overall current density at EOF
call superconpf(bmaxoh,vfohc,fcuohsu,abs(ric(nohc))/awpoh, &
! Allowable coil overall current density at BOP
call superconpf(bmaxoh0,vfohc,fcuohsu,abs(ric(nohc))/awpoh, &
These two calls refer to different time points, but they use the same current, which doesn't seem right:
ric(ngc2) : peak current in coil i (MA-turns)
I have replaced these current densities (winding area density) by
abs(coheof)*areaoh/awpoh
and
abs(cohbop)*areaoh/awpoh
I am a bit puzzled why this wasn't done in the first place.
Oddly, the temperature margin for the CS drops by about 1 K.
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.