From 269a425eb93cafc78ae768afc99286412db2eed0 Mon Sep 17 00:00:00 2001 From: Michael Kovari Date: Tue, 30 Apr 2024 15:28:21 +0100 Subject: [PATCH 1/2] #3164 ITPA scaling --- process/physics.py | 46 +++++++++++++++++++++++++--- source/fortran/physics_variables.f90 | 5 +-- 2 files changed, 45 insertions(+), 6 deletions(-) diff --git a/process/physics.py b/process/physics.py index 7a1733cb1b..b60174fd27 100644 --- a/process/physics.py +++ b/process/physics.py @@ -3905,7 +3905,7 @@ def outplas(self): ) po.ocmmnt( self.outfile, - "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:", + "Triple product = Vol-av electron density x Vol-av electron temp x Energy confinement time:", ) po.ovarre( self.outfile, @@ -4347,7 +4347,9 @@ def igmarcal(self): f"{'':>34}{'for H = 1':<20}power balance", ) - for iisc in range(32, 48): + # for iisc in range(32, 48): + # Put the ITPA value first + for iisc in [50, 34, 37, 38, 39, 46, 47, 48]: ( physics_variables.kappaa, ptrez, @@ -4897,11 +4899,9 @@ def pcond( This subroutine calculates the energy confinement time using one of a large number of scaling laws, and the transport power loss terms. - AEA FUS 251: A User's Guide to the PROCESS Systems Code N. A. Uckan and ITER Physics Group, "ITER Physics Design Guidelines: 1989", ITER Documentation Series, No. 10, IAEA/ITER/DS/10 (1990) - ITER Documentation Series, No. 10, IAEA/ITER/DS/10 (1990) A. Murari et al 2015 Nucl. Fusion, 55, 073009 C.C. Petty 2008 Phys. Plasmas, 15, 080501 P.T. Lang et al. 2012 IAEA conference proceeding EX/P4-01 @@ -5964,6 +5964,44 @@ def pcond( startup_variables.qtaue = 0.0e0 startup_variables.rtaue = 0.0e0 + elif isc == 50: # ITPA20 Issue #3164 + # The updated ITPA global H-mode confinement database: description and analysis + # G. Verdoolaege et al 2021 Nucl. Fusion 61 076006 DOI 10.1088/1741-4326/abdb91 + + # thermal energy confinement time + # plasma current Ip (MA), + # on-axis vacuum toroidal magnetic field Bt (T) + # "central line-averaged electron density" nebar (1019 m−3) + # thermal power lost due to transport through the LCFS Pl,th (MW) + # major radius Rgeo (m) + # elongation of the LCFS, defined as κa = V/(2πRgeo πa2) + # (with V (m3) the plasma volume inside the LCFS), + # inverse aspect ratio epsilon = a/Rgeo + # effective atomic mass Meff of the plasma - NOT defined, but I have taken it equal to + # aion = average mass of all ions (amu). + # energy confinement time is given by τE,th = Wth/Pl,th, where Wth is the thermal stored energy. + # The latter is derived from the total stored energy Wtot by subtracting the energy + # content associated to fast particles originating from plasma heating. + + tauee = ( + hfact + * 0.053 + * pcur**0.98 + * bt**0.22 + * dnla19**0.24 + * powerht ** (-0.669) + * rmajor**1.71 + * (1 + physics_variables.triang) ** 0.36 + * physics_variables.kappaa_ipb**0.8 + * eps**0.35 + * physics_variables.aion**0.2 + ) + + startup_variables.gtaue = 0.0 + startup_variables.ptaue = 0.0 + startup_variables.qtaue = 0.0 + startup_variables.rtaue = 0.0 + else: error_handling.idiags[0] = isc error_handling.report_error(81) diff --git a/source/fortran/physics_variables.f90 b/source/fortran/physics_variables.f90 index 3404b511dd..3d3e0150bc 100644 --- a/source/fortran/physics_variables.f90 +++ b/source/fortran/physics_variables.f90 @@ -15,7 +15,7 @@ module physics_variables public - integer, parameter :: ipnlaws = 49 + integer, parameter :: ipnlaws = 50 !! number of energy confinement time scaling laws real(dp) :: abeam @@ -443,7 +443,8 @@ module physics_variables 'NSTX (Spherical) (H)', & 'NSTX-Petty08 Hybrid (H)', & 'NSTX gyro-Bohm Buxton(H)', & - 'Input tauee_in ' /) + 'Input tauee_in ', & + 'ITPA20 (H)' /) !! tauscl(ipnlaws) : labels describing energy confinement scaling laws: