Plasma composition and impurities.
Within PROCESS
we always assume the plasma is quasi-neutral eg:
- Since only deuterium and tritium can be placed into the beams the charge coefficient on the n_{\text{e}}f_{\text{beam}} is just 1.
Setting the impurity composition
The impurity number density fractions relative to the electron density are constant and are set
using input array fimp(1,...,14)
. The available species along with their fimp()
index and iteration variable number are as follows:
fimp(1)
: Hydrogen isotopes (fraction calculated by code)fimp(2)
: Helium (fraction calculated by code)fimp(3)
: Beryllium, (ixc = 125
)fimp(4)
: Carbon, (ixc = 126
)fimp(5)
: Nitrogen, (ixc = 127
)fimp(6)
: Oxygen, (ixc = 128
)fimp(7)
: Neon, (ixc = 129
)fimp(8)
: Silicon, (ixc = 130
)fimp(9)
: Argon, (ixc = 131
)fimp(10)
: Iron, (ixc = 132
)fimp(11)
: Nickel, (ixc = 133
)fimp(12)
: Krypton, (ixc = 134
)fimp(13)
: Xenon, (ixc = 135
)fimp(14)
: Tungsten, (ixc = 136
)
As stated above, the number density fractions for hydrogen (all isotopes) and
helium should not be set, as they are calculated by the code. This is to ensure
plasma quasi-neutrality taking into account the fuel ratios
f_deuterium
, f_tritium
and f_helium3
, and the alpha particle fraction f_nd_alpha_electron
which may
be input by the user or selected as an iteration variable.
The impurity fraction of any one of the elements listed in array fimp
(other than hydrogen
isotopes and helium) may be used as an iteration variable.
The impurity fraction to be varied can be set simply with fimp(i) = <value>
, where i
is the corresponding number value for the desired impurity in the table above.
Plasma Composition Calculation | plasma_composition()
This function sets the fractional makeups and determines the relative density and charges of different plasma species.
All of the plasma composites are normally given as a fraction of the volume averaged plasma electron density.
-
Alpha Ash Portion Calculation
- Calculate the number density of alpha particles (
nd_alphas
) using the electron density (dene
) and the alpha particle to electron ratio (f_nd_alpha_electron
).f_nd_alpha_electron
can be set as an iteration variable (ixc = 109
) or set directly.
n_{\alpha} = \mathtt{f\_nd\_alpha\_electron}\times n_{\text{e}} - Calculate the number density of alpha particles (
-
Protons Calculation
-
The calculation of proton density (
nd_protons
) depends on whether the alpha rate density has been calculated. This should only happen in the first function call as the rates are calculated later on in the code. -
If the alpha rate density is not yet calculated, use a rough estimate.
\texttt{nd_protons} | n_{\text{p}} = \\ \text{max}\left[\texttt{f_nd_protium_electrons} \times n_{\text{e}}, n_{\alpha}\times \left(f_{\text{3He}} + 0.001\right)\right]- Otherwise, use the calculated proton rate density.
\texttt{nd_protons} | n_{\text{p}} = \\ \text{max}\left[\texttt{f_nd_protium_electrons} \times n_{\text{e}}, n_{\alpha}\times \frac{r_{\text{p}}}{r_{\alpha,\text{total}}}\right]where r_{\text{p}} is the rate of proton production and r_{\alpha,\text{total}} is the rate of total alpha particle production, which includes beam fusion (if present).
-
-
Beam Hot Ion Component
- Calculate the number density of beam ions (
nd_beam_ions
), using the electron density (dene
) and the beam ion to electron ratio (f_nd_beam_electron
). If the plasma is ignited, set it to zero.f_nd_beam_electron
can be set as an iteration variable (ixc = 7
) or set directly.
\mathtt{nd\_beam\_ions} | n_{\text{beam}} = \mathtt{f\_nd\_beam\_electron} \times n_{\text{e}} - Calculate the number density of beam ions (
-
Sum of charge number density for all impurity ions
- Sum the product of charge number (
Zi
) and number density for all impurity ions with charge greater than helium.
\mathtt{znimp} = \sum_j Z_j n_{\text{e}} f_j - Sum the product of charge number (
-
Fuel Portion - Conserve Charge Neutrality
- Calculate the fuel portion (
znfuel
) by conserving charge neutrality.
\mathtt{znfuel} | \underbrace{Z_{\text{fuel}}n_{\text{i}}}_{\text{Fuel Ions}} = n_{\text{e}} - \underbrace{2n_{\text{e}}f_{\alpha}}_{\text{Alpha particles}} - \underbrace{n_{\text{e}}f_{\text{beam}}}_{\text{Neutral beams}} - \underbrace{\sum_j Z_j n_{\text{e}} f_j}_{\text{Impurities}} - Calculate the fuel portion (
-
Fuel Ion Density Calculation
\mathtt{nd\_fuel\_ions} | n_{\text{i}} = \frac{\mathtt{znfuel}}{1+f_{\text{3He}}}- Calculate the fuel ion density (
nd_fuel_ions
).
- Calculate the fuel ion density (
-
Set Hydrogen and Helium Impurity Fractions
- Set the impurity fractions for hydrogen and helium species.
\frac{n_{\text{H}}}{n_{\text{e}}} = n_{\text{protons}} + \left(f_{\text{deuterium}}+f_{\text{tritium}}\right)n_{\text{i}}+ n_{\text{beam}}\frac{n_{\text{He}}}{n_{\text{e}}} = f_{\text{3He}}n_{\text{i}}+\mathtt{f\_nd\_alpha\_electron} -
Total Impurity Density Calculation
- Calculate the total impurity density (
nd_impurities
).
\mathtt{nd\_impurities} | n_{\text{impurities}} = \sum_j n_{\text{e}} f_j - Calculate the total impurity density (
-
Total Ion Density Calculation
- Calculate the total ion density (
nd_ions_total
).
\mathtt{nd\_ions\_total} | n_{\text{i,total}} = n_{\text{i}} + n_{\alpha}+n_{\text{protons}}+ n_{\text{beam}}+n_{\text{impurities}} - Calculate the total ion density (
-
Set Impurity Fraction Variables
- Set global impurity fraction variables for other routines.
\mathtt{rncne} = \frac{n_{\text{C}}}{n_{\text{e}}}, \quad \mathtt{rnone} = \frac{n_{\text{O}}}{n_{\text{e}}} \quad \mathtt{rnfene} = \frac{n_{\text{Fe}}+ n_{\text{Ar}}}{n_{\text{e}}}The variable above are set as global physics variables to be used in the
sigbeam()
routine, which calculates the beam stopping cross-section. -
Effective Charge Calculation
- Calculate the effective charge (
zeff
), which is given by:
Z_{\text{eff}} = \frac{\sum_j Z^2_j n_{\text{i}}}{\sum_j Z_j n_{\text{i}}}As we assume the plasma is quai-neutral then:
\sum_j Z_j n_{\text{i}} = n_{\text{e}}Thus we can write:
\mathtt{zeff} | Z_{\text{eff}} = \frac{\sum_j Z^2_j n_{\text{e}} f_j}{n_{\text{e}}}More info can be found here.
- Calculate the effective charge (
-
Fraction of Alpha Energy to Ions and Electrons
- Calculate the fraction of alpha energy going to electrons and ions.
\mathtt{f\_alpha\_electron} = 0.88155\exp{\left[-\langle T_{\text{e}} \rangle \frac{(1+\alpha_n)(1+\alpha_T)}{67.4036(1+\alpha_T+\alpha_n)}\right]}\mathtt{f\_alpha\_ion} = (1.0 - \mathtt{f\_alpha\_electron}) -
Average Atomic Masses of Injected Fuel Species
- Calculate the average atomic masses of injected fuel species.
\mathtt{m\_fuel\_amu} | m_{\text{fuel,amu}} = \left(m_{\text{D}}f_{\text{D}}\right) + \left(m_{\text{T}}f_{\text{T}}\right) + \left(m_{\text{3He}}f_{\text{3He}}\right) -
Average Atomic Masses of Injected Fuel Species in Neutral Beams
- Calculate the average atomic masses of injected fuel species in the neutral beams.
\mathtt{m\_beam\_amu} | m_{\text{beam,amu}} = \left(m_{\text{D}}(1-f_{\text{T,beam}}\right)) + \left(m_{\text{T}}f_{\text{T,beam}}\right) -
Density Weighted Mass Calculation
- Calculate the density-weighted mass of ions.
\mathtt{m\_ions\_total\_amu} = \\ \left[\frac{\left(m_{\text{fuel}}n_{\text{i}}\right) + \left(m_{\alpha}n_{\alpha}\right) + \left(m_{\text{p}}n_{p}\right) + \left(m_{\text{beam}}n_{\text{beam}}\right) + \sum_j m_{j} n_{\text{e}} f_j}{n_{\text{i,total}}}\right] -
Mass Weighted Plasma Effective Charge
- Calculate the mass-weighted plasma effective charge (
zeffai
). Similar to the calculation of the effective charge except each element is divided by its mass
\mathtt{zeffai} | Z_{\text{eff,m}} = \frac{\sum_j \frac{Z^2_j n_{\text{e}} f_j}{m_{\text{j}}}}{n_{\text{e}}} - Calculate the mass-weighted plasma effective charge (
Key Constraints
Reinke criterion, divertor impurity fraction lower limit
This constraint can be activated by stating icc = 78
in the input file.
The minimum impurity fraction required from the Reinke module can be set with, fzmin
The scaling value freinke
can be varied also.
-
H. Lux, R. Kemp, D.J. Ward, M. Sertoli, Impurity radiation in DEMO systems modelling, Fusion Engineering and Design, Volume 101, 2015, Pages 42-51, ISSN 0920-3796, https://doi.org/10.1016/j.fusengdes.2015.10.002. ↩