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:
objectClassical 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:
- the plasma is fully ionized, only consisting of ions and electrons
- neutral atoms are neglected
- turbulent transport does not dominate
- the velocity distribution is close to Maxwellian
These are equivalent to the following conditions:
- collisional frequency >> gyrofrequency
- collisional mean free path << gradient scale length along field
- 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.
- Ji-Held [5]
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 (
intornp.inf, optional) – The ion charge state. Overrides particle charge state if included. Different theories support different values ofZ. For the original Braginskii model,Zcan be any of [1, 2, 3, 4, infinity]. The Ji-Held model supports arbitraryZ. Average ionization statesZ_meancan 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’.
- 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). IfNone,Coulomb_logarithmwill be used. Useful for comparing calculations. - V_ei (Quantity, optional) – The relative velocity between particles. Supplied to
Coulomb_logarithmfunction, not otherwise used. If not provided, thermal velocity is assumed: \(\mu V^2 \sim 2 k_B T\) wheremuis 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). IfNone, the PlasmaPy functionCoulomb_logarithmwill be used. Useful for comparing calculations. - V_ii (Quantity, optional) – The relative velocity between particles. Supplied to
Coulomb_logarithmfunction, not otherwise used. If not provided, thermal velocity is assumed: \(\mu V^2 \sim 2 k_B T\) wheremuis the reduced mass. - hall_e (float or dimensionless
Quantity, optional) – Force a particular value to be used for the electron Hall parameter. IfNone,Hall_parameterwill 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. IfNone,Hall_parameterwill 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
-
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