bluemira.plasma_physics.scaling_laws
A collection of common 0-D plasma physics scaling laws.
Classes
Simple power law scaling object, of the form: |
Functions
|
Scrape-off layer power width scaling (Eich et al., 2011) [4] |
|
Power requirement for accessing H-mode, Martin scaling [3] |
|
ITER IPB98(y, 2) Confinement time scaling for ELMy H-mode [2] |
Module Contents
- class bluemira.plasma_physics.scaling_laws.PowerLawScaling(constant: float, constant_err: float, exponents: collections.abc.Iterable[float], exp_errs: numpy.ndarray | list | None = None)
Simple power law scaling object, of the form:
\(c~\pm~cerr \times {a_{1}}^{n1\pm err1}{a_{2}}^{n2\pm err2}...\)
- Parameters:
constant (float) – The constant of the equation
constant_err (float) – The error on the constant
exponents (Iterable) – The ordered list of exponents
exp_errs (Union[np.ndarray, List, None]) – The ordered list of errors of the exponents
- c
- constant_err
- exponents
- __call__(*args)
Call the PowerLawScaling object for a set of arguments.
- Returns:
power law scaling
- Raises:
ValueError – Number of arguments not equal to number of exponents
- calculate(*args, constant=None, exponents=None)
Call the PowerLawScaling object for a set of arguments.
- Returns:
power law scaling
- calculate_range(*args) tuple[float, float]
Calculate the range of the PowerLawScaling within the specified errors for a set of arguments
- Returns:
min_value – Minimum value of the power law according to the specified errors
max_value – Maximum value of the power law according to the specified errors
- Raises:
ValueError – No constant error or error ranges
- Return type:
tuple[float, float]
- __len__() int
Get the length of the PowerLawScaling object.
- Returns:
length of PowerLawScaling object
- Return type:
int
- bluemira.plasma_physics.scaling_laws.lambda_q(B_t: float, q_cyl: float, p_sol: float, R_0: float, *, error: bool = False) float | tuple[float, float, float]
Scrape-off layer power width scaling (Eich et al., 2011) [4]
- Parameters:
B_t (float) – Toroidal field [T]
q_cyl (float) – Cylindrical safety factor
p_sol (float) – Power in the scrape-off layer [W]
R_0 (float) – Major radius [m]
error (bool) – Whether or not to report the value with +/- errors
- Returns:
value – Scrape-off layer width at the outboard midplane [m]
min_value – (if error) Minimum value of the power law according to the specified errors
max_value – (if error) Maximum value of the power law according to the specified errors
- Return type:
float | tuple[float, float, float]
Notes
\(\lambda_q=(0.73\pm0.38)B_t^{-0.78\pm0.25}q_{95}^{1.2\pm0.27}P_{SOL}^{0.1\pm0.11}R_{0}^{0.02\pm0.2}\)
- bluemira.plasma_physics.scaling_laws.P_LH(n_e: float, B_t: float, A: float, R_0: float, *, error: bool = False) float | tuple[float, float, float]
Power requirement for accessing H-mode, Martin scaling [3]
- Parameters:
n_e (float) – Electron density [1/m^3]
B_t (float) – Toroidal field at the major radius [T]
A (float) – Plasma aspect ratio
R_0 (float) – Plasma major radius [m]
error (bool) – Whether or not to return error bar values
- Returns:
value – Power required to access H-mode [W]
min_value – (if error) Minimum value of the power law according to the specified errors
max_value – (if error) Maximum value of the power law according to the specified errors
- Return type:
float | tuple[float, float, float]
Notes
[3] Martin et al., 2008, DOI: 10.1088/1742-6596/123/1/012033 equation (3)
\(P_{LH}=2.15e^{\pm 0.107}n_{e20}^{0.782 \pm 0.037}\) \(B_{T}^{0.772 \pm 0.031}a^{0.975 \pm 0.08}R_{0}^{0.999 \pm 0.101}\)
- bluemira.plasma_physics.scaling_laws.IPB98y2(I_p: float, B_t: float, p_sep: float, n: float, mass: float, R_0: float, A: float, kappa: float) float
ITER IPB98(y, 2) Confinement time scaling for ELMy H-mode [2]
- Parameters:
I_p (float) – Plasma current [A]
B_t (float) – Toroidal field at R_0 [T]
p_sep (float) – Separatrix power [W] (a.k.a. loss power (corrected for charge exchange and orbit losses))
n (float) – Line average plasma density [1/m^3]
mass (float) – Average ion mass [a.m.u.]
R_0 (float) – Major radius [m]
A (float) – Aspect ratio
kappa (float) – Plasma elongation
- Returns:
Energy confinement time [s]
- Return type:
float
Notes
[2] ITER Physics Expert Group, Nucl. Fus. 39, 12
\(\tau_{E}=0.0562I_p^{0.93}B_t^{0.15}P_{sep}^{-0.69}n^{0.41}M^{0.19}R_0^{1.97}A^{-0.58}\kappa^{0.78}\)