Stellarator Model
The code has the ability to perform calculations based on the physics and engineering of a stellarator, which, although being a toroidal device, is radically different in a number of ways from a tokamak.
The model is largely based on W7-X and the HELIAS 5-B stellarator power plant design1 (Figure 1) and related modelling that has been performed by IPP Greifswald2 3 4 5
Figure 1: Fusion power core of the HELIAS 5-B conceptual power plant design1
To activate the stellarator coding, it is necessary to create a file deivce.dat
, containing the single character 1 in the first row, in the working directory. This has the effect of setting the internally-used switch istell = 1
. If the file is absent, or its first character is set to something other than 1, the stellarator model is not used, and istell
is set to 0.
Stellarators in PROCESS
PROCESS can model any module stellarator reactor when provided with a dedicated input file.
The procedure use is based on the prescription described in 6, using a set of pre-calculated parameters which needs to be provided by a file with the name stella_conf.json
which can be calculated by the pre-sPROCESS
code 6.
This functionionality is enabled by istell=6
, and PROCESS will then expect the configuration file stella_conf.json
in the same directory as the input file.
Using istell=6
is the advised way to use the stellarator version of PROCESS as no hardcoded stellarator-parameters are being used in this case.
Nevertheless, there are four types of stellarators which can be used without providding the configuration file, a HELIAS type stellarator with 3, 4 or 5 field periods as described in the collected paper 13, and a W7-X like stellarator.
Figure 2: Different HELIAS stellarator types, implemented as istell=1,2,3
1
The user can switch between these models by using the switch variable istell
:
istell=1
: Helias-5istell=2
: Helias-4istell=3
: Helias-3istell=4
: W7-Xistell=5
: A W7-X variation with 30 coilsistell-6
: Use thestella_conf.json
file.
The stellarator version of PROCESS assumes the coil-set itself to be fixed in shape and can only scale the overall size of the machine in major radius rmajor
. There is no capability in PROCESS to seperately scale the minor coil radius -- in other words: the coil aspect ratio is fixed. Also the number of coils is considered fixed and is given by the configuration.
Input File Specifications
The following consistency equations should be used without modifications:
icc = 2 * Global Power balance
icc = 82 * Toroidal build at critical location (inequality)
icc = 83 * Radial build at critical location (inequality)
icc = 2 * Global Power balance (core)
* Inequalities
icc = 8 * Neutron Wall load limit
icc = 17 * Global Power balance overall (needed to limit radiation)
icc = 18 * Divertor power limt
icc = 24 * Plasma Beta limit
icc = 32 * Maximal Coil Stress on Ground insulation (approx.)
icc = 34 * Dumping voltage during Coil Quench
icc = 35 * Temperature rise during Coil Quench
icc = 65 * Stress on VV rise during Coil Quench
icc = 82 * Toroidal build at critical location
icc = 83 * Radial build at critical location
icc = 91 * ECRH ignitability (checks critical density at ignition point)
A reasonable start for iteration variables (next to the required f-values) are:
ixc = 2 * Toroidal Magnetic field strength
ixc = 3 * Major Radius of the machine
ixc = 4 * Electron Temperature
ixc = 6 * Electron Density
ixc = 10 * "ISS04 Renormalization Factor" (can also be fixed)
ixc = 50 * Coil current density, aka winding pack thickness (required!)
ixc = 59 * Winding Pack copper fraction
ixc = 56 * Exponential Quench Dumping Time
ixc = 109 * Thermal alpha particle pressure (iterated to consistency, use together with `taulimit`)
ixc = 169 * Achievable Temperature of the ECRH at the ignition point
Code specifics
The stellarator model is largely contained within source file stellarator.f90
.
The model call is in the following order
- Stellarator New Configuration setup (
stnewconfig
) - Stellarator Geometry (
stgeom
) - Stellarator Physics Loop Routine (containing steps requiring to evalute the physics model at different operation points) (
stopt
) - Stellarator Physics (
stphys
) - Stellarator radial and toroidal build (
stbild
) - Stellarator Structure Mass (
ststrc
) - Stellarator first wall, blanket and shield module (
stfwbs
) -
Stellarator Divertor (
stdiv
) -
TF coil power consumption
- Heat Transport Model (First part)
- Power Plant Buildings
- Vacuum Model
- AC power requirements model
- Heat Transport Model (Second part)
- Availablity
- Costs
Calls 1-8 are stellarator specfic, although use certain overlap with the tokamak modules as will be addressed more in detail below.
Calls 9-16 use the tokamak models and assume applicability also to stellarators.
In these calls, there are if (istell == 0) then
calls in these models implemented if certain steps are not applicable.
Stellarator physics
Much of the physics is identical to that for tokamaks, including the plasma composition and the fusion power calculations. However, some physics topis do differ between stellarators and tokamaks, as follows.
Plasma geometry
The plasma geometry model uses precalculated effective values from Fourier coefficients to represent the complex 3-D plasma shape typical of stellarators. A VMEC5 calculation (or other equilibrium code that can provide the Fourier coefficients of the LCFS) can be used to obtain the respective effective parameters. The overall size of the plasma is scaled correctly for the required (mean) major and minor radii for the machine being modelled6.
Absence of plasma current
Stellarators try to achieve zero plasma current in order to allow safe divertor operation, so no current scalings are required.
Beta limit
The stellarator version calculates the plasma beta based on the input parameter and it is thus not necessary to Differently to the tokamak version,
The beta limit is assumed to be 5%, based on 3-D MHD calculations7. To apply the beta limit, constraint equation no. 24 should be turned on with iteration variable no. 36 (fbetatry
).
Density limit
The density limit relevant to certain stellarators experiments has been proposed to be8
n_{max} = 0.25(PB_0/R_0a^2_p)^{1/2}
where n is the line-averaged electron density in units of 10^{20} m^{-3}, p is the absorbed heating power (MW), B_0 is the on-axis field (t), R_0 is the major radius (m), and a_p is the plasma minor radius (m). To enforce the Sudo density limit, turn on constraint equation no. 5 with iteration variable no. 9 (fdene
).
Note that the Sudo limit is a radiation based density limit and it is unclear how well this limit extrapolates to reactor parameters, especially as no impurity dependence e.g. is present in the Sudo model.
PROCESS features an impurity dependent radiation module already which can be used with icc=17
and by setting the fimp
vector.
For certain regimes, this model is able to reassemble a Sudo-like scaling behaviour in the maximal achievable density, see also the density limit chapter in 15.
In addition to the sudo limit the density in a stellarator is bound by the ECRH heating which requires density values below the critical density.
The constraint equation icc=91
together with ixc = 169
enforces that the found design point can in principle be achieved with ECRH O1 heating (it checks if the most performant O1 ECRH heatable design point is ignited).
\tau_E scaling laws
Five confinement time scaling laws relevant to stellarators are present within PROCESS
. The value of switch isc` determines which of these in the plasma energy balance calculation.
\tau_E (Large Helical Device8: isc=21
) = 0.17 \, R^{0.75}_0 \, a^2_p \, \bar{n}^{0.69}_{20} \, B^{0.84}_0 \, P^{-0.58}
\tau_E (Gyro-reduced Bohm9: isc=22
) = 0.25 \, R^{0.6}_0 \, a^{2.4}_p \, \bar{n}^{0.6}_{20} \, B^{0.8}_0 \, P^{-0.6}
\tau_E (Lackner-Gottardi10: isc=23
) = 0.17 \, R_0 \, a^2_p \, \bar{n}^{0.6}_{20} \, B^{0.8}_0 \, P^{-0.6} \, \iota^{0.4}
\tau_E (ISS9511: isc=37
) = 0.079 \, R^{0.65}_0 \, a^{2.21}_p \, \bar{n}^{0.51}_{20} \, B^{0.83}_0 \, P^{-0.59} \, \bar{\iota}^{0.4}
\tau_E (ISS0412: isc=38
) = 0.134 \, R^{0.64}_0 \, a^{2.28}_p \, \bar{n}^{0.54}_{20} \, B^{0.84}_0 \, P^{-0.61} \, \bar{\iota}^{0.41}
Here \bar{\iota} is the rotational transform, which is equivalent to the reciprocal of the tokamak safety factor q.
Gradient informed neoclassical transport checks
As no 1D solver options are available for stellarators yet, PROCESS prints several neoclassics parameters as obtained from the 1/\nu regime.
The two most important parameters are q_PROCESS
and total_q_neo_e
.
q_PROCESS
is the heat flux that PROCESS obtaines from the 0D confinement time scalings.
total_q_neo_e
is the estimated total neoclassical flux as obtained from the 1/\nu electron transport regime, multiplied by a factor of 4 (2 for the ion contribution and another factor of 2 for the radial electrical field influence).
The user should check if q_PROCESS>total_q_neo_e
. If not, the design point is likely not feasible.
PROCESS inherits a full neoclassics module with is in principle capable of calculating the radial electrical field and the actual neoclassical fluxes based on mono-energetic transport coefficients with can be passed via the stella_conf.json
file, the functionality is already implemented (but not yet accessible for the user yet as no viable pre-processing routines are implemented yet).
Heating power options
Stellarators require no curren drive, although provision for auxiliary heating does need to be present. The method by which auxiliary heating power is supplied is determined by the switch isthtr
:
isthtr = 1
: electron cyclotron resonance heating
isthtr = 2
: lower hybrid heating
isthtr = 3
: neutral beam injection
The value of variable pheat
determines the actual amount of auxiliary heating power (in Watts) to be applied to the plasma. This variable may be used as an iteration variable (no. 11). Switch ignite
may be used if necessary.
Divertor
Although the divertor has the same function in both stellarators and tokamaks, the envisaged concepts differ quite substantially. This is not only related to the different geometry and symmetries but also specifically to the magnet configuration. While the inherent axisymmetry of a tokamak allows for poloidally-continuous single of double divertor configurations, the periodicity of helical advanced stellarators leads to multiple X-points with a corresponding chain of magnetic islands. This island structure may be exploited by carefully placing divertor plates along the stochastic field lines, naturally leading to a discontinuous divertor, with the individual plates being placed in a complex 3-D geometry; see Figure 2.
Figure 3: A five-period HELIAS plasma (specifically W7-X) with island divertor plates shown in red
Rather than trying to describe the complex physics with a two-point scrape-off layer model as is used for tokamaks, the stellarator divertor model3 is based on fundamental principles which relate the power crossing the separatrix with an effective wetted area on the divertor plates allowing the code to estimate the heat load delivered to the divertor. A basic island divertor model is used which assumes diffusive cross-field transport and high radiation at the X-point.
The radiated power fraction in the scrape-off layer is given by the input parameter f_rad
. This is in contrast to the method used for tokamaks, in which the radiated power fraction is a calculated quantity.
A number of other input parameters may be used to modify the divertor model; see the variable descriptor file for more details.
Stellarator Technological entities
Stellarator coils
There are a large number of possible stellarator configurations. As stated earlier, PROCESS has the capabilities to model very generic modular stellarator coil sets, based on coil filaments and the plasma shape for geometrical distances.
The relevant parameters for PROCESS' scaling laws enter the systems code model via a configuration dependent file called stella_conf.json
which needs to be located in the same directory as the input file.
This file needs to be prepared by hand or can be written automatically by the pre-sPROCESS ing code.
Alternatively istell = 1,2,3,4,5
allow for pre-selected stellarator machines.
Figure 3: Differences of the stellarator coil cross section in PROCESS compared to the tokamak description. Note the identical thkcas
around the cable area.
The stellarator coil model6 uses scaling aspects based on a reference calculation of the stellarator configuration, using numerical calculations at a reference point. Examples for these calculations are inductances, peak field calculations or stellarator forces.
The fully three-dimensional shape of the coils is assumed to be fixed, but the sizes of the coils are scaled from the HELIAS 5-B values to the geometrical values for the machine being modelled using fundamental physics and engineering principles.
The stellarator coils are assumed to be superconducting - no resistive coil calculations are performed. The critical field at the superconductor is calculated using circular approximations for the coils in the inductance and field calculations, and the limit is enforced automatically. All superconductor materials that are available for tokamaks are also available for stellarators.
The winding pack cross-section is rectangular for the stellarator coils, rather than the two-step cross-section assumed for tokamaks. The coil thicknesses and most of the dimensions of the materials within the coil cross-section are outputs from the model, instead of being inputs as is the case for tokamaks; see the variable descriptor file for details. In addition, certain iteration variables (tfcth
, no. 13; thkcas
, no. 57; cpttf
, no. 60 and tftort
, no. 77) should not be turned on in the input file as they are calculated self-consistently (thkcas
is required as input); the code will stop with an error message of this is attempted.
The conduit insulation thickness (thicndut
), as well as the steel thickness around each conductor (thwcndut
) should be given as input parameters together with the dimension of the conductor area (t_turn_tf
).
stellarator-PROCESS returns a set of parameters for the coil force densities, which are scaled from the reference calculation.
The user should check if the value max_force_density
, which gives the toroidally and radially averaged maximum value of the volumetric force density in MN/m^3 and needs to be held from the winding pack structural material is within reasonable regions and eventually adapt the winding pack composition.
max_force_density_Mnm
is the integrated force density in MN/m and should be bound by icc = 32
.
A reasonable set of input parameters for the stellarator coil module is the following set:
i_tf_sc_mat = 8 * Switch for superconductor material in tf coils;
sig_tf_wp_max = 4.e8 * Maximal allowable Stress level on Ground insulation for a simple stellarator coil stress module (Pa)
fcutfsu = 0.7 *Copper fraction of cable conductor (TF coils), Schauer: 900 SCU strands, 522 Copper strands. Value for 0.4 Helium
tftmp = 4.75 *Peak helium coolant temperature in TF coils and PF coils (K)
tmpcry = 4.75 * Temperature in TF coils, required for plant efficiency (K)
vftf = 0.3 *Coolant fraction of TF coil leg (itfsup=0) this is the same for conductor and strand!
fiooic = 0.78 *Fraction TF coil critical current to operation current (should be iteration variable!)
vdalw = 12.64 * Max voltage across tf coil during quench (kV)
tdmptf = 20 * Dump time (should be iteration variable)
thkcas = 0.1 * Thickness TF Coil case (for stellarators: Also for toroidal direction)
t_turn_tf = 0.048 * Dimension conductor area including steel and insulation. Important parameter.
thicndut = 0.0015 * Conduit insulation thickness (one side) (m)
thwcndut = 0.006 * thickness of steel around each conductor (one side) (m)
tinstf = 0.1 * insulation on top of winding pack (one side) (m)
Machine build
Since a stellarator is inherently non-axisymmetric, the build of the PROCESS
stellarator is defined at the most critical position in radial and toroidal direction.
The radial and toroidal build consistency is enforced by the constraint equations 82
and 83
.
The surface areas of for the first wall, blanket and shield components are scaled linearly with their effective minor radius from the plasma surface area calculation(the area of a simple torus of circular cross-section is 4\pi^2Ra, hence the linear scaling with a). The input parameters fhole
may be used to specify the hole fraction, to adjust the surface area to take into account of ports and divertors, for instance. The volume of the first wall etc. are simply given by the product of their surface area and their mean thickness.
In contrast to tokamaks, which in PROCESS
are assumed to have a cylindrical external cryostat completely surrounding the fusion power core, the stellarator model assumes that the external cryostat (labelled as the outer vessel in Figure 1) is toroidal with a circular cross-section. Its cross-section is assumed to be centred at the mean plasma major radius.
All items external to the fusion power core (buildings, turbines, power conversion systems, etc.) remain unchanged.
Stellarator Blanket
There are two blanket modules implemented in stellarator-PROCESS at the moment,
- blktmodel = 1
: Calls the KIT HCPB model
- blktmodel = 0
AND ipowerflow=1
: Calls a "simple" model (ipowerflow=0
is even simpler and not advised)
The KIT HCPB model is documented elsewhere, for the simple module the following set of input parameters should be provided:
blkttype = 0,1,2 (only relevant for mass calculations)
emult = 1.18 *Energy multiplication in blanket and shield
etahtp = 1. *Electrical efficiency of primary coolant pumps
fblbe = 0.47 *Beryllium fraction of blanket by volume (only relevant for mass calculations)
fblli2o = 0.07 *Lithium oxide fraction of blanket by volume (only relevant for mass calculations)
fbllipb = 0. *Lithium lead fraction of blanket by volume (only relevant for mass calculations)
fblss = 0.13 *Stainless steel fraction of blanket by volume (only relevant for mass calculations)
fblvd = 0. *Vanadium fraction of blanket by volume (only relevant for mass calculations)
fhole = 0. *Area fraction taken up by other holes (in addition to fdiv and fhcd when ipowerflow=1)
fwclfr = 0.1 *First wall coolant fraction (only relevant for mass calculations)
primary_pumping = 1 *Switch for pumping power (0: User sets pump power directly)
htpmw_blkt = 120. *Blanket coolant mechanical pumping power (MW)
htpmw_fw = 56. *First wall coolant mechanical pumping power (MW)
htpmw_div = 24. *Divertor coolant mechanical pumping power (MW)
secondary_cycle = 2 *Switch for power conversion cycle (2: user input thermal-electric efficiency)
vfblkt = 0.1 *Coolant void fraction in blanket (blktmodel=0) (only relevant for mass calculations)
vfshld = 0.6 *Coolant void fraction in shield
declblkt = 0.075 *Neutron decay length in blanket area (m)
declfw = 0.075 *Neutron decay length in first wall (m)
declshld = 0.075 *Neutron decay length in shield area (m)
blnkith = 0.6 *Inboard blanket thickness (m)
blnkoth = 0.6 *Outboard blanket thickness (m)
ddwex = 0.15 *Cryostat thickness (m)
d_vv_in = 0.01 *Vacuum vessel thickness (TF coil / shield) (m)
gapds = 0.025 *Gap between inboard vacuum vessel and tf coil (m)
gapomin = 0.025 *Minimum gap between outboard vacuum vessel and TF coil (m)
scrapli = 0.15 *Gap between plasma and first wall; inboard side (m)
scraplo = 0.2 *Gap between plasma and first wall; outboard side (m)
shldith = 0.2 *Inboard shield thickness (m)
shldoth = 0.2 *Outboard shield thickness (m)
shldtth = 0.2 *Upper/lower shield thickness (m)
vgap = 0. *Vertical gap between x-point and divertor (m)
The simple stellarator blanket module is largely reduced to calculating masses given on blanket and shield sizes as defined in the input file.
It also calculates neutron heat depositions based on the neutron decay length (this enters the cost function via shield pumping powers e.g.).
Most of the blanket constraints implemented in tokamak PROCESS, namely icc=52,53,54,55
are not available with blktmodel = 0
and the KIT HCPB model, blktmodel = 1
should be used instead.
Note, that PROCESS also features other blanket models (HCLL, WCLL) and thermohydraulic blanket models but they are not yet available for stellarators.
-
F. Schauer, K. Egorov and V. Bykov, "HELIAS 5-B magnet system structure and maintenance concept", Fusion Engineering and Design 88 (2013) 1619-1622 ↩↩↩
-
F. Warmer, "Stellarator Plasma Geometry model for the systems code PROCESS", IPP Greifswald, Germany, internal note, 19/06/2013 ↩
-
F. Warmer, "Stellarator Divertor model for the systems code PROCESS", IPP Greifswald, Germany, internal note, 21/06/2013 ↩↩
-
F. Warmer and F. Schauer, "Stellarator Coil model for the systems code PROCESS", IPP Greifswald, Germany, internal note, 07/10/2013 ↩
-
VMEC MHD force balance code for toroidal domains, http://vmecwiki.pppl.wikispaces.net/VMEC ↩↩
-
J. Lion et al, "A general Stellarator version of the systems code PROCESS", Nuclear Fusion, 61 (2021) 126021, doi.org/10.1088/1741-4326/ac2dbf. ↩↩↩↩
-
J. Nuhrenberg et al., PLasma Physics and Controlled Fusion, 35 (1993) B115 ↩
-
S. Sudo, Y. Takeiri, H. Zushi et al., Nuclear Fusion, 30 (1990) 11 ↩↩
-
R. J. Goldston, H. Biglari, G. W. Hammett et al., Bull. Am. Phys. Society, 34 (1989) 1964 ↩
-
K. Lackner and N. A. O. Gottardi, Nuclear Fusion, 30 (1990) 767 ↩
-
U. Stroth et al., Nuclear Fusion, 36 (1996) 1063 ↩
-
H. Yamada et al., Nuclear Fusion, 45 (2005) 1684 ↩
-
T. Andreeva et al., The Helias Reactor Concept: Comparative Analysis of Different Field Period Configurations, Fusion Science and Technology, 46 (2004) doi.org/10.13182/FST04-A579 ↩
-
C. Zhu et al. New method to design stellarator coils without the winding surface, Nucl. Fus. 58 (2018) 016008 doi.org/10.1088/1741-4326/aa8e0a ↩
-
J. Lion Systems Codes Models for stellarator fusion power plants and application to stellarator optimization, PhD Thesis (TU Berlin) (2022) to appear ↩