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
Given that many of the transport variables share a lot of the same computation and many are often needed to be calculated simultaneously, this class can be initialized once with all of the variables necessary for calculation. It then provides all of the functionality as methods (please refer to their documentation).
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 ‘He4 +1’ for singly ionized helium4). If no charge state information is provided, then the particles are assumed to be singly charged.
 Z (
int
ornp.inf
, optional) – The ion charge state. Overrides particle charge state if included. Different theories support different values ofZ
. For the original Braginskii model,Z
can be any of [1, 2, 3, 4, infinity]. The JiHeld model supports arbitraryZ
. Average ionization statesZ_mean
can be input using this input and the JiHeld 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’,
 ’SpitzerHarm’,
 ’EpperleinHaines’ (not yet implemented),
 ’JiHeld’.
 field_orientation (string, defaults to
parallel
) – 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))
. Does not apply to viscosities.  coulomb_log_ei (float or dimensionless
Quantity
, optional) – Force a particular value to be used for the electronion Coulomb logarithm (test electrons on field ions). IfNone
,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\) wheremu
is the reduced mass.  coulomb_log_ii (float or dimensionless
Quantity
, optional) – Force a particular value to be used for the ionion Coulomb logarithm (test ions on field ions). IfNone
, the PlasmaPy functionCoulomb_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\) wheremu
is the reduced mass.  hall_e (float or dimensionless
Quantity
, optional) – Force a particular value to be used for the electron Hall parameter. IfNone
,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. IfNone
,Hall_parameter
will be used. Useful for comparing calculations.  mu (optional, float or dimensionless
astropy.units.Quantity
) – JiHeld model only, may be used to include ionelectron effects on the ion transport coefficients. Defaults to zero, thus disabling these effects.  theta (optional, float or dimensionless
Quantity
) – JiHeld model only, may be used to include ionelectron effects on the ion transport coefficients. Defaults to T_e / T_i. Only has effect if mu is nonzero.
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.62129725e07, 4.60724824e07, 4.60724824e07, 0.00000000e+00, 0.00000000e+00] Pa s> >>> t.electron_viscosity() <Quantity [5.82273805e09, 5.82082061e09, 5.82082061e09, 0.00000000e+00, 0.00000000e+00] Pa s>
References
[1] Braginskii, S. I. “Transport processes in a plasma.” Reviews of plasma physics 1 (1965): 205. (1965) [2] Spitzer Jr, Lyman, and Richard Härm. “Transport phenomena in a completely ionized gas.” Physical Review 89.5 (1953): 977. (1953) [3] Physics of Fully Ionized Gases, L. Spitzer (1962) [4] 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): 10291041. [5] Ji, JeongYoung, and Eric D. Held. “Closure and transport theory for highcollisionality electronion 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
() > Unit("W / (K m)")¶ Calculate the thermal conductivity for electrons.
Notes
This is quite similar to the ion thermal conductivity, except that it’s for the plasma electrons. In a typical unmagnetized plasma, the electron thermal conductivity is much higher than the ions and will dominate, due to the electrons’ low mass and fast speeds.
In a strongly magnetized plasma, following the classical transport analysis, you calculate that the perpendicularfield thermal conductivity becomes greatly reduced for the ions and electrons, with the electrons actually being restrained even more than the ions due to their low mass and small gyroradius. In reality, the electrons and ions are pulling on each other strongly due to their opposing charges, so you have the situation of ambipolar diffusion.
This situation has been likened to an energetic little child (the electrons) not wanting to be pulled away from the playground (the magnetic field) by the parents (the ions).
The ultimate rate must typically be in between the individual rates for electrons and ions, so at least you can get some bounds from this type of analysis.
Returns: Return type: astropy.units.quantity.Quantity See also

electron_viscosity
() > Unit("Pa s")¶ Calculate the electron viscosity.
Notes
This is the dynamic viscosity that you find for electrons in the classical plasma, similar to the viscosity of air or water or honey. The big effect is the T^5/2 dependence, so as classical plasmas get hotter they become dramatically more viscous. The ion viscosity typically dominates over the electron viscosity.
Returns: Return type: astropy.units.quantity.Quantity See also

ion_thermal_conductivity
() > Unit("W / (K m)")¶ Calculate the thermal conductivity for ions.
Notes
This is the classical plasma ions’ ability to conduct energy and heat, defined similarly to other materials. The result is a conductivity in units of W / m / K, so if you assume you know where the heat is flowing (temperature gradient, crosssectional area) you can calculate the energy transport in Watts as conductivity * crosssectional area * temperature gradient. In lab plasmas, typically the energy is flowing out of your hightemperature plasma to something else, like the walls of your device, and you are sad about this.
Returns: Return type: astropy.units.quantity.Quantity See also

ion_viscosity
() > Unit("Pa s")¶ Calculate the ion viscosity.
Notes
This is the dynamic viscosity that you find for ions in the classical plasma, similar to the viscosity of air or water or honey. The big effect is the T^5/2 dependence, so as classical plasmas get hotter they become dramatically more viscous. The ion viscosity typically dominates over the electron viscosity.
Returns: Return type: astropy.units.quantity.Quantity See also

resistivity
() > Unit("m Ohm")¶ Calculate the resistivity.
Notes
The resistivity here is defined similarly to solid conductors, and thus represents the classical plasmas’ property to resist the flow of electrical current. The result is in units of ohm * m, so if you assume where the current is flowing in the plasma (length and crosssectional area), you could calculate a DC resistance of the plasma in ohms as resistivity * length / crosssectional area.
Experimentalists with plasma discharges may observe different V = IR Ohm’s law behavior than suggested by the resistance calculated here, for reasons such as the occurrence of plasma sheath layers at the electrodes or the plasma not satisfying the classical assumptions.
Returns: Return type: astropy.units.quantity.Quantity

thermoelectric_conductivity
()¶ Calculate the thermoelectric conductivity.
Notes
To be improved.
Returns: Return type: astropy.units.quantity.Quantity