rizer.plasma.resistance_models#
Attributes#
Classes#
Functions#
|
Compute the shock radius as a function of time. |
Module Contents#
- rizer.plasma.resistance_models.u#
- rizer.plasma.resistance_models.shock_radius(t: rizer.misc.type.T_float_or_array, gamma: float = 1.4, r_0: float = 5e-05, T_0: float = 3000, P_0: float = 100000.0, M: float = 0.028, E: float = 0.0022, d: float = 0.005) rizer.misc.type.T_float_or_array#
Compute the shock radius as a function of time.
This model is based on the Vlases-Jones and Lee piston model. For more information, see Eq.6.2.3 from Castera [Castera2015].
It is assumed that the shock is cylindrical and that the energy is released uniformly and instantaneously in the shock.
Data used are for air, in the case of [Minesi2022].
- Parameters:
t (
np.ndarray) – time [s]gamma (
float, optional) – Heat capacity ratio, by default 1.4r_0 (
float, optional) – Initial radius [m], by default 50e-6T_0 (
float, optional) – Initial temperature [K], by default 3000P_0 (
float, optional) – Initial pressure [Pa], by default 1e5M (
float, optional) – Molar mass [kg/mol], by default 28e-3E (
float, optional) – Energy released in the shock [J], by default 2.2e-3d (
float, optional) – Inter-electrode distance [m], by default 5e-3
- Returns:
shock radius [m]
- Return type:
np.ndarray
- class rizer.plasma.resistance_models.SparkResistance(n_e_0: rizer.misc.type.T_float_or_array, T_e_0: rizer.misc.type.T_float_or_array)#
- n_e: Callable#
- T_e: Callable#
- T_h = 3000#
- P = 100000.0#
- cross_section#
- ne_model = 'constant'#
- Te_model = 'constant'#
- get_electron_density(t: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#
Get the electron density in m^-3 as a function of time.
- Parameters:
t (
T_float_or_array) – Time [s].- Returns:
Electron density [m^-3].
- Return type:
T_float_or_array
- set_electron_density(ne_model: str = 'constant', ne_constant: float | None = None, ne_exp: Callable | None = None)#
Set the electron density.
- Parameters:
ne_model (
str) – Model for the electron density.ne_constant (
float | None, optional) – Constant electron density in cm^-3, by default Nonene_exp (
typing.Callable) – Experimental function for the electron density.
- Raises:
ValueError – Model not recognized.
ValueError – Experimental function must be a Callable.
- get_electron_temperature(t: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#
Get the electron temperature in K in m^-3 as a function of time.
- Parameters:
t (
float) – Time [s].- Returns:
Electron temperature [K].
- Return type:
T_float_or_array
- set_electron_temperature(Te_model: str = 'constant', Te_constant: float | None = None, Te_exp: Callable | None = None)#
Set the electron temperature as a function of time.
- Parameters:
Te_model (
str) – Model for the electron temperature.Te_constant (
float | None) – Electron temperature in eV.Te_exp (
typing.Callable) – Experimental function for the electron temperature.
- coulomb_logarithm(t: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#
Compute the logarithm of the Coulomb logarithm, from [Raizer1991].
- Parameters:
t (
T_float_or_array) – Time [s].- Returns:
Coulomb logarithm [-].
- Return type:
T_float_or_array
- coulomb_cross_section(t: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#
Compute the Coulomb cross section, from [Raizer1991].
- Parameters:
t (
T_float_or_array) – Time [s].- Returns:
Coulomb cross section [m^2].
- Return type:
T_float_or_array
- strongly_ionized_plasma_conductivity(t: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#
Compute the electrical conductivity of the plasma, from Eq. 2.9 of [Raizer1991].
Here, the conductivity computation is based on Spitzer model. See [WikiSpitzerResistivity] for more information.
Note that the prefactor used by Raizer is 1.9e2 Ohm^(-1) . cm^(-1) . eV^(-3/2), which corresponds to 1.53e-2 Ohm^(-1) . m^(-1) . K^(-3/2).
- Returns:
Electrical conductivity [Ohm^-1 cm^-1].
- Return type:
T_float_or_array
- weakly_ionized_plasma_conductivity(t: rizer.misc.type.T_float_or_array) rizer.misc.type.T_float_or_array#
Compute the electrical conductivity of the plasma, from [Raizer1991].
Computation based on equation 2.7 from [Raizer1991].
- Returns:
Electrical conductivity [Ohm^-1 cm^-1].
- Return type:
T_float_or_array
- resistance(L: float, t: rizer.misc.type.T_float_or_array, conductivity_model: str = 'strongly-ionized', radius_model: str = 'shock', r_constant: float | None = None, shock_options: dict = {}) rizer.misc.type.T_float_or_array#
Compute the resistance of the plasma for a given time.
The resistance is computed using the formula: R = L / (pi * r^2 * sigma)
Implicit assumptions are made: - The plasma is cylindrical and homogeneous (same conductivity everywhere). - The plasma is stationary.
- Parameters:
L (
float) – Interelectrode distance [m].t (
T_float_or_array) – Time [s].conductivity_model (
str) – Model for the plasma conductivity.radius_model (
str) – Model for the shock radius.r_constant (
float | None) – Constant radius [m].**shock_options (
dict) – Options for the shock radius model. For more information, see the shock_radius function.
- Returns:
Resistance [Ohm].
- Return type:
T_float_or_array
- rizer.plasma.resistance_models.n_e = 2e+17#