Specifying the plasma¶
A species is specified using a range of keyword arguments upon initialization of a Species object, for instance:
Species(Z=1, amu=16, n=1e11, T=1000)
This is a singly charged ion (
) with a mass of
(atomic mass units), which corresponds to the most abundant oxygen isotope.
The density is
, and it is Maxwellian distributed with a temperature of
and no drift-velocity.
The full set of keywords is given below:
| Quantity | Keyword | Units | Default value |
|---|---|---|---|
| Charge | q |
Coulombs | elementary charge |
Z |
elementary charges | ||
| Mass | m |
kilograms | electron mass |
amu |
atomic mass units | ||
| Density | n |
partices per cubic meter | ![]() |
| Temperature/thermal speed | T |
Kelvin | ![]() |
eV |
electron-volts | ||
vth |
meters per second | ||
| Spectral index kappa | kappa |
dimensionless | float('inf') |
| Spectral index alpha | alpha |
dimensionless | 0 |
Kappa, Cairns or Kappa-Cairns distributed particles are obtained by specifying kappa, alpha, or both, respectively. Maxwell, Kappa and Cairns distributions are all limiting cases of the Kappa-Cairns distribution [Darian].
For convenience, the following subclasses of Species exist:
ElectronProtonPositronAntiprotonVogonHydrogenHeliumLithium- and similar for the rest of the periodic table
The only difference from Species is that these have different default charge and mass to represent the named element. Oxygen for instance, defaults to singly charged oxygen of the most abundant isotope. Hence the example in the beginning of this section could also have been written:
Oxygen(n=1e11, T=1000)
Finally, a multi-species plasma is represented as a list of its constituents. A typical Oxygen plasma would for instance be:
plasma = [
Electron(n=1e11, T=1000),
Oxygen(n=1e11, T=1000)
]
Quick computations of plasma parameters¶
The Langmuir library is also suitable for doing quick computations of fundamental plasma parameters, since Species computes these upon initialization. One example is calculating the electron Debye length of a certain plasma:
>>> Electron(n=1e11, T=1000).debye
0.00690089806774598
The Species class defines the following useful members:
| Member | Description |
|---|---|
debye |
The Debye length |
omega_p |
The angular plasma frequency |
freq_p |
The linear plasma frequency |
period_p |
The plasma period |
omega_c(B) |
The angular cyclotron frequency |
freq_c(B) |
The linear cyclotron frequency |
period_c(B) |
The cyclotron period |
larmor(B) |
The larmor radius |
The latter four members are methods which take the magnitude of the magnetic flux density as an argument. In addition, every valid keyword argument of the constructor is also a valid member. This may conveniently be used for instance to convert a temperature from electron-volts to Kelvin:
>>> Species(eV=0.2).T
2320.9036243100163
In this case we only specified the input eV, since we know that temperature do not depend on density.
Finally, the total Debye length of a plasma consisting of multiple species can be obtained using the debye() function. For the oxygen plasma mentioned previously:
>>> debye(plasma)
0.004879671013271479
Note that Langmuir uses the correct expression for the Debye length also for general Kappa-Cairns distributed plasmas [Darian].

