ukaea / PROCESS

PROCESS is a systems code at UKAEA that calculates in a self-consistent manner the parameters of a fusion power plant with a specified performance, ensuring that its operating limits are not violated, and with the option to optimise to a given function of these parameters.
https://ukaea.github.io/PROCESS/
MIT License
26 stars 11 forks source link

Transformer flux swing #101

Open jonmaddock opened 9 years ago

jonmaddock commented 9 years ago

In GitLab by @mkovari on Aug 15, 2014, 14:30

Consider whether transformer flux swing calculation can be improved by using the mutual inductance between the Central Solenoid and the plasma - which is already calculated.

The description in the Physics paper is as follows, but no justification is given: image

jonmaddock commented 5 years ago

In GitLab by @jmorris-uk on May 2, 2019, 08:42

removed milestone

jonmaddock commented 4 years ago

In GitLab by @ajpearcey on Sep 3, 2019, 09:23

I have modified the CS current swing calculation to use the mutual inductance's which are already computed elsewhere with the PROCESS PF coil routine.

The new calculation is given by,

dics = -csflux * turns(ncirt-1) / sxlg(nocoil,ncirt-1)

for EU-DEMO like PROCESS run this gives CS current swings approximately 1.5-2 larger than the old calculation.

To find feasible solutions with this new calculation starting from the 2018 DEMO baseline, it was necessary to scan in increasing smaller values of epsvmc from 1e-4 to 1e-8. Using this approach a solutions are found for all value till epswmc=1e-8, but this branch fails the CI pipeline tests.

Some insight into its failure is provided by the scan in epsvmc. The CI pipeline fails because bore grows while in turn ohcth deceases in size and the change is size is larger than threshold used in the pipeline baseline tests. With final answers like, bore=1.79 and ohcth=0.66. This behaviour is also seen in the low epscmv=1d-4 scans, but is reverses as we scan to smaller epscmv to the typical result with bore minimising itself to its lower limit. So it looks like the new CS current swing allows for a local minimum in the VMCON routine.

jonmaddock commented 4 years ago

In GitLab by @mkovari on Sep 3, 2019, 10:37

Hi Alex, I will be on late shift today. If you send me some of the output files I will have a look. An increase in CS current of 50 to 100% sounds rather serious.

Does this happen both for start up and flat top?

Michael

jonmaddock commented 4 years ago

In GitLab by @ajpearcey on Sep 3, 2019, 11:47

I'm attaching the output of my scan in epscmv.

OUT.DAT

Checking the final steps of the scan, it seems the increase in CS current swing between the old and new calculation wasn't as large once I had found feasible solutions. My mistake, I still find an increase of 20% in the CS current swing.

I also notice that the time dependence of the current waveform is quite different. The 2018 baseline output is

 Ratio of central solenoid current at beginning of Pulse / end of flat-to (fcohbop)                 1.000E+00  ITV
 Ratio of central solenoid current at beginning of Flat-top / end of flat (fcohbof)                 3.836E-02  OP 

Whereas, for the new output

 Ratio of central solenoid current at beginning of Pulse / end of flat-to (fcohbop)                 9.467E-01  ITV
 Ratio of central solenoid current at beginning of Flat-top / end of flat (fcohbof)                -1.000E+00  OP 
jonmaddock commented 4 years ago

In GitLab by @mkovari on Sep 3, 2019, 12:44

Can you send me the original output file for comparison?

jonmaddock commented 4 years ago

In GitLab by @ajpearcey on Sep 3, 2019, 13:27

I was mainly comparing the file to the 2018 DEMO baseline.

ref_baseline_2018_OUT.DAT

jonmaddock commented 4 years ago

In GitLab by @mkovari on Sep 4, 2019, 08:23

Hi Alex, I must say the code all seems very circular. First we calculate the contribution to start-up from the PF coils using their currents ccls. Then we say the CS flux required is the total start-up flux required minus what the PF coils produce:

!Flux swing required from CS coil csflux = -(vsres + vsind) - pfflux

Then we get the current change using Richard's bizarre formula: ! Required current change in CS coil ddics = 4.0D-7 pipi * ( & etc etc dics = csflux / ddics

This is used to derive the CS current via the ration fcohbof: fcohbof = ((-ioheof * fcohbop) + dics)/ioheof

Then the CS current is calculated! - ! Current in Central Solenoid as a function of time curpfs(ncl+1) = -1.0D-6 ioheof fcohbop

This is then normalised: ! Set normalized current waveforms waves(ic,2) = curpfs(ic)/ric(ic)

and finally I am totally confused as this is by no means the whole story!

jonmaddock commented 4 years ago

In GitLab by @ajpearcey on Sep 10, 2019, 15:19

I have modified the CS coil current swing once more. It now reads,

dics = csflux * turns(ncirt-1) / sxlg(ncirt,ncirt-1) 

This gives a needed current swing is a approximation 1.2 times larger than the old case for a EU-DEMO like machine. A bit of effort was needed to find feasible solutions at the typical levels of accuracy (epsvmc=1.0e-8). A higher auxiliary current drive was needed, so pheat was set to zero, while we kept pinjalw=51.0.

Under the new calculation the current swings needed are much larger, which put larger constraints on the flux needed for the flattop operation. For example CS coil current profile with the new clacuation looks like,

Ratio of central solenoid current at beginning of Pulse / end of flat-to (fcohbop)                 9.669E-01  ITV
Ratio of central solenoid current at beginning of Flat-top / end of flat (fcohbof)                 2.806E-01  OP 

Additionally in the new solutions the CS coil optimises itself to have a smaller bore and a thicker solenoid as compared to the 2018 baseline case. As the new version trys to have a larger overall CS current, with a current per turn very close to the baseline case, but the CS coil turns increasing by 25%.

As this update to the start up calculation leads to significant changes to the pf coil current and CS coil geometry which in turn modify quite a few other parameter it will almost certainly fail the CI tests.

I gave an example of the updated output for the CS and PF coils below,

*************************************** Central Solenoid and PF Coils ****************************************

 Superconducting central solenoid
 Central solenoid superconductor material                                 (isumatoh)                        5     
  (WST Nb3Sn critical surface model)

 Central Solenoid Current Density Limits :

 Maximum field at Beginning Of Pulse (T)                                  (bmaxoh0)                 1.675E+01  OP 
 Critical superconductor current density at BOP (A/m2)                    (jscoh_bop)               1.477E+08  OP 
 Critical strand current density at BOP (A/m2)                            (jstrandoh_bop)           4.430E+07  OP 
 Allowable overall current density at BOP (A/m2)                          (rjohc0)                  2.109E+07  OP 
 Actual overall current density at BOP (A/m2)                             (cohbop)                  7.478E+06  OP 

 Maximum field at End Of Flattop (T)                                      (bmaxoh)                  1.636E+01  OP 
 Critical superconductor current density at EOF (A/m2)                    (jscoh_eof)               1.708E+08  OP 
 Critical strand current density at EOF (A/m2)                            (jstrandoh_eof)           5.125E+07  OP 
 Allowable overall current density at EOF (A/m2)                          (rjohc)                   2.440E+07  OP 
 Actual overall current density at EOF (A/m2)                             (coheof)                  7.734E+06  ITV

 CS inside radius (m)                                                     (bore.)                   1.300E+00     
 CS thickness (m)                                                         (ohcth.)                  1.744E+00     
 Gap between central solenoid and TF coil (m)                             (gapoh)                   5.000E-02  ITV
 CS overall cross-sectional area (m2)                                     (areaoh)                  2.894E+01  OP 
 CS conductor+void cross-sectional area (m2)                              (awpoh)                   1.968E+01  OP 
    CS conductor cross-sectional area (m2)                                (awpoh*(1-vfohc))         1.378E+01  OP 
    CS void cross-sectional area (m2)                                     (awpoh*vfohc)             5.905E+00  OP 
 CS steel cross-sectional area (m2)                                       (areaoh-awpoh)            9.258E+00  OP 
 CS steel area fraction                                                   (oh_steel_frac)           3.199E-01  ITV
 Only hoop stress considered
 Switch for CS stress calculation                                         (i_cs_stress)                     0     
 Allowable stress in CS steel (Pa)                                        (alstroh)                 6.600E+08     
 Hoop stress in CS steel (Pa)                                             (sig_hoop)                6.600E+08  OP 
 Axial stress in CS steel (Pa)                                            (sig_axial)              -7.892E+08  OP 
 Tresca stress in CS steel (Pa)                                           (s_tresca_oh)             6.600E+08  OP 
 Axial force in CS (N)                                                    (axial_force)            -3.004E+09  OP 
 Strain on CS superconductor                                              (strncon_cs)             -5.000E-03     
 Copper fraction in strand                                                (fcuohsu)                 7.000E-01     
 Void (coolant) fraction in conductor                                     (vfohc)                   3.000E-01     
 Helium coolant temperature (K)                                           (tftmp)                   4.750E+00     
 CS temperature margin (K)                                                (tmargoh)                 1.500E+00  OP 
 Minimum permitted temperature margin (K)                                 (tmargmin_cs)             1.500E+00     

 Superconducting PF coils
 PF coil superconductor material                                          (isumatpf)                        3     
   (NbTi)
 Copper fraction in conductor                                             (fcupfsu)                 6.900E-01     

 PF Coil Case Stress :

 Maximum permissible tensile stress (MPa)                                 (sigpfcalw)               5.000E+02     
 JxB hoop force fraction supported by case                                (sigpfcf)                 6.660E-01     

 Geometry of PF coils, central solenoid and plasma :

 coil           R(m)        Z(m)        dR(m)       dZ(m)       turns     steel thickness(m)

  PF1            6.45        9.76        1.06        1.06      293.63        0.05
  PF2            6.45      -11.28        1.22        1.22      390.66        0.23
  PF3           18.84        2.95        1.16        1.16      192.40        0.09
  PF4           18.84       -2.95        1.16        1.16      192.40        0.09
  PF5           17.19        8.25        0.82        0.82      125.35        0.07
  PF6           17.19       -8.25        0.82        0.82      125.35        0.07
  CS             2.17        0.00        1.74       16.60     5205.72        0.28
 Plasma          9.14        0.00        5.89       10.89        1.00

 PF Coil Information at Peak Current:

 coil  current  allowed J  actual J   J   cond. mass   steel mass     field
         (MA)    (A/m2)     (A/m2)  ratio    (kg)          (kg)        (T)

  PF1   12.39  8.134E+08  1.100E+07  0.01 2.875E+05   6.864E+04    2.198E+00
  PF2   16.49 -1.254E+08  1.100E+07 -0.09 3.824E+05   4.239E+05    1.180E+01
  PF3   -8.12  7.607E+08  6.000E+06  0.01 1.009E+06   4.273E+05    2.672E+00
  PF4   -8.12  7.607E+08  6.000E+06  0.01 1.009E+06   4.273E+05    2.672E+00
  PF5   -5.39  7.715E+08  8.000E+06  0.01 4.585E+05   2.219E+05    2.575E+00
  PF6   -5.39  7.715E+08  8.000E+06  0.01 4.585E+05   2.219E+05    2.575E+00
  CS  -223.85  2.109E+07  7.734E+06  0.37 1.692E+06   9.855E+05    1.675E+01
       ------                             ---------   ---------
       279.74                             5.298E+06   2.776E+06

 PF coil current scaling information :

 Sum of squares of residuals                                              (ssq0)                    4.264E-04  OP 
 Smoothing parameter                                                      (alfapf)                  5.000E-10     

 ****************************************** Volt Second Consumption *******************************************

              volt-sec       volt-sec       volt-sec
              start-up         burn          total

 PF coils :    -231.72         -55.51        -287.23
 CS coil  :    -223.95        -129.13        -353.08
              --------       --------       --------
 Total :       -455.67        -184.64        -640.31

 Total volt-second consumption by coils (Wb)                              (vstot)                  -6.403E+02  OP 
jonmaddock commented 4 years ago

In GitLab by @ajpearcey on Oct 8, 2019, 10:35

I have updated the start up calculation once more. The summary of all changes to this point is firstly that we use the mutual inductance between CS coil and plasma calculated elsewhere in the code,

dics = csflux * turns(ncirt-1) / sxlg(ncirt,ncirt-1) 

and the pfflux is now calculated using the change in current between the beginning of the pulse and the beginning of flat top operation.

 do ccount = 1, ngrp
       do i = 1, ncls(ccount)
          nocoil = nocoil + 1
          pfflux = pfflux + ((ccls(ccount)-ccl0(ccount)) * sxlg(nocoil,ncirt) &
               / turns(nocoil))
       end do
 end do

These two changes give rise smaller volt-sec availability in the PROCESS runs. So for comparison the baseline 2018 gives

Volt-second considerations:

 Total V-s capability of Central Solenoid/PF coils (Wb)                   (abs(vstot))              6.188E+02     
 Required volt-seconds during start-up (Wb)                               (vssoft)                  3.595E+02     
 Available volt-seconds during burn (Wb)                                  (vsmax)                   2.318E+02     

              volt-sec       volt-sec       volt-sec
              start-up         burn          total

 PF coils :    -214.25         -71.89        -286.15
 CS coil  :    -172.71        -159.95        -332.66
              --------       --------       --------
 Total :       -386.96        -231.84        -618.80

Whereas, for the 2018 baseline file run with new volt-sec calculations

 Volt-second considerations:

 Total V-s capability of Central Solenoid/PF coils (Wb)                   (abs(vstot))              5.919E+02     
 Required volt-seconds during start-up (Wb)                               (vssoft)                  3.614E+02     
 Available volt-seconds during burn (Wb)                                  (vsmax)                   2.317E+02 

             volt-sec       volt-sec       volt-sec
              start-up         burn          total

 PF coils :    -203.68         -69.97        -273.64
 CS coil  :    -156.56        -161.73        -318.29
              --------       --------       --------
 Total :       -360.23        -231.70        -591.93

So the new approach gives lower start up volt-sec requirements, but in the cases I have so far investaged are much closer to the required start-up flux vssoft. So it seems to lead to more "efficient" design of CS and PF coils for start up, and perhaps this is expected as we are using directly the mutual inductance's in the calculation now.

A caveat/complication is newer calculation is much keener on solution with higher auxuillary current drives. I have had a hard time finding solution with both pinjalw=51.0 and pheat50.0 jsut like in the 2018 baseline input with out reducing the convergence parameter to epsvmc=5.0e-5. Here us a full scan in pheat OUT.DAT

These changes lead to a shift in ratios of ohcth and bore in the CS coil optimised designs with a rmajor increase of 2cm. As a consequence of these changes it fail several of the benchmarks in the test suite. Sometime due to finding a error which PROCESS stops running from, typically from trying to letting ohcth become smaller than the the height of CS coil segment used in the calculation delzoh.

The test suite gives errors for

ERROR in test case(s) :: ['2D_scan', 'baseline_jan_2017', 'HARE', 'hts_REBCO', 'i_mode', 'kallenbach', 'kit_blanket', 'secondary_CD']

which is quite a few...

@jmorris-uk @mkovari What are you thoughts regarding the test suites? It seems this changes rejigs the design of a pulse machine quite considerably.

jonmaddock commented 4 years ago

In GitLab by @mkovari on Oct 8, 2019, 18:12

The change to the radial build is massive. Baseline 2018:

   10                  ohcth            6.6226E-01     1.1988
   12                  bore             2.1923E+00     0.9400

Alex's file (Scan point 17 of 17: pheat = 5.000E+01):

   10                  ohcth            1.6860E+00     0.9954
   13                  bore             1.3712E+00     1.0059

Possibly there is a large flat zone in the parameter space where increases in the bore are exchanged for decreases in the thickness of the CS (ohcth).

I note that the available flux during start-up (-360.23) is now less than the required flux (3.614E+02). This is a problem.

jonmaddock commented 2 years ago

In GitLab by @mkovari on Apr 6, 2022, 09:25

Hi Chris, Alex @ajpearcey, @mn3981,
This paper may be of interest - but I can't say I have read it.
Accurate Current Drive Modeling on EAST

ajpearcey commented 4 months ago

This needs to be considered along a number of similar/related issues #1616 and #1876. While not explicitly about the flux swing calculation it underlines the point that the current CS-PF volt-sec models are in need of improvement both from the engineering and physics side.

This should be moved to a discussion and we can come up with a plan for investigating this in the long term.

mkovari commented 3 weeks ago

This paper has some simple formulae for the required flux swing: Re-design of EU DEMO with a low aspect ratio

However, no justification is given for the formula for the available flux from the CS ($\Psi_{premag}$).