bluemira.plasma_physics.rules_of_thumb

A collection of simple 0-D rules of thumb for tokamak plasmas.

Functions

estimate_loop_voltage(→ float)

A 0-D estimate of the loop voltage during burn

estimate_Le(→ float)

Estimate the normalised external plasma self-inductance.

estimate_M(→ float)

Estimate the plasma mutual inductance.

calc_cyl_safety_factor(→ float)

Calculate the cylindrical safety factor.

calc_qstar_freidberg(→ float)

Calculate the kink safety factor at the plasma edge

calc_qstar_uckan(→ float)

Calculate the cylindrical equivalent safety factor at the plasma edge

estimate_q95_uckan(→ float)

Estimate safety factor at the 95th percentile flux surface based on an empirical fit.

estimate_li_wesson(→ float)

Estimate the normalised plasma internal inductance based on an empirical fit.

estimate_vertical_field(→ float)

Estimate the vertical field to keep the plasma in equilibrium.

Module Contents

bluemira.plasma_physics.rules_of_thumb.estimate_loop_voltage(R_0: float, B_t: float, Z_eff: float, T_e: float, n_e: float, q_0: float) float

A 0-D estimate of the loop voltage during burn

Parameters:
  • R_0 (float) – Major radius [m]

  • B_t (float) – Toroidal field on axis [T]

  • Z_eff (float) – Effective charge [dimensionless]

  • T_e (float) – Electron temperature on axis [keV]

  • n_e (float) – Electron density [1/m^3]

  • q_0 (float) – Safety factor on axis

Returns:

Loop voltage during burn [V]

Return type:

float

Notes

  1. Zohm, W. Morris (2022)

    \(v_{loop}=2\pi R_{0}\dfrac{2\pi B_{t}}{\mu_{0}q_{0}\sigma_{0}R_{0}}\)

where \(\sigma_{0}\) is the Spitzer conductivity on axis:

\(\sigma_{0} = 1.92e4 (2-Z_{eff}^{-1/3}) \dfrac{T_{e}^{3/2}}{Z_{eff}ln\Lambda}\)

Assumes no non-inductive current on axis

Assumes a circular cross-section on axis

There is no neo-classical resistivity on axis because there are no trapped particles

bluemira.plasma_physics.rules_of_thumb.estimate_Le(A: float, kappa: float) float

Estimate the normalised external plasma self-inductance.

Parameters:
  • A (float) – Last closed flux surface aspect ratio

  • kappa (float) – Last closed flux surface elongation

Returns:

Normalised plasma external inductance

Return type:

float

Notes

Hirshman and Neilson, 1986

Assuming a LCFS parameterisation as per: flux_surface_hirshman()

bluemira.plasma_physics.rules_of_thumb.estimate_M(A: float, kappa: float) float

Estimate the plasma mutual inductance.

Parameters:
  • A (float) – Last closed flux surface aspect ratio

  • kappa (float) – Last closed flux surface elongation

Returns:

Plasma mutual inductance

Return type:

float

Notes

Hirshman and Neilson, 1986

Assuming a LCFS parameterisation as per flux_surface_hirshman()

bluemira.plasma_physics.rules_of_thumb.calc_cyl_safety_factor(R_0: float, A: float, B_0: float, I_p: float) float

Calculate the cylindrical safety factor.

\[\dfrac{2\pi}{\mu_{0}} \dfrac{R_{0}}{A}**2 \dfrac{B_{0}}{R_{0} I_{p}}\]
Parameters:
  • R_0 (float) – Plasma major radius [m]

  • A (float) – Plasma aspect ratio

  • B_0 (float) – Toroidal field at major radius [T]

  • I_p (float) – Plasma current [A]

Returns:

Cylindrical safety factor

Return type:

float

Notes

Sometimes also written with \(\dfrac{2\pi}{\mu_{0}} = 5\) and I_p in [MA]

bluemira.plasma_physics.rules_of_thumb.calc_qstar_freidberg(R_0: float, A: float, B_0: float, I_p: float, kappa: float) float

Calculate the kink safety factor at the plasma edge

\(q_{*}=\dfrac{2\pi a^2 B_0}{\mu_0 R_0 I_p}\) \(\bigg(\dfrac{1+\kappa^2}{2}\bigg)\)

Parameters:
  • R_0 (float) – Plasma major radius [m]

  • A (float) – Plasma aspect ratio

  • B_0 (float) – Toroidal field at major radius [T]

  • I_p (float) – Plasma current [A]

  • kappa (float) – Plasma elongation

Returns:

Kink safety factor

Return type:

float

Notes

Freidberg, Ideal MHD, p 131

bluemira.plasma_physics.rules_of_thumb.calc_qstar_uckan(R_0: float, A: float, B_0: float, I_p: float, kappa: float, delta: float) float

Calculate the cylindrical equivalent safety factor at the plasma edge

Parameters:
  • R_0 (float) – Plasma major radius [m]

  • A (float) – Plasma aspect ratio

  • B_0 (float) – Toroidal field at major radius [T]

  • I_p (float) – Plasma current [A]

  • kappa (float) – Plasma elongation

  • delta (float) – Plasma triangularity

Returns:

Cylindrical equivalent safety factor

Return type:

float

Notes

Uckan et al., ITER Physics Design Guidelines, 1989, sec. 2.3 https://inis.iaea.org/search/search.aspx?orig_q=RN:21068960

bluemira.plasma_physics.rules_of_thumb.estimate_q95_uckan(R_0: float, A: float, B_0: float, I_p: float, kappa: float, delta: float) float

Estimate safety factor at the 95th percentile flux surface based on an empirical fit.

Parameters:
  • R_0 (float) – Plasma major radius [m]

  • A (float) – Plasma aspect ratio

  • B_0 (float) – Toroidal field at major radius [T]

  • I_p (float) – Plasma current [A]

  • kappa (float) – Plasma elongation

  • delta (float) – Plasma triangularity

Returns:

Estimate of 95th percentile safety factor

Return type:

float

Notes

Uckan et al., ITER Physics Design Guidelines, 1989, sec. 2.3 https://inis.iaea.org/search/search.aspx?orig_q=RN:21068960 Ref [11] in the above does not appear to include the geometry factor

bluemira.plasma_physics.rules_of_thumb.estimate_li_wesson(q_star: float, q_0: float = 1.0) float

Estimate the normalised plasma internal inductance based on an empirical fit.

Parameters:
  • q_star (float) – Cylindrical equivalent safety factor

  • q_0 (float) – Safety factor on axis

Returns:

Normalised lasma internal inductance

Return type:

float

Notes

Wesson, Tokamaks 3rd edition, page 120

This appears to give high values for li, even when using q* at rho=0.95

bluemira.plasma_physics.rules_of_thumb.estimate_vertical_field(R_0: float, A: float, I_p: float, beta_p_th: float, l_i: float, kappa_95: float | None = None) float

Estimate the vertical field to keep the plasma in equilibrium.

Parameters:
  • R_0 (float) – Plasma major radius [m]

  • A (float) – Plasma aspect ratio

  • I_p (float) – Plasma current [A]

  • beta_p_th (float) – Thermal poloidal beta

  • l_i (float) – Normalised internal inductance

  • kappa_95 (float | None) – Plasma elongation at the 95th percentile flux surface

Returns:

Plasma equilibrium vertical field [T]

Return type:

float

Notes

See e.g. Ferrara et al., “Alcasim simulation code for Alcator C-Mod” https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4178094

The kappa term is not always present in textbooks and the like, and is almost certainly irrelevant at the end of breakdown.