rizer.plasma.resistance_models#

Attributes#

u

n_e

Classes#

Functions#

shock_radius(→ rizer.misc.type.T_float_or_array)

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.4

  • r_0 (float, optional) – Initial radius [m], by default 50e-6

  • T_0 (float, optional) – Initial temperature [K], by default 3000

  • P_0 (float, optional) – Initial pressure [Pa], by default 1e5

  • M (float, optional) – Molar mass [kg/mol], by default 28e-3

  • E (float, optional) – Energy released in the shock [J], by default 2.2e-3

  • d (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 None

  • ne_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#