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

Equation for plasma area/volume #513

Closed jonmaddock closed 1 year ago

jonmaddock commented 7 years ago

In GitLab by @mkovari on May 5, 2017, 08:34

From: Coleman Matti
The conclusion in the end was:
image

From: Kemp Richard
The PROCESS code is below.

      zn = kap * a
      rci = ( (r + a)**2 - (r - tri*a)**2 - zn**2) / &
           (2.0D0 * (1.0D0+tri) * a)
      c1 = r + a - rci
      rc2 = (-(r - a)**2 + (r - tri*a)**2 + zn**2) / &
           (2.0D0 * (1.0D0-tri) * a)
      c2 = rc2 - r + a

The error in the paper is linked to an error in the code, which is not mathematical but is typographical: rc_x and c_x are the wrong way round: rc1 is the centre of the first arc and c1 is its radius, not the other way round (as you might actually expect...).

Note also that the inputs are for the separatrix rather than the 95% flux surface.

So for R = 9m, a = 3m, kappa_x = 1.78, delta_x = 0.5 I get:

rc1 = 6.58m
c1 = 5.42m
rc2 = 16.18m
c2 = 10.1m

and the separatrix is in the right position.

(The formula for volume is right too, it just also has the mislabelled variables.)

jonmaddock commented 5 years ago

In GitLab by @ajpearcey on Mar 27, 2019, 15:00

The notation used in the fvol function in plasma_geometry.f90 has been updated to reflect above.

jonmaddock commented 5 years ago

In GitLab by @ajpearcey on Mar 27, 2019, 15:00

closed

jonmaddock commented 5 years ago

In GitLab by @mkovari on Mar 28, 2019, 08:15

@ajpearcey - Can you confirm that you have tested it and it produces exactly the same results as before, both for area (cross-section or surface area?) and volume, and that these results have been checked against an external reference or hand calculation?

Also - would you say these formulae are appropriate for a single null, symmetric double null, or (approximately) for both?

jonmaddock commented 5 years ago

In GitLab by @mkovari on Mar 28, 2019, 08:15

reopened

jonmaddock commented 5 years ago

In GitLab by @ajpearcey on Apr 25, 2019, 09:49

@mkovari I can confirm that these functions to work and give consistent plasma geometry, but only as long as trianguarity satisfies $\delta !=\pm1$ and $\kappa^2 > (1 + \delta)^2$ at which point the volume calculated will unphysical results and PROCESS will immediately stop the calculation.

The functions in plasma_geometry.f90 assume the triangular plasma geometry is given by considering two circular segments. These have been compared to the hand calculation following the approach using the information found here and applying Pappus's Theorem. I find different expressions to those given in PROCESS, but I find identical answers for all plasma geometry variables, these seem to be explained by some inscrutable use of some trig identities.

The limits on the validity of the trianguarity are due to variables denomo and denomi becoming either zero or negative. These issues would arise in either the currently used expressions or the ones I found.

I have scanned trigularity to check the behaviour of the plasma geometry variables and they are well behaved with the limits described above, although outside $\delta = 0.4-06$ we get an error message in the validity of the pedestal scaling.

Also, the formulae assume a symmetric double null shape.

jonmaddock commented 5 years ago

In GitLab by @mkovari on Apr 25, 2019, 10:03

only as long as triangularity satisfies $-1 < \delta < 1$ and $\kappa > 1 + \delta$

jonmaddock commented 5 years ago

In GitLab by @mkovari on Apr 25, 2019, 10:04

Is the develop branch now merged and up to date?

jonmaddock commented 5 years ago

In GitLab by @ajpearcey on Apr 25, 2019, 10:17

The geometry calculations with fail if either $\delta$ equals precisely 1 or -1, or $\kappa < 1 +\delta$. The inputted triangulaity is also hard coded allow only values in between -1 and 1. It will run fine if the triangularity is 0.999... as long as the elongation is large enough. Sorry, that was a bit unclear.

The branch which includes the changes above is currently waiting to be merged into the develop branch.

jonmaddock commented 5 years ago

In GitLab by @ajpearcey on Apr 25, 2019, 10:35

closed

jonmaddock commented 4 years ago

In GitLab by @mkovari on Nov 20, 2019, 11:40

Still slightly confused about the correct formulae. It would be nice to rewrite the parts of section 9 of the document below that relate to plasma volume and area to reflect (a) the code as it stands now, (b) the correct mathematics and (c) formulae that have been checked numerically or using calculations external to PROCESS.

K:\Power Plant Physics and Technology\PROCESS\PROCESS documentation papers\PROCESS full documentation build, coils and heating.docx

Also, I understand that this calculation is done more than once. It would be good to have a reference to the relevant sections of code.

Also, note that in Plasmod the volume is calculated by numerical integration, giving a slightly different answer, which is output separately

@ajpearcey ?

jonmaddock commented 4 years ago

In GitLab by @ajpearcey on Jan 14, 2020, 14:28

As there is no complete and clear derivation of plasma geometry, I have tried to create one I include here. One of the main issues is that within the module plasma_geometry.f90 there are two versions of every subroutine, older and newer versions, which are selected with a switch igeom. Neither of the expressions used in the two plasma volume calculation is at all clear, straight forward or documented. Therefore, I have derived the plasma volume again and find an expression with a different form to the default igeom=1 calculation but gives the same answer for the volume.

The word document detailing the calucation is called plasma_geometry.docx and is found at K:\Power Plant Physics and Technology\PROCESS\PROCESS documentation papers\plasma_geometry.docx

jonmaddock commented 4 years ago

In GitLab by @mkovari on Jan 14, 2020, 14:45

A few suggestions.

jonmaddock commented 1 year ago

In GitLab by @ajpearcey on Apr 11, 2023, 16:00

The word doc can also be found here plasma_geometry.docx