rizer.plasma.plasma_extension#
Attributes#
Classes#
Extend a Cantera plasma object. |
Module Contents#
- rizer.plasma.plasma_extension.logger#
- class rizer.plasma.plasma_extension.PlasmaExtension(plasma: cantera.Solution, momentum_transfer_collision_frequencies_list: list[rizer.plasma.collision_frequency.MomentumTransferCollisionFrequencyModel])#
Extend a Cantera plasma object.
Extend a Cantera plasma object to include properties not currently implemented in Cantera, such as cp_mole.
- Parameters:
plasma (
cantera.Solution) – Cantera plasma object.momentum_transfer_collision_frequencies_list (
listofMomentumTransferCollisionFrequencyModel) – List of momentum transfer collision frequency models for each species in the plasma object.
- Raises:
ValueError – The mechanism of the heavies object should not be a Plasma phase.
- plasma#
- plasma_species: list[cantera.Species]#
List of the species in the plasma object.
- plasma_reactions: list[cantera.Reaction]#
List of the reactions in the plasma object.
- plasma_electronic_reactions: list[cantera.Reaction]#
- e_index#
- momentum_transfer_collision_frequencies_list: list[rizer.plasma.collision_frequency.MomentumTransferCollisionFrequencyModel]#
- precompute_collision_frequency_tables(Te_min: float = 300.0, Te_max: float = 100000.0, n_points: int = 1000) None#
Opt-in: precompute averaged cross sections on an electron-temperature grid.
Enables a log-spaced \(T_e\)-grid cache on every tabulated neutral cross section (see
enable_mean_cross_section_grid_cache()), so the per-species momentum-transfer collision frequencies interpolate a precomputed \(\bar{Q}(T_e)\) instead of re-integrating the cross section at each electron temperature. This trades a small interpolation error (well under a percent on a fine grid) for a large speed-up when a reactor sweeps many electron temperatures. Ion (Coulomb) and hard-sphere frequencies are already closed-form and are unaffected.
- molar_concentrations() numpy.ndarray#
Compute the molar concentrations of each species in the plasma in kmol/m^3.
- Returns:
Molar concentrations of each species in the plasma in kmol/m^3.
- Return type:
Notes
The molar concentration of each species is given by (eq. 2-13 in [Chemkin]):
\[[ X_k ] = \frac{X_k P}{R \sum_i X_i T_i}\]
- density() float#
Compute the density of the plasma in kg/m^3.
Since Cantera PR #2101 (native two-temperature plasma thermodynamics), the
PlasmaPhaseaccounts for electrons being at a different temperature than the heavy species when computing the density.- Returns:
Density of the plasma in kg/m^3.
- Return type:
Notes
The density of the plasma is given (eq. 2-5 in [Chemkin]):
\[\rho = \sum_k [ X_k ] M_k\]with:
\([ X_k ]\) the molar concentration of species \(k\),
\(M_k\) the molar mass of species \(k\).
The molar concentration can be expressed using the mole fraction (eq. 2-13 in [Chemkin]):
\[[ X_k ] = \frac{X_k P}{R \sum_i X_i T_i}\]
- mean_temperature() float#
Compute the mean temperature of the plasma in K.
This is the equation of state used in [Chemkin]. Since Cantera PR #2101 (native two-temperature plasma thermodynamics), this is exposed natively as the
mean_temperatureproperty on Cantera’sPlasmaPhase(accessed here viaself.plasma.mean_temperature).- Returns:
Mean temperature of the plasma in K.
- Return type:
Notes
The mean temperature of the plasma is given by the formula:
\[\overline{T} = \frac{\sum_k X_k T_k}{\sum_k X_k} = \sum_k X_k T_k\]with:
\(X_k\) the molar fraction of species \(k\),
\(T_k\) the temperature of species \(k\).
This can be rewritten as:
\[\overline{T} = \sum_{k \neq e} X_k T_g + X_e T_e = (1 - X_e) T_g + X_e T_e\]This comes from the gas equation of state (equation 2-4 of [Chemkin]):
\[P = \sum_k [ X_k ] R T_k = \sum_k n_k k_b T_k = k_b n_{tot} \overline{T}\]with:
\(P\) the pressure,
\([ X_k ]\) the molar concentration of species \(k\),
\(n_k\) the number density of species \(k\),
\(n_{tot}\) the total number density of the plasma.
- total_number_density() float#
Compute the total number density of the plasma in m^-3.
- Returns:
Total number density of the plasma in m^-3.
- Return type:
Notes
The total number density of the plasma is given by the formula:
\[\rho_{\text{tot}} = \frac{P}{k_b \overline{T}}\]with:
\(P\) the pressure, in Pa,
\(k_b\) the Boltzmann constant, in J/K,
\(\overline{T}\) the mean temperature of the plasma, in K.
References
Equation 2-4 of [Chemkin].
- electron_number_density() float#
Compute the electron number density of the plasma in m^-3.
- Returns:
Electron density of the plasma in m^-3.
- Return type:
Notes
The electron number density of the plasma is given by the formula:
\[n_e = X_{e^-} n_{\text{tot}} = X_{e^-} \frac{P}{k_b \overline{T}}\]with:
\(X_{e^-}\) the electron mole fraction,
\(P\) the pressure, in Pa,
\(k_b\) the Boltzmann constant, in J/K,
\(\overline{T}\) the mean temperature of the plasma, in K.
References
Equation 2-4 of [Chemkin].
- cp_mass_mean_heavies() float#
Mean massic heat capacity at constant pressure of the heavies species in J/kg/K.
- Returns:
Mean massic heat capacity at constant pressure of the heavies species in J/kg/K.
- Return type:
Notes
The mean massic heat capacity at constant pressure of the heavies species is given by the formula:
\[\overline{c_{p, mass}} = \sum_{k \neq e} Y_k c_{p, k} = \sum_{k} Y_k c_{p, k} - Y_e c_{p, e}\]with:
\(Y_k\) the mass fraction of species \(k\), in the plasma phase,
\(c_{p, k}\) the heat capacity of species \(k\).
References
Equation 30 of [Aurora].
See also
- cv_mass_mean_heavies() float#
Mean massic heat capacity at constant volume of the heavies species in J/kg/K.
- Returns:
Mean massic heat capacity at constant volume of the heavies species in J/kg/K.
- Return type:
See also
- cp_mole_mean_heavies() float#
Mean molar heat capacity at constant pressure of the heavies species in J/kmol/K.
- Returns:
Mean molar heat capacity at constant pressure of the heavies species in J/kmol/K.
- Return type:
See also
- cp_mass() float#
Massic heat capacity at constant pressure of the plasma in J/kg/K.
- Returns:
Massic heat capacity at constant pressure of the plasma in J/kg/K.
- Return type:
Notes
The massic heat capacity at constant pressure of the plasma is given by the formula:
\[c_{p, mass} = (1 - Y_{e-}) \cdot c_{p, mass, heavy} + Y_{e-} \cdot c_{p, mass, e^-}\]with:
\(Y_{e-}\) the electron mass fraction,
\(c_{p, mass, heavy}=\sum_{k \neq e^-} Y_k c_{p, k}\) the heat capacity of the heavy species,
\(c_{p, mass, e^-}\) the heat capacity of electrons.
References
Equation 30 of [Aurora].
See also
- cv_mass() float#
Massic heat capacity at constant volume of the plasma in J/kg/K.
- Returns:
Massic heat capacity at constant volume of the plasma in J/kg/K.
- Return type:
Notes
The massic heat capacity at constant volume of the plasma is given by the formula:
\[c_{v, mass} = (1 - Y_{e-}) \cdot c_{v, mass, heavy} + Y_{e-} \cdot c_{v, mass, e^-}\]with:
\(Y_{e-}\) the electron mass fraction,
\(c_{v, mass, heavy}=\sum_{k \neq e^-} Y_k c_{v, k}\) the heat capacity of the heavy species,
\(c_{v, mass, e^-}\) the heat capacity of electrons.
References
Equation 30 of [Aurora].
See also
- cp_mole() float#
Molar heat capacity at constant pressure of the plasma in J/kmol/K.
- Returns:
Molar heat capacity at constant pressure of the plasma in J/kmol/K.
- Return type:
Notes
The molar heat capacity at constant pressure of the plasma is given by the formula:
\[c_{p, mol} = (1 - X_{e-}) \cdot c_{p, mol, heavy} + X_{e-} \cdot c_{p, mol, e^-}\]with:
\(X_{e-}\) the electron mole fraction,
\(c_{p, mol, heavy}=\sum_{k \neq e^-} X_k c_{p, k}\) the heat capacity of the heavy species,
\(c_{p, mol, e^-}\) the heat capacity of electrons.
References
Equation 30 of [Aurora].
See also
- cp_e_mass() float#
Massic heat capacity at constant pressure of electrons in J/kg/K.
- Returns:
Massic heat capacity at constant pressure of electrons in J/kg/K.
- Return type:
Notes
The massic heat capacity at constant pressure of electrons is given by the formula:
\[c_{p, mass, e} = \frac{5}{2} \frac{R}{M_e}\]with:
\(R\) the ideal gas constant (J/mol/K),
\(M_e\) the electron molar mass (kg/mol).
References
Equation 33 of [Aurora].
- cv_e_mass() float#
Massic heat capacity at constant volume of electrons in J/kg/K.
- Returns:
Massic heat capacity at constant volume of electrons in J/kg/K.
- Return type:
Notes
The massic heat capacity at constant volume of electrons is given by the formula:
\[c_{v, mass, e} = \frac{3}{2} \frac{R}{M_e}\]with:
\(R\) the ideal gas constant (J/mol/K),
\(M_e\) the electron molar mass (kg/mol).
References
Equation 33 of [Aurora].
- cp_e_mole() float#
Molar heat capacity at constant pressure of electrons in J/kmol/K.
- Returns:
Molar heat capacity at constant pressure of electrons in J/kmol/K.
- Return type:
Notes
The molar heat capacity at constant pressure of electrons is given by the formula:
\[c_{p, mol, e} = \frac{5}{2} R_{\text{kmol}}\]with:
\(R_{\text{kmol}}\) the ideal gas constant, expressed in J/kmol/K.
References
Equation 33 of [Aurora].
- cv_e_mole() float#
Molar heat capacity at constant volume of electrons in J/kmol/K.
- Returns:
Molar heat capacity at constant volume of electrons in J/kmol/K.
- Return type:
Notes
The molar heat capacity at constant volume of electrons is given by the formula:
\[c_{v, mol, e} = \frac{3}{2} R_{\text{kmol}}\]with:
\(R_{\text{kmol}}\) the ideal gas constant, expressed in J/kmol/K.
References
Equation 33 of [Aurora].
- plasma_power_elastic() float#
Compute the elastic power loss density in W/m^3.
Return the rate of electron energy loss per unit volume as a result of elastic collisions with heavy particles in W/m^3.
- Returns:
Elastic power loss density in W/m^3.
- Return type:
Notes
The power density is given by equation (VI 5.1) of [Mitchner1973].
\[P_el = \sum_h \frac{2 m_e}{m_h} \frac{3}{2} k_b\left(T_e-T_g\right) \bar{\nu}_{e h} n_e\]with:
\(m_e\) the electron mass, in kg,
\(m_h\) the mass of heavy particles, in kg,
\(k_b\) the Boltzmann constant, in J/K,
\(T_e\) the electron temperature, in K,
\(T_g\) the heavy species temperature, in K,
- \(\bar{\nu}_{e h}\) the energy-weighted average momentum transfer collision frequency between
electrons and heavy particles, in s^-1, as defined in (II 6.29) of [Mitchner1973].
References
Equation 35 of [Aurora]
End of chapter 5 of [LauxLecture]
equation (VI 5.1) of [Mitchner1973]
- plasma_power_inelastic() float#
Return the inelastic Joule heating power per unit volume of the plasma in W/m^3.
- Returns:
Inelastic Joule heating power density in W/m^3.
- Return type:
Notes
The power density is given by equation 36 of [Aurora], but with the reaction internal-energy change \(\Delta U_i\) in place of the enthalpy change \(\Delta H_i\):
\[P_{inel} = \sum_{i}^{I_{ei}} \Delta U_i \cdot R_i\]with:
\(I_{ei}\) the number of electron-impact reactions, i.e. reactions in which the electron participates,
\(\Delta U_i\) the internal-energy change of reaction \(i\),
\(R_i\) the net rate of progress of reaction \(i\).
Using \(\Delta U\) rather than \(\Delta H\) is the consistent choice for the constant-volume reactor. \(\Delta H = \Delta U + \sum_k \nu_k R T_k\) includes a pressure-work term \(R T_k\) per net particle created; billing that term through this electron-to-gas exchange mis-attributes \(\sim k_B T_e\) per net electron produced (e.g. per ionization) from the electron pool to gas heating, even though total energy stays conserved. The heavy-species chemical term in the reactor likewise uses internal energy.
Electron-impact reactions are selected by testing whether the electron participates as a reactant or a product, rather than by matching a rate-type string. These are exactly the reactions that exchange energy between the electron energy pool and the internal/chemical energy of the heavy species, whatever their rate type (
two-temperature-plasma,three-body-two-temperature-plasma,reverse-two-temperature-plasma,Druyvesteyn,janev-*, …). Selecting them by type string silently dropped every channel whose type was not one of the two-temperature ones.
- electrical_conductivity() float#
Return the electrical conductivity in S/m.
No assumption is made on wether the plasma is weakly or strongly ionized.
- Returns:
electrical conductivity in S/m
- Return type:
Notes
The electrical conductivity \(\sigma\) of a plasma is given by (II 13.7b) of [Mitchner1973]:
\[\sigma_e = \frac{n_e e^2}{m_e \bar{\nu}_{eH}}\]where:
\(n_e\) is the electron number density in m^-3,
\(e\) is the elementary charge in C,
\(m_e\) is the electron mass in kg,
\(\bar{\nu}_{eH}\) is the average momentum transfer collision frequency of an electron with all heavy particle species.
This last term is defined in (II 13.3) of [Mitchner1973] as the following sum:
\[\bar{\nu}_{eH} = \bar{\nu}_{en} + \bar{\nu}_{ei}\]where:
\(\bar{\nu}_{en}\) is the average momentum transfer collision frequency of an electron with neutral heavy particles,
\(\bar{\nu}_{ei}\) is the average momentum transfer collision frequency of an electron with ionized heavy particles.
- conditions_for_maxwellian_distribution() tuple[float, float]#
Return the conditions for a Maxwellian distribution of electrons.
Based on equation (VIII 3.8) of [Mitchner1973].
- Returns:
cond_maxwell_1, cond_maxwell_2, with:
\(C_1 = \frac{\nu_{e e}}{m_e}\) the electron-electron collision frequency divided by the electron mass,
\(C_2 = \sum_h \frac{\bar{\nu}_{e h}}{m_h}\) the sum of the average momentum transfer collision frequencies of electrons with heavy species divided by the mass of the heavy species.
- Return type: