rizer.plasma.equations#

Functions to compute plasma properties.

Attributes#

u

Functions#

electron_thermal_velocity(...)

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

weakly_ionized_electrical_conductivity(...)

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

weakly_ionized_collision_frequency(...)

Return the collision frequency \(\nu_{en}\) for a weakly ionized plasma.

debye_length(→ rizer.misc.type.T_float_or_array)

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

average_impact_parameter(...)

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

coulomb_radius(→ rizer.misc.type.T_float_or_array)

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

coulomb_logarithm(→ rizer.misc.type.T_float_or_array)

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

mean_electron_energy_eV_from_temperature_K(...)

Return the mean electron energy in eV from the electron temperature in K.

temperature_K_from_mean_electron_energy_eV(...)

Return the electron temperature in K from the mean electron energy in eV.

maxwellian_distribution_function_in_energy(→ numpy.ndarray)

Return the Maxwellian distribution function in energy for a given temperature.

compute_electronic_reaction_rate_constant(→ float)

Return the electronic reaction rate constant for a given electron temperature.

Module Contents#

rizer.plasma.equations.u#
rizer.plasma.equations.electron_thermal_velocity(T_e: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#

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

Parameters:

T_e (T_float_or_array) – Electron temperature [K]

Returns:

Electron thermal velocity [m/s]

Return type:

T_float_or_array

Notes

The electron thermal velocity is defined as the mean of the magnitude of the electron velocity [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.plasma.equations.weakly_ionized_electrical_conductivity(n_e: rizer.misc.type.T_float_or_array, nu_en: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#

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:
  • n_e (T_float_or_array) – Electron density [m^-3]

  • nu_en (T_float_or_array) – Elastic collision frequency [Hz]

Returns:

Electrical conductivity [S/m]

Return type:

T_float_or_array

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.plasma.equations.weakly_ionized_collision_frequency(n_n: rizer.misc.type.T_float_or_array, sigma_elastic: rizer.misc.type.T_float_or_array, v_e: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#

Return the collision frequency \(\nu_{en}\) for a weakly ionized plasma.

Parameters:
  • n_n (T_float_or_array) – Neutral density [m^-3]

  • sigma_elastic (T_float_or_array) – Elastic collision cross section [m^2]

  • v_e (T_float_or_array) – Electron thermal velocity [m/s]

Returns:

Collision frequency [Hz]

Return type:

T_float_or_array

Notes

The collision frequency is the number of collisions per unit time. In Raizer [Raizer1991], it is defined by equation 2.2 as:

\[\nu_{en} = n_n \sigma_{elastic} v_e\]

with:

  • \(n_n\) the neutral density,

  • \(\sigma_{elastic}\) the elastic collision cross section,

  • \(v_e\) the electron thermal velocity.

rizer.plasma.equations.debye_length(n_e: rizer.misc.type.T_float_or_array, T_e: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#

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:
  • n_e (T_float_or_array) – Electron density [m^-3]

  • T_e (T_float_or_array) – Electron temperature [K]

Returns:

Debye length [m]

Return type:

T_float_or_array

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.plasma.equations.average_impact_parameter(T_e: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#

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

Parameters:

T_e (T_float_or_array) – Electron temperature [K]

Returns:

Average impact parameter [m]

Return type:

T_float_or_array

Notes

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

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

with:

  • \(e\) the elementary charge,

  • \(\epsilon_0\) the vacuum permittivity,

  • \(k_B\) the Boltzmann constant,

  • \(T_e\) the electron temperature.

rizer.plasma.equations.coulomb_radius(T_e: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#

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

Parameters:

T_e (T_float_or_array) – Electron temperature [K]

Returns:

Coulomb radius [m]

Return type:

T_float_or_array

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{e^2}{4 \pi \epsilon_0} \frac{1}{\frac{3}{2} k_B T_e}\]

with:

  • \(e\) the elementary charge,

  • \(\epsilon_0\) the vacuum permittivity,

  • \(k_B\) the Boltzmann constant,

  • \(T_e\) the electron temperature.

rizer.plasma.equations.coulomb_logarithm(n_e: rizer.misc.type.T_float_or_array, T_e: rizer.misc.type.T_float_or_array, model: str = 'Raizer') rizer.misc.type.T_float_or_array#

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

Parameters:
  • n_e (T_float_or_array) – Electron density [m^-3]

  • T_e (T_float_or_array) – Electron temperature [K]

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

Returns:

Coulomb logarithm

Return type:

T_float_or_array

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.plasma.equations.mean_electron_energy_eV_from_temperature_K(temperature_in_kelvin: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#

Return the mean electron energy in eV from the electron temperature in K.

Parameters:

temperature_in_kelvin (T_float_or_array) – Electron temperature [K]

Returns:

Mean electron energy [eV]

Return type:

T_float_or_array

Notes

The mean electron energy is given:

\[E_e = \frac{3}{2} k_B T_e\]

with:

  • \(k_B\) the Boltzmann constant,

  • \(T_e\) the electron temperature.

rizer.plasma.equations.temperature_K_from_mean_electron_energy_eV(mean_electron_energy_in_eV: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#

Return the electron temperature in K from the mean electron energy in eV.

Parameters:

mean_electron_energy_in_eV (T_float_or_array) – Mean electron energy [eV]

Returns:

Electron temperature [K]

Return type:

T_float_or_array

Notes

The electron temperature is given:

\[T_e = \frac{2}{3 k_B} E_e\]

with:

  • \(k_B\) the Boltzmann constant,

  • \(E_e\) the mean electron energy.

rizer.plasma.equations.maxwellian_distribution_function_in_energy(T: float, energies: numpy.ndarray) numpy.ndarray#

Return the Maxwellian distribution function in energy for a given temperature.

Parameters:
  • T (float) – Temperature [K]

  • energies (np.ndarray) – Energy values [J]

Returns:

Maxwellian distribution function in energy [J^-1]

Return type:

np.ndarray

Notes

The Maxwellian distribution function in energy is given by equation 9 in [WikiMaxwellBoltzmannDistribution]:

\[f(E) = 2 \sqrt{\frac{E}{\pi}} \left(\frac{1}{k_B T}\right)^{3/2} \exp\left(-\frac{E}{k_B T}\right)\]

with:

  • \(E\) the energy,

  • \(k_B\) the Boltzmann constant,

  • \(T\) the temperature.

rizer.plasma.equations.compute_electronic_reaction_rate_constant(T: float, cross_section: numpy.ndarray, energies: numpy.ndarray) float#

Return the electronic reaction rate constant for a given electron temperature.

The reaction rate constant is computed, assuming the distribution function is Maxwellian. It is also assumed that electrons are much more energetic than heavy particles.

Parameters:
  • T (float) – Electron temperature [K]

  • cross_section (np.ndarray) – Cross section values [m^2]

  • energies (np.ndarray) – Energy values [J]

Returns:

Reaction rate constant [m^3/s]

Return type:

float

Notes

The reaction rate constant is given by (See also eq. 1.38 in [Pierrot1999]):

\[k(T) = \int_0^\infty \sigma(E) v(E) f(E) dE\]

with:

  • \(\sigma(E)\) the cross section at energy \(E\) [m^2],

  • \(v(E)\) the velocity at energy \(E\) [m/s],

  • \(f(E)\) the Maxwellian distribution function in energy at energy \(E\) [J^-1],

  • \(dE\) the differential of energy [J].

The integral is computed with the trapezoidal rule.