rizer.transport.properties#

Electron kinetic-theory, Coulomb-collision, and conductivity functions for weakly/fully ionized plasmas.

Functions#

electron_thermal_velocity(→ T)

Compute the thermal electron velocity \(v_{th, e}\).

debye_length(→ T)

Return the Debye length \(\lambda_D\) for a plasma.

average_impact_parameter(→ T)

Return the average impact parameter \(\bar{b_0}\) for a collision between an electron and ion.

coulomb_radius(→ T)

Return the Coulomb radius \(r_{Coul}\) for a plasma.

coulomb_logarithm(→ T)

Return the Coulomb logarithm \(\Lambda\) for a plasma.

weakly_ionized_electrical_conductivity(→ T)

Return the electrical conductivity \(\sigma\) for a weakly ionized plasma.

fully_ionized_electrical_conductivity(→ T)

Return the Spitzer electrical conductivity \(\sigma\) for a fully ionized plasma.

electron_thermal_conductivity(→ T)

Return the electron thermal conductivity \(\kappa_e\) for a plasma.

electron_diffusion_coefficient(→ T)

Return the electron diffusion coefficient \(D_e\) for a plasma.

electron_mobility(→ T)

Return the electron mobility \(\mu_e\) for a plasma.

Module Contents#

rizer.transport.properties.electron_thermal_velocity[T: (float, numpy.ndarray)](T_e: T) → T#

Compute the thermal electron velocity \(v_{th, e}\).

Parameters:

T_e (float or numpy.ndarray) – Electron temperature [K]

Returns:

Electron thermal velocity [m/s]

Return type:

float or numpy.ndarray

Notes

The electron thermal velocity (or mean speed) is the expected value of the electron speed distribution [WikiThermalVelocity].

\[v_{th, e} = \sqrt{\frac{8 k_B T_e}{\pi m_e}}\]

where:

  • \(k_B\) is the Boltzmann constant,

  • \(T_e\) is the electron temperature,

  • \(m_e\) is the electron mass.

rizer.transport.properties.debye_length[T: (float, numpy.ndarray)](n_e: T, T_e: T) → T#

Return the Debye length \(\lambda_D\) for a plasma.

It is assumed that:

  • Ions do not play a role in the screening of the electric field.

  • The permittivity of the plasma is the same as the permittivity of free space.

Parameters:
Returns:

Debye length [m]

Return type:

float or numpy.ndarray

Notes

The Debye length is the distance over which charge screening occurs. It is defined in [WikiDebyeLength], and in (II 8.2) of [Mitchner1973], as:

\[\lambda_D = \sqrt{\frac{\epsilon_0 k_B T_e}{n_e e^2}}\]

with:

  • \(\epsilon_0\) the vacuum permittivity,

  • \(k_B\) the Boltzmann constant,

  • \(T_e\) the electron temperature,

  • \(n_e\) the electron density,

  • \(e\) the elementary charge.

rizer.transport.properties.average_impact_parameter[T: (float, numpy.ndarray)](T_e: T, Z: int = 1) → T#

Return the average impact parameter \(\bar{b_0}\) for a collision between an electron and ion.

Parameters:
  • T_e (float or numpy.ndarray) – Electron temperature [K]

  • Z (int, optional) – Ion charge number, by default 1

Returns:

Average impact parameter [m]

Return type:

float or numpy.ndarray

Notes

The average impact parameter is defined in (II 8.6) of [Mitchner1973], as:

\[\bar{b_0} = \frac{Z e^2}{12 \pi \epsilon_0 k_B T_e}\]

with:

  • \(Z\) the ion charge number,

  • \(e\) the elementary charge,

  • \(\epsilon_0\) the vacuum permittivity,

  • \(k_B\) the Boltzmann constant,

  • \(T_e\) the electron temperature.

rizer.transport.properties.coulomb_radius[T: (float, numpy.ndarray)](T_e: T, Z: int = 1) → T#

Return the Coulomb radius \(r_{Coul}\) for a plasma.

Parameters:
  • T_e (float or numpy.ndarray) – Electron temperature [K]

  • Z (int, optional) – Ion charge number, by default 1

Returns:

Coulomb radius [m]

Return type:

float or numpy.ndarray

Notes

The Coulomb radius is defined in [Raizer1991], section 2.2.2, “by equating the mean thermal energy of an electron to the energy of its interaction with the ion”, resulting in:

\[r_{Coul} = \frac{Z e^2}{4 \pi \epsilon_0} \frac{1}{\frac{3}{2} k_B T_e}\]

with:

  • \(Z\) the ion charge number,

  • \(e\) the elementary charge,

  • \(\epsilon_0\) the vacuum permittivity,

  • \(k_B\) the Boltzmann constant,

  • \(T_e\) the electron temperature.

rizer.transport.properties.coulomb_logarithm[T: (float, numpy.ndarray)](n_e: T, T_e: T, model: str = 'Raizer', Z: int = 1) → T#

Return the Coulomb logarithm \(\Lambda\) for a plasma.

Parameters:
  • n_e (float or numpy.ndarray) – Electron density [m^-3]

  • T_e (float or numpy.ndarray) – Electron temperature [K]

  • model (str, optional) – Model to use for the Coulomb logarithm, by default “Raizer”.

  • Z (int, optional) – Ion charge number, by default 1

Returns:

Coulomb logarithm

Return type:

float or numpy.ndarray

Notes

The Coulomb logarithm is defined in [UTexasCoulombLog] as:

\[\Lambda = \log\left(\frac{\lambda_D}{r_{Coul}}\right)\]

with:

  • \(\lambda_D\) the Debye length,

  • \(r_{Coul}\) the Coulomb radius.

In Mitchner’s model [Mitchner1973], the Coulomb logarithm is defined as (II 8.7a):

\[\Lambda = \log\left(\frac{\lambda_D}{\bar{b_0}}\right)\]

with: * \(\bar{b_0}\) the average impact parameter.

Often, the Coulomb logarithm value is between 5 and 20.

rizer.transport.properties.weakly_ionized_electrical_conductivity[T: (float, numpy.ndarray)](n_e: T, nu_en: T) → T#

Return the electrical conductivity \(\sigma\) for a weakly ionized plasma.

The formula assumes that electrons does not oscillate in the plasma (i.e. \(\omega=0\))

Parameters:
Returns:

Electrical conductivity [S/m]

Return type:

float or numpy.ndarray

Notes

The electrical conductuctivity of a weakly ionized plasma is given by equation 2.7 of Raizer [Raizer1991]:

\[\sigma = \frac{n_e e^2}{m_e \nu_{en}}\]

with:

  • \(n_e\) the electron density,

  • \(e\) the elementary charge,

  • \(m_e\) the electron mass,

  • \(\nu_{en}\) the elastic collision frequency.

rizer.transport.properties.fully_ionized_electrical_conductivity[T: (float, numpy.ndarray)](T_e: T, log_lambda: T) → T#

Return the Spitzer electrical conductivity \(\sigma\) for a fully ionized plasma.

Parameters:
Returns:

Electrical conductivity [S/m]

Return type:

float or numpy.ndarray

Notes

The Spitzer electrical conductivity of a fully ionized plasma is given by:

\[\sigma = \text{Spitzer constant} \times \frac{T_e^{3/2}}{\log(\lambda)}\]

with:

  • \(\text{Spitzer constant}\) given by spitzer_constant,

  • \(T_e\) the electron temperature,

  • \(\log(\lambda)\) the Coulomb logarithm.

rizer.transport.properties.electron_thermal_conductivity[T: (float, numpy.ndarray)](n_e: T, T_e: T, nu_eH: T) → T#

Return the electron thermal conductivity \(\kappa_e\) for a plasma.

Parameters:
Returns:

Electron thermal conductivity [W/(m.K)]

Return type:

float or numpy.ndarray

Notes

\[\kappa_e = \frac{5}{2} \frac{n_e k_B^2 T_e}{m_e \bar{\nu}_{eH}}\]

with:

  • \(n_e\) the electron number density,

  • \(k_B\) the Boltzmann constant,

  • \(T_e\) the electron temperature,

  • \(m_e\) the electron mass,

  • \(\bar{\nu}_{eH}\) the electron-heavy momentum-transfer collision frequency.

nu_eH = 0 (e.g. before any field has been applied) makes this inf rather than raising – unlike this module’s other functions, zero is a legitimate input here, not asserted against.

No page/equation reference has been verified for this formula against a source (unlike this module’s other functions, which cite one); treat it as unsourced pending confirmation.

rizer.transport.properties.electron_diffusion_coefficient[T: (float, numpy.ndarray)](T_e: T, nu_eH: T) → T#

Return the electron diffusion coefficient \(D_e\) for a plasma.

Parameters:
Returns:

Electron diffusion coefficient [m^2/s]

Return type:

float or numpy.ndarray

Notes

\[D_e = \frac{k_B T_e}{m_e \bar{\nu}_{eH}}\]

with:

  • \(k_B\) the Boltzmann constant,

  • \(T_e\) the electron temperature,

  • \(m_e\) the electron mass,

  • \(\bar{\nu}_{eH}\) the electron-heavy momentum-transfer collision frequency.

nu_eH = 0 (e.g. before any field has been applied) makes this inf rather than raising – unlike this module’s other functions, zero is a legitimate input here, not asserted against.

No page/equation reference has been verified for this formula against a source (unlike this module’s other functions, which cite one); treat it as unsourced pending confirmation.

rizer.transport.properties.electron_mobility[T: (float, numpy.ndarray)](nu_eH: T) → T#

Return the electron mobility \(\mu_e\) for a plasma.

Parameters:

nu_eH (float or numpy.ndarray) – Electron-heavy momentum-transfer collision frequency [s^-1]

Returns:

Electron mobility [m^2/(V.s)]

Return type:

float or numpy.ndarray

Notes

\[\mu_e = \frac{e}{m_e \bar{\nu}_{eH}}\]

with:

  • \(e\) the elementary charge,

  • \(m_e\) the electron mass,

  • \(\bar{\nu}_{eH}\) the electron-heavy momentum-transfer collision frequency.

nu_eH = 0 (e.g. before any field has been applied) makes this inf rather than raising – unlike this module’s other functions, zero is a legitimate input here, not asserted against.

No page/equation reference has been verified for this formula against a source (unlike this module’s other functions, which cite one); treat it as unsourced pending confirmation.