rizer.plasma.equations#
Functions to compute plasma properties.
Attributes#
Functions#
Compute the thermal electron velocity \(v_{th, e}\). |
|
Return the electrical conductivity \(\sigma\) for a weakly ionized plasma. |
|
Return the collision frequency \(\nu_{en}\) for a weakly ionized plasma. |
|
|
Return the Debye length \(\lambda_D\) for a plasma. |
Return the average impact parameter \(\bar{b_0}\) for a collision between an electron and ion. |
|
|
Return the Coulomb radius \(r_{Coul}\) for a plasma. |
|
Return the Coulomb logarithm \(\Lambda\) for a plasma. |
Return the mean electron energy in eV from the electron temperature in K. |
|
Return the electron temperature in K from the mean electron energy in eV. |
|
|
Return the Maxwellian distribution function in energy for a given temperature. |
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.
See also
- 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.