physics_variables Module

Module containing global variables relating to the plasma physics

References

-



Contents

ipnlaws abeam afuel aion alphaj alphan alphap alpha_rate_density_total alpha_rate_density_plasma alphat aspect beamfus0 beta betaft betalim betalim_lower beta_beam betap normalised_total_beta betbm0 bp bt btot burnup burnup_in bvert c_beta csawth cvol cwrmax dene deni dlamee dlamie dlimit dnalp dnbeam beam_density_out dnbeta dnelimt dnitot dnla dnprot dntau dnz gradient_length_ne gradient_length_te epbetmax eps aux_current_fraction inductive_current_fraction f_alpha_electron f_alpha_plasma f_alpha_ion f_deuterium ftar ffwal fgwped fgwsep f_helium3 figmer fkzohm fplhsep fpdivlim fne0 f_tritium fusion_rate_density_total fusion_rate_density_plasma fvsbrnni gamma gammaft hfac hfact taumax i_bootstrap_current iculbl i_plasma_current i_diamagnetic_current idensl idivrt ifalphap ignite iinvqd ipedestal i_pfirsch_schluter_current neped nesep alpha_crit nesep_crit plasma_res_factor rhopedn rhopedt rho_te_max rho_ne_max tbeta teped tesep iprofile iradloss isc tauscl iscrp ishape itart itartpf iwalld kappa kappa95 kappaa kappaa_IPB ne0 ni0 m_s_limit p0 vol_avg_pressure f_dd_branching_trit alpha_power_density_plasma alpha_power_density_total alpha_power_electron_density palpfwmw alpha_power_ions_density alpha_power_plasma alpha_power_total alpha_power_beams non_alpha_charged_power charged_particle_power charged_power_density pcoef pinnerzoneradmw pcoreradpv dd_power dhe3_power pdivt pdivl pdivu pdivmax dt_power_total dt_power_plasma pouterzoneradmw pedgeradpv phiint photon_wall piepv plasma_current neutron_power_plasma neutron_power_total neutron_power_density_total neutron_power_density_plasma pohmmw pohmpv powerht fusion_power pperim pradmw pradpv pradsolmw proton_rate_density psolradmw psyncpv ilhthresh plhthresh pthrmw ptremw ptrepv ptrimw pscalingmw ptripv q q0 q95 qfuel tauratio qlim qstar rad_fraction_sol rad_fraction_total ralpne protium rli rlp rmajor rminor rnbeam rncne rndfuel rnfene rnone rpfac rplas res_time sarea sareao sf i_single_null ssync tauee tauee_in taueff tauei taup te te0 ten ti ti0 tin tratio triang triang95 plasma_volume vsbrn vshift vsind vsres vsstt wallmw wtgpd xarea zeff zeffai

Variables

TypeVisibility AttributesNameInitial
integer, public, parameter:: ipnlaws =50

number of energy confinement time scaling laws

real(kind=dp), public :: abeam

beam ion mass (amu)

real(kind=dp), public :: afuel

average mass of fuel portion of ions (amu)

real(kind=dp), public :: aion

average mass of all ions (amu)

real(kind=dp), public :: alphaj

current profile index (calculated from q_0 and q if iprofile=1)

real(kind=dp), public :: alphan

density profile index

real(kind=dp), public :: alphap

pressure profile index

real(kind=dp), public :: alpha_rate_density_total

Alpha particle production rate per unit volume, from plasma and beams [particles/m3/sec]

real(kind=dp), public :: alpha_rate_density_plasma

Alpha particle production rate per unit volume, just from plasma [particles/m3/sec]

real(kind=dp), public :: alphat

temperature profile index

real(kind=dp), public :: aspect

aspect ratio (iteration variable 1)

real(kind=dp), public :: beamfus0

multiplier for beam-background fusion calculation

real(kind=dp), public :: beta

total plasma beta (iteration variable 5) (calculated if stellarator)

real(kind=dp), public :: betaft

fast alpha beta component

real(kind=dp), public :: betalim

allowable beta

real(kind=dp), public :: betalim_lower

allowable lower beta

real(kind=dp), public :: beta_beam

neutral beam beta component

real(kind=dp), public :: betap

poloidal beta

real(kind=dp), public :: normalised_total_beta

normaised total beta

real(kind=dp), public :: betbm0

leading coefficient for NB beta fraction

real(kind=dp), public :: bp

poloidal field (T)

real(kind=dp), public :: bt

toroidal field on axis (T) (iteration variable 2)

real(kind=dp), public :: btot

total toroidal + poloidal field (T)

real(kind=dp), public :: burnup

fractional plasma burnup

real(kind=dp), public :: burnup_in

fractional plasma burnup user input

real(kind=dp), public :: bvert

vertical field at plasma (T)

real(kind=dp), public :: c_beta

Destabalisation parameter for iprofile=6 beta limit

real(kind=dp), public :: csawth

coeff. for sawteeth effects on burn V-s requirement

real(kind=dp), public :: cvol

multiplying factor times plasma volume (normally=1)

real(kind=dp), public :: cwrmax

maximum ratio of conducting wall distance to plasma minor radius for vertical stability (constraint equation 23)

real(kind=dp), public :: dene

electron density (/m3) (iteration variable 6)

real(kind=dp), public :: deni

fuel ion density (/m3)

real(kind=dp), public :: dlamee

electron-electron coulomb logarithm

real(kind=dp), public :: dlamie

ion-electron coulomb logarithm

real(kind=dp), public, dimension(7):: dlimit

density limit (/m3) as calculated using various models

real(kind=dp), public :: dnalp

thermal alpha density (/m3)

real(kind=dp), public :: dnbeam

hot beam ion density, variable (/m3)

real(kind=dp), public :: beam_density_out

hot beam ion density from calculation (/m3)

real(kind=dp), public :: dnbeta

Troyon-like coefficient for beta scaling

real(kind=dp), public :: dnelimt

density limit (/m3)

real(kind=dp), public :: dnitot

total ion density (/m3)

real(kind=dp), public :: dnla

line averaged electron density (/m3)

real(kind=dp), public :: dnprot

proton ash density (/m3)

real(kind=dp), public :: dntau

plasma average "n-tau" (seconds/m3)

real(kind=dp), public :: dnz

high Z ion density (/m3)

real(kind=dp), public :: gradient_length_ne

Max. normalized gradient length in el. density (ipedestal==0 only)

real(kind=dp), public :: gradient_length_te

Max. normalized gradient length in el. temperature (ipedestal==0 only)

real(kind=dp), public :: epbetmax

maximum (eps*beta_poloidal) (constraint equation 6). Note: revised issue #346 "Operation at the tokamak equilibrium poloidal beta-limit in TFTR", 1992 Nucl. Fusion 32 1468

real(kind=dp), public :: eps

inverse aspect ratio

real(kind=dp), public :: aux_current_fraction

fraction of plasma current produced by auxiliary current drive

real(kind=dp), public :: inductive_current_fraction

fraction of plasma current produced inductively

real(kind=dp), public :: f_alpha_electron

fraction of alpha energy to electrons

real(kind=dp), public :: f_alpha_plasma

Fraction of alpha power deposited in plasma. Default of 0.95 taken from https://doi.org/10.1088/0029-5515/39/12/305.

real(kind=dp), public :: f_alpha_ion

fraction of alpha power to ions

real(kind=dp), public :: f_deuterium

deuterium fuel fraction

real(kind=dp), public :: ftar

fraction of power to the lower divertor in double null configuration (i_single_null = 0 only) (default assumes SN)

real(kind=dp), public :: ffwal

factor to convert plasma surface area to first wall area in neutron wall load calculation (iwalld=1)

real(kind=dp), public :: fgwped

fraction of Greenwald density to set as pedestal-top density. If <0, pedestal-top density set manually using neped (ipedestal==1). (iteration variable 145)

real(kind=dp), public :: fgwsep

fraction of Greenwald density to set as separatrix density. If <0, separatrix density set manually using nesep (ipedestal==1). (iteration variable 152)

real(kind=dp), public :: f_helium3

helium-3 fuel fraction

real(kind=dp), public :: figmer

physics figure of merit (= plasma_currentaspect*sbar, where sbar=1)

real(kind=dp), public :: fkzohm

Zohm elongation scaling adjustment factor (ishape=2, 3)

real(kind=dp), public :: fplhsep

F-value for Psep >= Plh + Paux (constraint equation 73)

real(kind=dp), public :: fpdivlim

F-value for minimum pdivt (constraint equation 80)

real(kind=dp), public :: fne0

f-value for the constraint ne(0) > ne(ped) (constraint equation 81) (Iteration variable 154)

real(kind=dp), public :: f_tritium

tritium fuel fraction

real(kind=dp), public :: fusion_rate_density_total

fusion reaction rate, from beams and plasma (reactions/m3/sec)

real(kind=dp), public :: fusion_rate_density_plasma

fusion reaction rate, just from plasma (reactions/m3/sec)

real(kind=dp), public :: fvsbrnni

fraction of the plasma current produced by non-inductive means (iteration variable 44)

real(kind=dp), public :: gamma

Ejima coefficient for resistive startup V-s formula

real(kind=dp), public :: gammaft

ratio of (fast alpha + neutral beam beta) to thermal beta

real(kind=dp), public, dimension(ipnlaws):: hfac

H factors for an ignited plasma for each energy confinement time scaling law

real(kind=dp), public :: hfact

H factor on energy confinement times, radiation corrected (iteration variable 10).

real(kind=dp), public :: taumax

Maximum allowed energy confinement time (s)

integer, public :: i_bootstrap_current

switch for bootstrap current scaling

  • =1 ITER 1989 bootstrap scaling (high R/a only)
  • =2 for Nevins et al general scaling
  • =3 for Wilson et al numerical scaling
  • =4 for Sauter et al scaling
  • =5 for Sakai et al scaling
  • =6 for ARIES scaling
  • =7 for Andrade et al scaling
  • =8 for Hoang et al scaling
  • =9 for Wong et al scaling
  • =10 for Gi-I et al scaling
  • =11 for Gi-II et al scaling
integer, public :: iculbl

switch for beta limit scaling (constraint equation 24)

  • =0 apply limit to total beta
  • =1 apply limit to thermal beta
  • =2 apply limit to thermal + neutral beam beta
  • =3 apply limit to toroidal beta
integer, public :: i_plasma_current

switch for plasma current scaling to use

  • =1 Peng analytic fit
  • =2 Peng double null divertor scaling (ST)
  • =3 simple ITER scaling (k = 2.2, d = 0.6)
  • =4 later ITER scaling, a la Uckan
  • =5 Todd empirical scaling I
  • =6 Todd empirical scaling II
  • =7 Connor-Hastie model
  • =8 Sauter scaling allowing negative triangularity
  • =9 FIESTA ST fit
integer, public :: i_diamagnetic_current

switch for diamagnetic current scaling

  • =0 Do not calculate
  • =1 Use original TART scaling
  • =2 Use SCENE scaling
integer, public :: idensl

switch for density limit to enforce (constraint equation 5)

  • =1 old ASDEX
  • =2 Borrass model for ITER (I)
  • =3 Borrass model for ITER (II)
  • =4 JET edge radiation
  • =5 JET simplified
  • =6 Hugill-Murakami Mq limit
  • =7 Greenwald limit
integer, public :: idivrt

number of divertors (calculated from i_single_null)

integer, public :: ifalphap

switch for fast alpha pressure calculation

  • =0 ITER physics rules (Uckan) fit
  • =1 Modified fit (D. Ward) - better at high temperature
integer, public :: ignite

switch for ignition assumption. Obviously, ignite must be zero if current drive is required. If ignite is 1, any auxiliary power is assumed to be used only during plasma start-up, and is excluded from all steady-state power balance calculations.

  • =0 do not assume plasma ignition
  • =1 assume ignited (but include auxiliary power in costs)</UL
integer, public :: iinvqd

switch for inverse quadrature in L-mode scaling laws 5 and 9:

  • =0 inverse quadrature not used
  • =1 inverse quadrature with Neo-Alcator tau-E used
integer, public :: ipedestal

switch for pedestal profiles:

  • =0 use original parabolic profiles
  • =1 use pedestal profile
integer, public :: i_pfirsch_schluter_current

switch for Pfirsch-Schlüter current scaling (issue #413):

  • =0 Do not calculate
  • =1 Use SCENE scaling
real(kind=dp), public :: neped

electron density of pedestal [m-3] (`ipedestal==1)

real(kind=dp), public :: nesep

electron density at separatrix [m-3] (`ipedestal==1)

real(kind=dp), public :: alpha_crit

critical ballooning parameter value

real(kind=dp), public :: nesep_crit

critical electron density at separatrix [m-3]

real(kind=dp), public :: plasma_res_factor

plasma resistivity pre-factor

real(kind=dp), public :: rhopedn

r/a of density pedestal (ipedestal==1)

real(kind=dp), public :: rhopedt

r/a of temperature pedestal (ipedestal==1)

real(kind=dp), public :: rho_te_max

r/a where the temperature gradient is largest (ipedestal==0)

real(kind=dp), public :: rho_ne_max

r/a where the density gradient is largest (ipedestal==0)

real(kind=dp), public :: tbeta

temperature profile index beta (`ipedestal==1)

real(kind=dp), public :: teped

electron temperature of pedestal (keV) (ipedestal==1)

real(kind=dp), public :: tesep

electron temperature at separatrix (keV) (ipedestal==1) calculated if reinke criterion is used (icc=78)

integer, public :: iprofile

switch for current profile consistency:

  • =0 use input values for alphaj, rli, dnbeta
  • =1 make these consistent with input q, q_0 values (recommend i_plasma_current=4 with this option)
  • =2 use input values for alphaj, rli. Scale dnbeta with aspect ratio (original scaling)
  • =3 use input values for alphaj, rli. Scale dnbeta with aspect ratio (Menard scaling)
  • =4 use input values for alphaj, dnbeta. Set rli from elongation (Menard scaling)
  • =5 use input value for alphaj. Set rli and dnbeta from Menard scaling
  • =6 use input values for alphaj, c_beta. Set rli from Menard and dnbeta from Tholerus
integer, public :: iradloss

switch for radiation loss term usage in power balance (see User Guide):

  • =0 total power lost is scaling power plus radiation
  • =1 total power lost is scaling power plus core radiation only
  • =2 total power lost is scaling power only, with no additional allowance for radiation. This is not recommended for power plant models.
integer, public :: isc

switch for energy confinement time scaling law (see description in tauscl)

character(len=24), public, parameter, dimension(ipnlaws):: tauscl =(/'Neo-Alcator      (ohmic)', 'Mirnov               (H)', 'Merezkhin-Muhkovatov (L)', 'Shimomura            (H)', 'Kaye-Goldston        (L)', 'ITER 89-P            (L)', 'ITER 89-O            (L)', 'Rebut-Lallia         (L)', 'Goldston             (L)', 'T10                  (L)', 'JAERI-88             (L)', 'Kaye-Big Complex     (L)', 'ITER H90-P           (H)', 'ITER Mix             (L)', 'Riedel               (L)', 'Christiansen         (L)', 'Lackner-Gottardi     (L)', 'Neo-Kaye             (L)', 'Riedel               (H)', 'ITER H90-P amended   (H)', 'LHD              (stell)', 'Gyro-reduced Bohm(stell)', 'Lackner-Gottardi (stell)', 'ITER-93H             (H)', 'TITAN RFP OBSOLETE      ', 'ITER H-97P ELM-free  (H)', 'ITER H-97P ELMy      (H)', 'ITER-96P             (L)', 'Valovic modified ELMy(H)', 'Kaye PPPL April 98   (L)', 'ITERH-PB98P(y)       (H)', 'IPB98(y)             (H)', 'IPB98(y,1)           (H)', 'IPB98(y,2)           (H)', 'IPB98(y,3)           (H)', 'IPB98(y,4)           (H)', 'ISS95            (stell)', 'ISS04            (stell)', 'DS03                 (H)', 'Murari et al NPL     (H)', 'Petty 2008           (H)', 'Lang et al. 2012     (H)', 'Hubbard 2017 - nom   (I)', 'Hubbard 2017 - lower (I)', 'Hubbard 2017 - upper (I)', 'NSTX (Spherical)     (H)', 'NSTX-Petty08 Hybrid  (H)', 'NSTX gyro-Bohm Buxton(H)', 'Input tauee_in          ', 'ITPA20               (H)'/)

tauscl(ipnlaws) : labels describing energy confinement scaling laws:

  • ( 1) Neo-Alcator (ohmic)
  • ( 2) Mirnov (H-mode)
  • ( 3) Merezkhin-Muhkovatov (L-mode)
  • ( 4) Shimomura (H-mode)
  • ( 5) Kaye-Goldston (L-mode)
  • ( 6) ITER 89-P (L-mode)
  • ( 7) ITER 89-O (L-mode)
  • ( 8) Rebut-Lallia (L-mode)
  • ( 9) Goldston (L-mode)
  • (10) T10 (L-mode)
  • (11) JAERI-88 (L-mode)
  • (12) Kaye-Big Complex (L-mode)
  • (13) ITER H90-P (H-mode)
  • (14) ITER Mix (L-mode)
  • (15) Riedel (L-mode)
  • (16) Christiansen (L-mode)
  • (17) Lackner-Gottardi (L-mode)
  • (18) Neo-Kaye (L-mode)
  • (19) Riedel (H-mode)
  • (20) ITER H90-P amended (H-mode)
  • (21) LHD (stellarator)
  • (22) Gyro-reduced Bohm (stellarator)
  • (23) Lackner-Gottardi (stellarator)
  • (24) ITER-93H (H-mode)
  • (25) OBSOLETE
  • (26) ITER H-97P ELM-free (H-mode)
  • (27) ITER H-97P ELMy (H-mode)
  • (28) ITER-96P (=ITER-97L) (L-mode)
  • (29) Valovic modified ELMy (H-mode)
  • (30) Kaye PPPL April 98 (L-mode)
  • (31) ITERH-PB98P(y) (H-mode)
  • (32) IPB98(y) (H-mode)
  • (33) IPB98(y,1) (H-mode)
  • (34) IPB98(y,2) (H-mode)
  • (35) IPB98(y,3) (H-mode)
  • (36) IPB98(y,4) (H-mode)
  • (37) ISS95 (stellarator)
  • (38) ISS04 (stellarator)
  • (39) DS03 (H-mode)
  • (40) Murari et al non-power law (H-mode)
  • (41) Petty 2008 (H-mode)
  • (42) Lang et al. 2012 (H-mode)
  • (43) Hubbard 2017 (I-mode) - nominal
  • (44) Hubbard 2017 (I-mode) - lower bound
  • (45) Hubbard 2017 (I-mode) - upper bound
  • (46) NSTX (H-mode; Spherical tokamak)
  • (47) NSTX-Petty08 Hybrid (H-mode)
  • (48) NSTX gyro-Bohm (Buxton) (H-mode; Spherical tokamak)
  • (49) Use input tauee_in

integer, public :: iscrp

switch for plasma-first wall clearances:

  • =0 use 10% of rminor
  • =1 use input (scrapli and scraplo)
integer, public :: ishape

switch for plasma cross-sectional shape calculation:

  • =0 use input kappa, triang to calculate 95% values
  • =1 scale qlim, kappa, triang with aspect ratio (ST)
  • =2 set kappa to the natural elongation value (Zohm ITER scaling), triang input
  • =3 set kappa to the natural elongation value (Zohm ITER scaling), triang95 input
  • =4 use input kappa95, triang95 to calculate separatrix values
  • =5 use input kappa95, triang95 to calculate separatrix values based on MAST scaling (ST)
  • =6 use input kappa, triang to calculate 95% values based on MAST scaling (ST)
  • =7 use input kappa95, triang95 to calculate separatrix values based on fit to FIESTA (ST)
  • =8 use input kappa, triang to calculate 95% values based on fit to FIESTA (ST)
  • =9 set kappa to the natural elongation value, triang input
  • =10 set kappa to maximum stable value at a given aspect ratio (2.6<A<3.6)), triang input (#1399)
  • =11 set kappa Menard 2016 aspect-ratio-dependent scaling, triang input (#1439)
integer, public :: itart

switch for spherical tokamak (ST) models:

  • =0 use conventional aspect ratio models
  • =1 use spherical tokamak models
integer, public :: itartpf

switch for Spherical Tokamak PF models:

  • =0 use Peng and Strickler (1986) model
  • =1 use conventional aspect ratio model
integer, public :: iwalld

switch for neutron wall load calculation:

  • =1 use scaled plasma surface area
  • =2 use first wall area directly
real(kind=dp), public :: kappa

plasma separatrix elongation (calculated if ishape = 1-5, 7 or 9-10)

real(kind=dp), public :: kappa95

plasma elongation at 95% surface (calculated if ishape = 0-3, 6, or 8-10)

real(kind=dp), public :: kappaa

plasma elongation calculated as xarea/(pi.a^2)

real(kind=dp), public :: kappaa_IPB

Volume measure of plasma elongation

real(kind=dp), public :: ne0

central electron density (/m3)

real(kind=dp), public :: ni0

central ion density (/m3)

real(kind=dp), public :: m_s_limit

margin to vertical stability

real(kind=dp), public :: p0

central total plasma pressure (Pa)

real(kind=dp), public :: vol_avg_pressure

Volume averaged plasma pressure (Pa)

real(kind=dp), public :: f_dd_branching_trit

branching ratio for DD -> T

real(kind=dp), public :: alpha_power_density_plasma

Alpha power per volume just from plasma [MW/m3]

real(kind=dp), public :: alpha_power_density_total

Alpha power per volume from plasma and beams [MW/m3]

real(kind=dp), public :: alpha_power_electron_density

Alpha power per volume to electrons [MW/m3]

real(kind=dp), public :: palpfwmw

alpha power escaping plasma and reaching first wall (MW)

real(kind=dp), public :: alpha_power_ions_density

alpha power per volume to ions (MW/m3)

real(kind=dp), public :: alpha_power_plasma

Alpha power from only the plasma (MW)

real(kind=dp), public :: alpha_power_total

Total alpha power from plasma and beams (MW)

real(kind=dp), public :: alpha_power_beams

alpha power from hot neutral beam ions (MW)

real(kind=dp), public :: non_alpha_charged_power

non-alpha charged particle fusion power (MW)

real(kind=dp), public :: charged_particle_power

Total charged particle fusion power [MW]

real(kind=dp), public :: charged_power_density

Non-alpha charged particle fusion power per volume [MW/m3]

real(kind=dp), public :: pcoef

profile factor (= n-weighted T / average T)

real(kind=dp), public :: pinnerzoneradmw

radiation power from inner zone (MW)

real(kind=dp), public :: pcoreradpv

total core radiation power per volume (MW/m3)

real(kind=dp), public :: dd_power

deuterium-deuterium fusion power (MW)

real(kind=dp), public :: dhe3_power

deuterium-helium3 fusion power (MW)

real(kind=dp), public :: pdivt

power to conducted to the divertor region (MW)

real(kind=dp), public :: pdivl

power conducted to the lower divertor region (calculated if i_single_null = 0) (MW)

real(kind=dp), public :: pdivu

power conducted to the upper divertor region (calculated if i_single_null = 0) (MW)

real(kind=dp), public :: pdivmax

power conducted to the divertor with most load (calculated if i_single_null = 0) (MW)

real(kind=dp), public :: dt_power_total

Total deuterium-tritium fusion power, from plasma and beams [MW]

real(kind=dp), public :: dt_power_plasma

Deuterium-tritium fusion power, just from plasma [MW]

real(kind=dp), public :: pouterzoneradmw

radiation power from outer zone (MW)

real(kind=dp), public :: pedgeradpv

edge radiation power per volume (MW/m3)

real(kind=dp), public :: phiint

internal plasma V-s

real(kind=dp), public :: photon_wall

Nominal mean radiation load on inside surface of reactor (MW/m2)

real(kind=dp), public :: piepv

ion/electron equilibration power per volume (MW/m3)

real(kind=dp), public :: plasma_current

plasma current (A)

real(kind=dp), public :: neutron_power_plasma

Neutron fusion power from just the plasma [MW]

real(kind=dp), public :: neutron_power_total

Total neutron fusion power from plasma and beams [MW]

real(kind=dp), public :: neutron_power_density_total

neutron fusion power per volume from beams and plasma (MW/m3)

real(kind=dp), public :: neutron_power_density_plasma

neutron fusion power per volume just from plasma (MW/m3)

real(kind=dp), public :: pohmmw

ohmic heating power (MW)

real(kind=dp), public :: pohmpv

ohmic heating power per volume (MW/m3)

real(kind=dp), public :: powerht

heating power (= transport loss power) (MW) used in confinement time calculation

real(kind=dp), public :: fusion_power

fusion power (MW)

real(kind=dp), public :: pperim

plasma poloidal perimeter (m)

real(kind=dp), public :: pradmw

total radiation power from inside LCFS (MW)

real(kind=dp), public :: pradpv

total radiation power per volume (MW/m3)

real(kind=dp), public :: pradsolmw

radiation power from SoL (MW)

real(kind=dp), public :: proton_rate_density

Proton production rate [particles/m3/sec]

real(kind=dp), public :: psolradmw

SOL radiation power (MW) (stellarator only)

real(kind=dp), public :: psyncpv

synchrotron radiation power per volume (MW/m3)

integer, public :: ilhthresh

switch for L-H mode power threshold scaling to use (see pthrmw for list)

real(kind=dp), public :: plhthresh

L-H mode power threshold (MW) (chosen via ilhthresh, and enforced if constraint equation 15 is on)

real(kind=dp), public, dimension(21):: pthrmw

L-H power threshold for various scalings (MW)

  • =1 ITER 1996 scaling: nominal
  • =2 ITER 1996 scaling: upper bound
  • =3 ITER 1996 scaling: lower bound
  • =4 ITER 1997 scaling: excluding elongation
  • =5 ITER 1997 scaling: including elongation
  • =6 Martin 2008 scaling: nominal
  • =7 Martin 2008 scaling: 95% upper bound
  • =8 Martin 2008 scaling: 95% lower bound
  • =9 Snipes 2000 scaling: nominal
  • =10 Snipes 2000 scaling: upper bound
  • =11 Snipes 2000 scaling: lower bound
  • =12 Snipes 2000 scaling (closed divertor): nominal
  • =13 Snipes 2000 scaling (closed divertor): upper bound
  • =14 Snipes 2000 scaling (closed divertor): lower bound
  • =15 Hubbard et al. 2012 L-I threshold scaling: nominal
  • =16 Hubbard et al. 2012 L-I threshold scaling: lower bound
  • =17 Hubbard et al. 2012 L-I threshold scaling: upper bound
  • =18 Hubbard et al. 2017 L-I threshold scaling
  • =19 Martin 2008 aspect ratio corrected scaling: nominal
  • =20 Martin 2008 aspect ratio corrected scaling: 95% upper bound
  • =21 Martin 2008 aspect ratio corrected scaling: 95% lower bound
real(kind=dp), public :: ptremw

electron transport power (MW)

real(kind=dp), public :: ptrepv

electron transport power per volume (MW/m3)

real(kind=dp), public :: ptrimw

ion transport power (MW)

real(kind=dp), public :: pscalingmw

Total transport power from scaling law (MW)

real(kind=dp), public :: ptripv

ion transport power per volume (MW/m3)

real(kind=dp), public :: q

Safety factor 'near' plasma edge (iteration variable 18) equal to q95 (unless i_plasma_current=2 (ST current scaling), in which case q = mean edge safety factor qbar)

real(kind=dp), public :: q0

safety factor on axis

real(kind=dp), public :: q95

safety factor at 95% surface

real(kind=dp), public :: qfuel

plasma fuelling rate (nucleus-pairs/s)

real(kind=dp), public :: tauratio

tauratio /1.0/ : ratio of He and pellet particle confinement times

real(kind=dp), public :: qlim

lower limit for edge safety factor

real(kind=dp), public :: qstar

cylindrical safety factor

real(kind=dp), public :: rad_fraction_sol

SoL radiation fraction

real(kind=dp), public :: rad_fraction_total

Radiation fraction total = SoL + LCFS radiation / total power deposited in plasma

real(kind=dp), public :: ralpne

thermal alpha density/electron density (iteration variable 109)

real(kind=dp), public :: protium

Seeded protium density / electron density.

real(kind=dp), public :: rli

plasma normalised internal inductance (calculated from alphaj if iprofile=1)

real(kind=dp), public :: rlp

plasma inductance (H)

real(kind=dp), public :: rmajor

plasma major radius (m) (iteration variable 3)

real(kind=dp), public :: rminor

plasma minor radius (m)

real(kind=dp), public :: rnbeam

hot beam density / n_e (iteration variable 7)

real(kind=dp), public :: rncne

n_carbon / n_e

real(kind=dp), public :: rndfuel

fuel burnup rate (reactions/second)

real(kind=dp), public :: rnfene

n_highZ / n_e

real(kind=dp), public :: rnone

n_oxygen / n_e

real(kind=dp), public :: rpfac

neo-classical correction factor to rplas

real(kind=dp), public :: rplas

plasma resistance (ohm)

real(kind=dp), public :: res_time

plasma current resistive diffusion time (s)

real(kind=dp), public :: sarea

plasma surface area

real(kind=dp), public :: sareao

outboard plasma surface area

real(kind=dp), public :: sf

shape factor = plasma poloidal perimeter / (2.pi.rminor)

integer, public :: i_single_null

switch for single null / double null plasma:

  • =0 for double null
  • =1 for single null (diverted side down)
real(kind=dp), public :: ssync

synchrotron wall reflectivity factor

real(kind=dp), public :: tauee

electron energy confinement time (sec)

real(kind=dp), public :: tauee_in

Input electron energy confinement time (sec) (isc=48 only)

real(kind=dp), public :: taueff

global thermal energy confinement time (sec)

real(kind=dp), public :: tauei

ion energy confinement time (sec)

real(kind=dp), public :: taup

alpha particle confinement time (sec)

real(kind=dp), public :: te

volume averaged electron temperature (keV) (iteration variable 4)

real(kind=dp), public :: te0

central electron temperature (keV)

real(kind=dp), public :: ten

density weighted average electron temperature (keV)

real(kind=dp), public :: ti

volume averaged ion temperature (keV). N.B. calculated from te if tratio > 0.0

real(kind=dp), public :: ti0

central ion temperature (keV)

real(kind=dp), public :: tin

density weighted average ion temperature (keV)

real(kind=dp), public :: tratio

ion temperature / electron temperature(used to calculate ti if tratio > 0.0

real(kind=dp), public :: triang

plasma separatrix triangularity (calculated if ishape = 1, 3-5 or 7)

real(kind=dp), public :: triang95

plasma triangularity at 95% surface (calculated if ishape = 0-2, 6, 8 or 9)

real(kind=dp), public :: plasma_volume

plasma volume (m3)

real(kind=dp), public :: vsbrn

V-s needed during flat-top (heat + burn times) (Wb)

real(kind=dp), public :: vshift

plasma/device midplane vertical shift - single null

real(kind=dp), public :: vsind

internal and external plasma inductance V-s (Wb)

real(kind=dp), public :: vsres

resistive losses in startup V-s (Wb)

real(kind=dp), public :: vsstt

total V-s needed (Wb)

real(kind=dp), public :: wallmw

average neutron wall load (MW/m2)

real(kind=dp), public :: wtgpd

mass of fuel used per day (g)

real(kind=dp), public :: xarea

plasma cross-sectional area (m2)

real(kind=dp), public :: zeff

plasma effective charge

real(kind=dp), public :: zeffai

mass weighted plasma effective charge


Subroutines

public subroutine init_physics_variables()

Initialise module variables

Arguments

None