rizer.thermal_plasma.elenbaas_heller#

Classes#

ElenbaasHeller

Elenbaas-Heller model for the electrical conductivity of a gas mixture.

Module Contents#

class rizer.thermal_plasma.elenbaas_heller.ElenbaasHeller(R: float | int, electric_field: None | float | int, gas_data: rizer.thermal_plasma.fit_LTE_data.FitLTEData, current: None | float | int = None, with_radiation: bool = False, initial_electric_field: float = 1000.0)#

Elenbaas-Heller model for the electrical conductivity of a gas mixture.

It relies on the following main assumptions:

  • no mass flow,

  • the temperature is only a function of the radial distance,

  • the plasma is in local thermodynamic equilibrium (LTE),

  • the electric field is constant and uniform,

  • the radiative power is negligible compared to the Joule power and the conductive power (for now).

Parameters:
  • R (float or int) – Outer radius, in m.

  • electric_field (None or float or int, optional) – Electric field, in V/m.

  • current (None or float or int, optional) – Current, in A, by default None.

  • gas_data (FitLTEData) – LTE data for the gas mixture.

  • with_radiation (bool, optional) – If True, include the (linearized) radiative loss in the arc channel, by default False. The net emission coefficient is linearized about \(\theta_\sigma\) exactly as \(\sigma\) is, giving \(4\pi\,\text{NEC}(\Theta) = b(\Theta - \theta_\sigma)\) with \(b = 4\pi a_\varepsilon\). Radiation is an energy loss, so the arc-channel parameter becomes \(\epsilon = \sqrt{a_\sigma E^2 - b}\); with with_radiation=False (b = 0) the model is unchanged. b depends on the radiation source and emission_radius_mm of gas_data. If the loss exceeds the Joule heating (\(a_\sigma E^2 \leq b\)) no steady arc exists and a ValueError is raised.

  • initial_electric_field (float, optional) – Initial electric field for the solver, by default 1000.0 V/m.

Notes

The Elenbaas-Heller equation is given by (see [Elenbaas1951], and Eq. 8 of Chapter 12 in [Boulos2023]):

\[\frac{1}{r} \frac{d}{dr} \left( r \kappa(T) \frac{dT}{dr} \right) + \sigma(T) E^2 - P^{rad}(T)= 0\]

where:

  • \(r\) is the radial distance,

  • \(\kappa(T)\) is the thermal conductivity,

  • \(T\) is the temperature,

  • \(\sigma(T)\) is the electrical conductivity,

  • \(E\) is the electric field (assumed to be constant and uniform),

  • \(P^{rad}(T)\) represents energy losses by radiation per unit volume and unit time.

Neglecting the radiative power, the Elenbaas-Heller equation becomes:

\[\frac{1}{r} \frac{d}{dr} \left( r \kappa(T) \frac{dT}{dr} \right) + \sigma(T) E^2 = 0\]

Introducing the integrated thermal conductivity \(\Theta(T) = \int_0^T \kappa(s) ds\), the Elenbaas-Heller equation becomes:

\[\frac{1}{r} \frac{d}{dr} \left( r \frac{d\Theta}{dr} \right) + \sigma(\Theta) E^2 = 0\]

Following the method of [Gueye2017], the electrical conductivity can be approximated as a piecewise linear function of the integrated thermal conductivity:

\[\begin{split}\sigma(\Theta) = \begin{cases} 0 & \text{if } \Theta < \theta_\sigma (r \in ]r_0, R])\\ a_\sigma (\Theta - \theta_\sigma) & \text{if } \Theta \geq \theta_\sigma (r \in [0, r_0]) \end{cases}\end{split}\]

where:

  • \(a_\sigma\) is the slope of the electrical conductivity vs. integrated thermal conductivity, in (S/m)/(W.m^-1),

  • \(\theta_\sigma\) is the first value of the integrated thermal conductivity where the electrical conductivity is non-zero, in W/m,

  • \(r_0\) is the inner (arc) radius, in m, such that radius lower than \(r_0\) corresponds to non-zero electrical conductivity, and radius greater than \(r_0\) corresponds to zero electrical conductivity,

  • \(R\) is the outer (torch) radius, in m.

With the following boundary conditions:

  • At the wall, \(\Theta(r=R) = 0\). Note that \(\Theta\) is the integrated thermal conductivity measured from the lowest tabulated temperature \(T_w\) (the cold-wall temperature, e.g. 300 K), i.e. \(\Theta(T) = \int_{T_w}^{T} \kappa(s)\,ds\), so \(\Theta(R)=0\) corresponds to \(T(R)=T_w\) (the wall temperature), not to 0 K. The original Elenbaas-Heller derivation idealizes \(T_w = 0\), but in practice the wall sits at the lowest temperature in the transport data.

  • By symmetry, \(\frac{d\Theta}{dr}(r=0) = \left( \frac{dT}{dr} \lambda(T) \right)(r=0) = 0\).

  • By continuity, \(\Theta(r_0^-) = \Theta(r_0^+) = \theta_\sigma\).

  • And by continuity of the derivative, \(\frac{d\Theta}{dr}(r_0^-) = \frac{d\Theta}{dr}(r_0^+)\).

The analytical solution to the Elenbaas-Heller equation is then given by:

\[\begin{split}\Theta(r) = \begin{cases} \theta_\sigma \left( 1 + \frac{J_0(\epsilon r)}{J_1(\epsilon r_0)} \frac{1}{r_0 \epsilon \ln(R/r_0)} \right) & \text{if } r \in [0, r_0]\\ \theta_\sigma \frac{\ln(r/R)}{\ln(r_0/R)} & \text{if } r \in ]r_0, R] \end{cases}\end{split}\]

where:

  • \(\epsilon = \sqrt{a_\sigma E^2}\),

  • \(J_0\) is the Bessel function of the first kind of order 0,

  • \(J_1\) is the Bessel function of the first kind of order 1.

With radiation (with_radiation=True), the net emission coefficient is linearized the same way as \(\sigma\):

\[\begin{split}4\pi\,\text{NEC}(\Theta) = \begin{cases} b\,(\Theta - \theta_\sigma) & \text{if } \Theta > \theta_\sigma\;(r \in [0, r_0[)\\ 0 & \text{if } \Theta \leq \theta_\sigma\;(r \in\, ]r_0, R]) \end{cases}\end{split}\]

so the hot-zone equation becomes \(\frac{1}{r}\frac{d}{dr}(r\frac{d\Theta}{dr}) + (\Theta - \theta_\sigma)(a_\sigma E^2 - b) = 0\) (radiation subtracts, being an energy loss). The solution keeps the same form with \(\epsilon = \sqrt{a_\sigma E^2 - b}\) (and \(b = 4\pi a_\varepsilon\)); \(r_0 \epsilon\) is still a zero of \(J_0\). Setting \(b = 0\) recovers the radiation-free model above.

Examples

Elenbaas-Heller model for H₂ DC plasma — Cantera numerical solver.

Elenbaas-Heller model for H₂ DC plasma — Cantera numerical solver.

Elenbaas-Heller model for H₂ DC plasma.

Elenbaas-Heller model for H₂ DC plasma.
gas_data#
a_sigma#
theta_sigma#
temperature#
theta#
with_radiation = False#
b_rad#
initial_electric_field = 1000.0#
analytical_theta_vs_radius(r: float) float#

Analytical solution to the Elenbaas-Heller equation.

Parameters:

r (float) – Radial distance.

Returns:

Integrated thermal conductivity at radial distance r.

Return type:

float

Raises:

ValueError – If r is not between 0 and R.

Notes

The analytical solution to the Elenbaas-Heller equation is given by:

\[\begin{split}\Theta(r) = \begin{cases} \theta_\sigma \left( 1 + \frac{J_0(\epsilon r)}{J_1(\epsilon r_0)} \frac{1}{r_0 \epsilon \ln(R/r_0)} \right) & \text{if } r \in [0, r_0]\\ \theta_\sigma \frac{\ln(r/R)}{\ln(r_0/R)} & \text{if } r \in ]r_0, R] \end{cases}\end{split}\]

where:

  • \(\epsilon = \sqrt{a E^2}\), with \(a\) the constant, slope of the electrical conductivity \(\sigma\) vs. integrated thermal conductivity \(\Theta\), and \(E\) the electric field,

  • \(\theta_\sigma\) is the constant, initial value of the thermal conductivity,

  • \(J_0\) is the Bessel function of the first kind of order 0,

  • \(J_1\) is the Bessel function of the first kind of order 1,

  • \(r_0\) is the inner radius, which should be such that \(r_0 \sqrt{a E^2}\) is a zero of the Bessel function \(J_0\),

  • \(R\) is the outer radius.

get_inner_radius(nth_zero: int = 0) float#

Get the inner radius.

Parameters:

nth_zero (int, optional) – Nth zero of the Bessel function \(J_0\), by default 0.

Returns:

Inner radius.

Return type:

float

Notes

The inner radius is such that \(r_0 \epsilon\) is a zero of the Bessel function \(J_0\), with \(\epsilon = \sqrt{a_\sigma E^2 + b}\) (\(b\) the linearized radiation slope; \(b = 0\) without radiation).

analytical_current() float#

Calculate the current.

Returns:

Current.

Return type:

float

Notes

Integrating the current density \(j = \sigma E\) over the cross-section and using the analytical \(\Theta(r)\) gives:

\[I = \frac{2 \pi a_\sigma \theta_\sigma E}{\epsilon^2 \, \ln(R/r_0)}, \qquad \epsilon^2 = a_\sigma E^2 - b\]

where:

  • \(a_\sigma\) is the slope of \(\sigma\) vs. \(\Theta\),

  • \(\theta_\sigma\) is the constant, initial value of the thermal conductivity,

  • \(b = 4\pi a_\varepsilon\) is the linearized radiation slope (0 without radiation),

  • \(E\) is the electric field,

  • \(R\) is the outer radius,

  • \(r_0\) is the inner radius, such that \(r_0 \epsilon\) is a zero of the Bessel function \(J_0\).

Without radiation (\(b = 0\), \(\epsilon^2 = a_\sigma E^2\)) this reduces to the classic \(I = 2 \pi \theta_\sigma / (E \ln(R/r_0))\).

get_electric_field_vs_current(target_current: float, initial_electric_field: float | None = None) float#

Get the electric field.

Parameters:
  • target_current (float) – Target current.

  • initial_electric_field (float, optional) – Initial electric field for the solver, by default the class parameter.

Returns:

Electric field.

Return type:

float

Notes

The electric field is such that the analytical current is equal to the target current.

get_temperature_vs_radius(r: float, initial_temperature: float = 300.0) float#

Get the temperature at a given radial distance.

Parameters:
  • r (float) – Radial distance.

  • initial_temperature (float, optional) – Initial temperature for the solver, by default 300.0 K.

Returns:

Temperature.

Return type:

float

Notes

The temperature is such that the integrated thermal conductivity is equal to the integrated thermal conductivity at the radial distance r.

The integrated thermal conductivity is given by:

\[\Theta(T(r)) = \int_0^{T(r)} \kappa(s) ds\]

where:

  • \(\kappa\) is the thermal conductivity,

  • \(T\) is the temperature.

compute_radiative_power_density_at_r(r: float) float#

Compute the radiative power density at a given radial distance.

Parameters:

r (float) – Radial distance.

Returns:

Radiative power density.

Return type:

float

Notes

The radiative power density is given by (see equation 13 in [Gueye2017]):

\[P^{rad} = \vec{\nabla} \cdot \vec{q^{rad}} = 4 \pi \text{NEC}\]

where:

  • \(\text{NEC}\) is the net emission coefficient.

compare_power_density(r: float) tuple[float, float, float]#

Compare the power density.

Parameters:

r (float) – Radial distance.

Returns:

Joule power density, conductive power density, radiative power density.

Return type:

tuple of float, float, float

Notes

The power density is given by:

\[P = \sigma E^2 + \frac{1}{r} \frac{d}{dr} \left( r \frac{d\Theta}{dr} \right) + P^{rad}\]

where:

  • \(\sigma E^2\) is the Joule power density,

  • \(\frac{1}{r} \frac{d}{dr} \left(r \frac{d\Theta}{dr} \right)\) is the conductive power density,

  • \(P^{rad}\) is the radiative power density.

  • \(\sigma\) is the electrical conductivity,

  • \(E\) is the electric field.

  • \(\Theta = \int_0^T \kappa(s) ds\) is the integrated thermal conductivity, with \(\kappa\) the thermal conductivity and \(T\) the temperature.