rizer.plasma.constant_mass_reactor#
Attributes#
Classes#
ODE system to solve. |
Module Contents#
- rizer.plasma.constant_mass_reactor.logger#
- class rizer.plasma.constant_mass_reactor.ConstantMassPlasmaReactorOde(plasma: cantera.Solution, plasma_extension: rizer.plasma.plasma_extension.PlasmaExtension, mass: float, initial_radius: float, gap: float, electric_circuit: rizer.electric_circuit.nrp_circuit.NRPCircuit, nb_reflections: int, polytropic_index: float | str, p_ext: float | str)#
ODE system to solve.
The method __call__ computes the right-hand side of the ODE system defined by \(\frac{dy}{dt} = f(t, y)\), where \(y\) is the state vector.
The following assumptions are made:
Constant mass plasma (no mass flow).
Homogeneous plasma (0D reactor).
Cylindrical geometry between two electrodes.
Polytropic expansion of the plasma.
Pressure relaxation towards atmospheric pressure.
No heat losses to the surroundings.
Multi-temperature ideal gas equation of state (Maxwellian distribution for each species, with different temperatures for electrons and heavy species).
Reflections of the generator voltage wave in the electric circuit are considered.
No surface chemistry.
- Parameters:
plasma (
cantera.Solution) – Cantera plasma object.plasma_extension (
PlasmaExtension) – Object that extends the plasma object to include properties not currently implemented in Cantera, such as cp_mole.mass (
float) – Mass of the plasma, in kg. Assumed constant.initial_radius (
float) – Initial radius of the plasma, in m. Used to compute the initial volume. Can be updated during the simulation, if the polytropic index is not infinite.gap (
float) – Gap between the two electrodes, in m. Used to compute the volume of the plasma. Assumed constant.electric_circuit (
NRPCircuit) – Electric circuit object. Define the generator and cable properties.nb_reflections (
int) – Number of reflections to take into account in the computation of the plasma voltage.polytropic_index (
floatorstr) – Polytropic index of the plasma expansion. If np.inf, the volume is constant. if “gamma”, the process is isentropic. if 1, the temperature is constant.p_ext (
floatorstr) – External pressure, in Pa. If “atmospheric” or “atm”, the atmospheric pressure is used.
Notes
Equations solved implies constant mass and homogeneous quantities only. The equations solved are based on [Aurora] and [Mitchner1973].
Equation of state:
The equation of state chosen is the multi-temperature ideal gas law, like in [Chemkin]:
\[P = \sum_k [X_k] R T_k\]where:
\(P\) is the pressure, in Pa,
\(X_k\) is the mole fraction of species \(k\),
\(R\) is the ideal gas constant, in J/mol/K,
\(T_k\) is the temperature of species \(k\), in K (\(T_e\) for electrons, \(T_g\) for heavy species).
Conservation of mass:
Since the system is assumed to be closed, the mass is constant:
\[\frac{dm}{dt} = 0\]Balance equation for volume:
For a polytropic process, the volume is related to the pressure by:
\[P V^k = \text{constant}\]Differentiating this equation with respect to time gives the following relation between the volume and pressure derivatives, where the pressure is assumed to relax towards the external pressure with a time scale \(\tau_{rarefaction}\):
\[\frac{dV}{dt} = - \frac{V}{k P} \frac{dP}{dt} = \frac{V}{k P} \frac{P - P_{ext}}{\tau_{rarefaction}}\]where:
\(k\) is the polytropic index,
\(P_{ext}\) is the external pressure, in Pa,
\(\tau_{rarefaction}\) is the rarefaction time scale, in s.
Balance equation for species mass fractions:
\[\frac{dY_k}{dt} = \frac{W_k \dot{\omega_k}}{\rho}\]where:
\(Y_k\) the mass fraction of species \(k\),
\(W_k\) the molecular weight of species \(k\), in kg/kmol,
\(\omega_k\) the production rate of species \(k\), in kmol/m^3/s,
\(\rho\) the density, in kg/m^3.
Balance equation for the electron energy:
\[\rho Y_e c_{v, e} \frac{dT_e}{dt} = - \dot{\omega_e} M_e c_{v, e} T_e + \vec{j} \cdot \vec{E} - \dot{Q}_{elas} - \dot{Q}_{inel} - \frac{P_e}{V} \frac{dV}{dt}\]where:
\(c_{v, e}\) the specific heat at constant volume of the electrons, in J/kg/K,
\(Y_e\) the mass fraction of electrons,
\(T_e\) the electron temperature, in K,
\(\omega_k\) the production rate of electron \(k\), in kmol/m^3/s,
\(M_e\) the molecular weight of the electron, in kg/kmol,
\(\vec{j}\) the current density, in A/m^2,
\(\vec{E}\) the electric field, in V/m,
\(\dot{Q}_{elas}\) the heat production rate due to elastic collisions, in W/m^3,
\(\dot{Q}_{inel}\) the heat production rate due to inelastic collisions, in W/m^3,
\(P_e\) the electron partial pressure, in Pa,
\(V\) the plasma volume, in m^3.
Balance equation for the gas (heavy species) energy:
\[\rho \bar{c_v} \frac{dT_g}{dt} = - \sum_{k \neq e} W_k u_k \dot{\omega_k} + \dot{Q}_{elas} + \dot{Q}_{inel} - \frac{P_g}{V} \frac{dV}{dt}\]where:
\(\bar{c_v}=\sum_{k \neq e} c_{v, k} Y_k\) the mean specific heat at constant volume of heavies species in the gas, in J/kg/K,
\(u_k\) the internal energy of species \(k\), in J/kg,
\(P_g\) the partial pressure of the gas (heavy species), in Pa.
See also
Examples
0D reactor: native C++ vs Python (and the 1D channel collapsed to a single cell).
0D reactor: native C++ vs Python (and the 1D channel collapsed to a single cell).- plasma#
- plasma_ext#
- mass#
Mass of the plasma [kg]. Assumed constant.
- gap#
Gap between the electrodes [m].
- initial_radius#
Initial radius of the plasma [m].
- initial_base_area#
Initial base area of the plasma [m^2].
- initial_volume#
Initial volume of the plasma [m^3].
- electric_circuit#
Electric circuit object.
- nb_reflections#
Number of reflections of the generator voltage wave in the electric circuit to consider.
- polytropic_index#
Polytropic index of the plasma expansion.
If infinite, the volume is constant.
If 1, the temperature is constant.
If equals to the adiabatic index, the process is isentropic.
- plasma_voltage = 0.0#
Stored plasma voltage [V].
- plasma_resistance = 0.0#
Stored plasma resistance [Ohm].
- plasma_radius#
Stored plasma radius [m].
- k#
Stored polytropic index.
- P_elastic = 0.0#
Stored elastic power [W/m^3].
- P_inelastic = 0.0#
Stored inelastic power [W/m^3].
- P_chemical = 0.0#
Stored chemical power due to heavy species production/consumption [W/m^3].
- P_chemical_e = 0.0#
Stored chemical power due to electron production/consumption [W/m^3].
- P_Joule = 0.0#
Stored Joule power [W/m^3].
- cond_maxwell_1 = 0.0#
Stored condition for maxwellian distribution [1].
- cond_maxwell_2 = 0.0#
Stored condition for maxwellian distribution [2].