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
30 stars 11 forks source link

Higher current density required in TF coil REBCO tape #1351

Closed jonmaddock closed 1 year ago

jonmaddock commented 3 years ago

In GitLab by @cz1743 on Jul 21, 2021, 16:30

The Confinement team have requested the implementation of a new specification cable within the superconducting TF coils.

This new cable should permit a much higher current density in the superconductor, jcritsc, as per rebco.py:

"Returns the critical current of a REBCO tape based on a critical surface (field, temperature) parameterization. Based in part on the parameterization described in: M. J. Wolf, N. Bagrets, W. H. Fietz, C. Lange and K. Weiss, "Critical Current Densities of 482 A/mm2 in HTS CrossConductors at 4.2 K and 12 T," in IEEE Transactions on Applied Superconductivity, vol. 28, no. 4, pp. 1-4, June 2018, Art no. 4802404, doi: 10.1109/TASC.2018.2815767. And on the experimental data presented here: 2G HTS Wire Development at SuperPower, Drew W. Hazelton, February 16, 2017 (https://indico.cern.ch/event/588810/contributions/2473740).
The parameter A is transformed into a function A(T) based on a Newton polynomial fit considering A(4.2 K) = 2.2e8, A(20 K) = 2.3e8 and A(65 K) = 3.5e8. These values were selected manually. A good fit to the pubished data can be seen in the 4-10 T range but the fit deviates at very low or very high field. !!! Keep in mind that ITER's coils are measured against a critical current criterion of 1e-5 V/m, while REBCO is measured against 1e-4 V/m."

jonmaddock commented 3 years ago

In GitLab by @cz1743 on Jul 21, 2021, 16:32

created merge request !450 to address this issue

jonmaddock commented 3 years ago

In GitLab by @mkovari on Jul 29, 2021, 10:13

It is worth doing a check against the "data" from Wolf et al to confirm the engineering current density for a couple of values of field and temperature:

image
Temperature- and field-dependence of the critical current of the HTS CroCo sample.

jonmaddock commented 3 years ago

In GitLab by @apetrov on Jul 29, 2021, 11:27

I believe I haven't expressed myself sufficiently well in the docstring which Rhian has copied over. What I've done is I borrowed the parameterization equation from Wolf et al then then tweaked the coefficient values until the fit closely followed the data from Drew Hazelton's presentation: base_hts_ic I've labelled this the 'original fit' while the 'high Ic fit' that Rhian uses is simply an increase of the critical current to match what we've seen in Zhai et al (https://doi.org/10.1016/j.fusengdes.2021.112611) while the shape of all relationships is retained; the 'high Ic fit' is valid for temperatures probably up to 30 K but above that we'll need actual data.

My point here is that the parameterization Rhian has is not going to reproduce the data in Wolf et al.

The last thing that needs mentioning is that when applied to a CORC configuration, the Jc in the area where the tapes are located is NOT equal to the Jc of the tape - in fact it is about half (for a given design), largely due to the gaps between the tapes. The parameterization I provided to Rhian reflects this.

jonmaddock commented 3 years ago

In GitLab by @cz1743 on Aug 20, 2021, 16:19

created merge request !495 to address this issue

jonmaddock commented 3 years ago

In GitLab by @cz1743 on Sep 1, 2021, 14:13

created merge request !507 to address this issue

jonmaddock commented 2 years ago

In GitLab by @stuartmuldrew on Oct 20, 2021, 15:26

closed via merge request !495

jonmaddock commented 2 years ago

In GitLab by @stuartmuldrew on Oct 20, 2021, 15:26

mentioned in commit 0235f04c8b6729395e04bd0e69f6c65658cbe961

jonmaddock commented 2 years ago

In GitLab by @pc6783 on Dec 3, 2021, 15:58

Sorry, I'm still a bit confused. It looks like the parametrization was that of Wolf. Were the parameters set to agree with Hazeltine or Zhai?

jonmaddock commented 2 years ago

In GitLab by @pc6783 on Dec 3, 2021, 17:34

Another small point of confusion: I get why the critical current density jcrit would be scaled by the REBCO layer thickness hts_tape_thickness as on Line 856 of superconductors.f90, but why would it be scaled also by hts_tape_width?

Critical current density scaled by REBCO layer thickness because this is a small fraction of the overall tape thickness, so increasing it almost-linearly increases the areally-averaged critical current density. But the same is not true of the width. Doubling the tape width doubles the critical current, yes, but doesn't it also double the cross-sectional area of the tape?

jonmaddock commented 2 years ago

In GitLab by @apetrov on Dec 3, 2021, 17:49

Yes, a little bit of tweaking of the coefficients (the parameterisation is a polynomial) achieves the data from Hazeltine. Further tweaking can retain the shape of the plots up to 30 K but increase the critical current in line with the values reported in Zhai. I'm happy to have a chat via Teams next week if you wish further clarification; this was done some time ago now so my explanation might be a bit rusty.

jonmaddock commented 2 years ago

In GitLab by @pc6783 on Dec 3, 2021, 18:01

I am an external collaborator and don't have access to your teams server :(

Thanks for getting back to me. My question is: As the code is implemented, which data are reproduced? If I run the subroutine using the default values, do I reproduce the results of Hazeltine or Zhai?

jonmaddock commented 2 years ago

In GitLab by @apetrov on Dec 3, 2021, 18:03

Ah, sorry! I think this is something that Rhian has to answer (as I'm not involved in the actual PROCESS software engineering) but I believe the idea was to use the higher current density, so I'd think you would get Zhai.

jonmaddock commented 2 years ago

In GitLab by @pc6783 on Dec 3, 2021, 18:04

Thanks anyway! I'll wait until @cz1743 is able to answer.

jonmaddock commented 2 years ago

In GitLab by @apetrov on Dec 3, 2021, 18:08

I decided to put some effort in, and looked at the parameterisation in PROCESS just now. The code as it is in !495 will produce the results according to Zhai. It's good to point out here that Zhai's data points are very few (I literally mean 3 datapoints at specified B and T) and so the parameterisation for it is a little bit of a hack that should not be taken as a bible.

jonmaddock commented 2 years ago

In GitLab by @apetrov on Dec 3, 2021, 18:15

If this is what you are referring to:

    ! Jc times HTS area: default area is width 4mm times HTS layer thickness 1 um, 
    ! divided by the tape area to provide engineering Jc per tape, then multiplied by fraction 0.4
    ! to reach the level of current density expected in the space where the tapes are wound in A/m^2!
    jcrit = jcrit * (hts_tape_width * hts_tape_thickness) / (4.0D-3 * 6.5D-5) * 0.4D0

The parameterisation that I used basically produces Jc [A/m2] for the HTS layer, so to obtain engineering Jc [A/m2] for the tape you have to scale by the thickness. Technically having the hts_tape_width here is not necessary as it cancels out (see below) but it helps when explaining this scaling.

@cz1743 Looking at the equation makes me realise that it is not correct! It must go like this:

jcrit = jcrit * (hts_tape_width * hts_LAYER_thickness) / (hts_tape_width * hts_TAPE_THICKNESS) * 0.4D0

What's going on right now is that the tape width is a constant for one part of the equation only (4 mm vs variable) and the HTS layer is quite thick (0.065 mm vs 1 um originally)... I think this merits us to have a chat as soon as practical so I can explain why, and to see if that will affect the runs you've done so far. Chances are the effect will be negligible as we know that we can get higher Ic due to the tape technology improving.

P.S. This is the function in my original Python script:

    # Jc times HTS area, area is width 4mm times HTS layer thickness 1 um, divided by the tape area to provide engineering Jc per tape,
    # then multiplied by fraction 0.4 to reach the level of current density expected in the space where the tapes are wound
    # in A/m^2!
    return(J_c * (4e-3  * 1e-6) / (4e-3 * 0.065e-3) * 0.4)
jonmaddock commented 2 years ago

In GitLab by @pc6783 on Dec 3, 2021, 19:59

Just one more thing, I swear

There are already some inputs that were developed for the CroCo model (i_tf_sup_mat = 6) which you might want to re-use here rather than re-inventing your own. The rebco_variables.f90 module has user-selectable inputs for the thickness of the REBCO layer (rebco_thickness), the copper layer (copper_thick), and the hastelloy layer (hastelloy_thickness).

jonmaddock commented 2 years ago

In GitLab by @cz1743 on Dec 6, 2021, 17:40

I defer to @apetrov!

jonmaddock commented 2 years ago

In GitLab by @pc6783 on Dec 6, 2021, 17:43

Thanks! This is helpful. If you ever end up revisiting this, would you please put that into the descriptive comment where i_tf_sc_mat is defined?

jonmaddock commented 2 years ago

In GitLab by @cz1743 on Dec 6, 2021, 17:51

Ok, I've raised an issue: https://git.ccfe.ac.uk/process/process/-/issues/1494

@apetrov would you be able to sketch a quick diagram, identifying the tape width, thickness and layer thickness? (Ideally including default values to use for each.) I can add that to the issue so that everything is properly captured.

jonmaddock commented 2 years ago

In GitLab by @apetrov on Dec 6, 2021, 17:53

Not a problem! I will make this for you tomorrow morning and make sure to include a few extra clarifications that we need to keep in mind if PROCESS wants to model Paul Noonan's stacked tapes design.