ClassicalTransport

class plasmapy.physics.transport.braginskii.ClassicalTransport(T_e, n_e, T_i, n_i, ion_particle, m_i=None, Z=None, B=<Quantity 0. T>, model='Braginskii', field_orientation='parallel', coulomb_log_ei=None, V_ei=None, coulomb_log_ii=None, V_ii=None, hall_e=None, hall_i=None, mu=None, theta=None, coulomb_log_method='classical')

Bases: object

Classical transport coefficients (e.g. Braginskii, 1965).

Notes

Classical transport theory is derived by using kinetic theory to close the plasma two-fluid (electron and ion fluid) equations in the collisional limit. The first complete model in this form was done by S. I. Braginskii.

This function uses fitting functions from literature to calculate the transport coefficients, which are the resistivity, thermoelectric conductivity, thermal conductivity, and viscosity.

Keep in mind the following assumptions under which the transport equations are derived:

  1. the plasma is fully ionized, only consisting of ions and electrons
  2. neutral atoms are neglected
  3. turbulent transport does not dominate
  4. the velocity distribution is close to Maxwellian

These are equivalent to the following conditions:

  1. collisional frequency >> gyrofrequency
  2. collisional mean free path << gradient scale length along field
  3. gyroradius << gradient scale length perpendicular to field

When classical transport is not valid, e.g. due to the presence of strong gradients or turbulent transport, the transport is significantly increased by these other effects. Thus, classical transport often serves as a lower bound on the losses / transport encountered in a plasma.

Models implemented:

  • Braginskii [1]

The original Braginskii treatment as presented in the highly cited review paper from 1965. Coefficients are found from expansion of the kinetic equation in Laguerre polynomials, truncated at the second term in their series expansion (k = 2). This theory allows for arbitrary Hall parameter and include results for Z = 1, 2, 3, 4, and infinity (the case of Lorentz gas completely stripped of electrons, and the stationary ion approximation).

These coefficients were obtained from a numerical solution of the Fokker- Planck equation. They give one of the earliest and most accurate (in the Fokker-Planck sense) results for electron transport in simple plasma. They principally apply in the unmagnetized / parallel field case, although for resistivity Spitzer also calculated a famous result for a strong perpendicular magnetic field. Results are for Z = 1, 2, 4, 16, and infinity (Lorentz gas / stationary ion approximation).

  • Epperlein-Haines [4]

Not yet implemented.

This is a modern treatment of the classical transport problem that has been carried out with laudable care. It allows for arbitrary hall parameter and arbitrary Z for all coefficients. Similar to the Epperlein-Haines model, it corrects some known inaccuracies in the original Braginskii results, notably the asymptotic behavior of alpha-cross and beta_perp as Hall -> +infinity. It also studies effects of electron collisions in the ion terms, which all other treatments have not. To neglect electron-electron collisions, leave mu = 0. To consider them, specify mu and theta.

Parameters:
  • T_e (Quantity) – Electron temperature in units of temperature or energy per particle
  • n_e (Quantity) – The electron number density in units convertible to per cubic meter.
  • T_i (Quantity) – Ion temperature in units of temperature or energy per particle
  • n_i (Quantity) – The ion number density in units convertible to per cubic meter.
  • ion_particle (string) – Representation of the ion species (e.g., ‘p’ for protons, ‘e’ for electrons, ‘D+’ for deuterium, or ‘He-4 +1’ for singly ionized helium-4). If no charge state information is provided, then the particles are assumed to be singly charged.
  • Z (int or np.inf, optional) – The ion charge state. Overrides particle charge state if included. Different theories support different values of Z. For the original Braginskii model, Z can be any of [1, 2, 3, 4, infinity]. The Ji-Held model supports arbitrary Z. Average ionization states Z_mean can be input using this input and the Ji-Held model, although doing so may neglect effects caused by multiple ion populations.
  • B (Quantity, optional) – The magnetic field strength in units convertible to tesla. Defaults to zero.
  • model (string) –

    Indication of whose formulation from literature to use. Allowed values are:

    • ’Braginskii’,
    • ’Spitzer-Harm’,
    • ’Epperlein-Haines’ (not yet implemented),
    • ’Ji-Held’.

    See refs [1], [2], [3], [4] and [5].

  • field_orientation (string) – Either of ‘parallel’, ‘par’, ‘perpendicular’, ‘perp’, ‘cross’, or ‘all’, indicating the cardinal orientation of the magnetic field with respect to the transport direction of interest. Note that ‘perp’ refers to transport perpendicular to the field direction (in the direction of the temperature gradient), while ‘cross’ refers to the direction perpendicular to B and the gradient of temperature (\(B \times \nabla(T)\)). The option ‘all’ will return a Numpy array of all three, np.array((par, perp, cross)).
  • coulomb_log_ei (float or dimensionless Quantity, optional) – Force a particular value to be used for the electron-ion Coulomb logarithm (test electrons on field ions). If None, Coulomb_logarithm will be used. Useful for comparing calculations.
  • V_ei (Quantity, optional) – The relative velocity between particles. Supplied to Coulomb_logarithm function, not otherwise used. If not provided, thermal velocity is assumed: \(\mu V^2 \sim 2 k_B T\) where mu is the reduced mass.
  • coulomb_log_ii (float or dimensionless Quantity, optional) – Force a particular value to be used for the ion-ion Coulomb logarithm (test ions on field ions). If None, the PlasmaPy function Coulomb_logarithm will be used. Useful for comparing calculations.
  • V_ii (Quantity, optional) – The relative velocity between particles. Supplied to Coulomb_logarithm function, not otherwise used. If not provided, thermal velocity is assumed: \(\mu V^2 \sim 2 k_B T\) where mu is the reduced mass.
  • hall_e (float or dimensionless Quantity, optional) – Force a particular value to be used for the electron Hall parameter. If None, Hall_parameter will be used. Useful for comparing calculations.
  • hall_i (float or dimensionless Quantity, optional) – Force a particular value to be used for the ion Hall parameter. If None, Hall_parameter will be used. Useful for comparing calculations.
  • mu (optional, float or dimensionless astropy.units.Quantity) – Ji-Held model only, may be used to include ion-electron effects on the ion transport coefficients. Defaults to zero, thus disabling these effects.
  • theta (optional, float or dimensionless Quantity) – Ji-Held model only, may be used to include ion-electron effects on the ion transport coefficients. Defaults to T_e / T_i. Only has effect if mu is non-zero.
Raises:
  • ValueError – On incorrect or unknown values of arguments.
  • plasmapy.utils.PhysicsError – If input or calculated values for Coulomb logarithms are nonphysical.

Examples

>>> from astropy import units as u
>>> t = ClassicalTransport(1*u.eV, 1e20/u.m**3,
...                         1*u.eV, 1e20/u.m**3, 'p')
>>> t.resistivity()
<Quantity 0.00036701 m Ohm>
>>> t.thermoelectric_conductivity()
<Quantity 0.711084>
>>> t.ion_thermal_conductivity()
<Quantity 0.01552066 W / (K m)>
>>> t.electron_thermal_conductivity()
<Quantity 0.38064293 W / (K m)>
>>> t.ion_viscosity()
<Quantity [4.62129725e-07, 4.60724824e-07, 4.60724824e-07, 0.00000000e+00,
           0.00000000e+00] Pa s>
>>> t.electron_viscosity()
<Quantity [5.82273805e-09, 5.82082061e-09, 5.82082061e-09, 0.00000000e+00,
           0.00000000e+00] Pa s>

References

[1](1, 2) Braginskii, S. I. “Transport processes in a plasma.” Reviews of plasma physics 1 (1965): 205. (1965)
[2](1, 2) Spitzer Jr, Lyman, and Richard Härm. “Transport phenomena in a completely ionized gas.” Physical Review 89.5 (1953): 977. (1953)
[3](1, 2) Physics of Fully Ionized Gases, L. Spitzer (1962)
[4](1, 2) Epperlein, E. M., and M. G. Haines. “Plasma transport coefficients in a magnetic field by direct numerical solution of the Fokker–Planck equation.” The Physics of fluids 29.4 (1986): 1029-1041.
[5](1, 2) Ji, Jeong-Young, and Eric D. Held. “Closure and transport theory for high-collisionality electron-ion plasmas.” Physics of Plasmas 20.4 (2013): 042114.

Methods Summary

all_variables() Return all transport variables as a dictionary.
electron_thermal_conductivity() Calculate the thermal conductivity for electrons.
electron_viscosity() Calculate the electron viscosity.
ion_thermal_conductivity() Calculate the thermal conductivity for ions.
ion_viscosity() Calculate the ion viscosity.
resistivity() Calculate the resistivity.
thermoelectric_conductivity() Calculate the thermoelectric conductivity.

Methods Documentation

all_variables() → dict

Return all transport variables as a dictionary.

Returns:
Return type:dict
electron_thermal_conductivity()

Calculate the thermal conductivity for electrons.

Returns:
Return type:astropy.units.quantity.Quantity
electron_viscosity()

Calculate the electron viscosity.

Returns:
Return type:astropy.units.quantity.Quantity
ion_thermal_conductivity()

Calculate the thermal conductivity for ions.

Returns:
Return type:astropy.units.quantity.Quantity
ion_viscosity()

Calculate the ion viscosity.

Returns:
Return type:astropy.units.quantity.Quantity
resistivity()

Calculate the resistivity.

Returns:
Return type:astropy.units.quantity.Quantity
thermoelectric_conductivity()

Calculate the thermoelectric conductivity.

Returns:
Return type:astropy.units.quantity.Quantity