plasmapy.formulary.distribution.kappa_velocity_3D(vx, vy, vz, T, kappa, particle: str | int | integer | Particle | CustomParticle | Quantity = 'e-', vx_drift=0, vy_drift=0, vz_drift=0, vTh=nan, units='units', *, mass_numb=None, Z=None)[source]

Return the probability density function for finding a particle with velocity components v_x, v_y, and v_z in m/s in a suprathermal plasma of temperature T and parameter kappa which follows the 3D Kappa distribution function. This function assumes Cartesian coordinates.

  • vx (Quantity) – The velocity in x-direction units convertible to m/s.

  • vy (Quantity) – The velocity in y-direction units convertible to m/s.

  • vz (Quantity) – The velocity in z-direction units convertible to m/s.

  • T (Quantity) – The temperature, preferably in kelvin.

  • kappa (Quantity) – The kappa parameter is a dimensionless number which sets the slope of the energy spectrum of suprathermal particles forming the tail of the Kappa velocity distribution function. kappa must be greater than \(3/2\).

  • particle (str, optional) – Representation of the particle species(e.g., ‘p+’ for protons, ‘D+’ for deuterium, or ‘He-4 +1’ for \(He_4^{+1}\) : singly ionized helium-4)), which defaults to electrons.

  • vx_drift (Quantity, optional) – The drift velocity in x-direction units convertible to m/s.

  • vy_drift (Quantity, optional) – The drift velocity in y-direction units convertible to m/s.

  • vz_drift (Quantity, optional) – The drift velocity in z-direction units convertible to m/s.

  • vTh (Quantity, optional) – Thermal velocity (most probable) in m/s. This is used for optimization purposes to avoid re-calculating vTh, for example when integrating over velocity-space.

  • units (str, optional) – Selects whether to run function with units and unit checks (when equal to “units”) or to run as unitless (when equal to “unitless”). The unitless version is substantially faster for intensive computations.

  • mass_numb (integer, keyword-only, optional) – The mass number associated with particle.

  • Z (real number, keyword-only, optional) – The charge number associated with particle.


f – Probability density in units of inverse velocity, normalized so that: \(\iiint_{0}^∞ f(\vec{v}) d\vec{v} = 1\)

Return type:


  • TypeError – If any of the parameters is not a Quantity and cannot be converted into one.

  • UnitConversionError – If the parameters is not in appropriate units.

  • ValueError – If the temperature is negative, or the particle mass or charge state cannot be found.


In three dimensions, the Kappa velocity distribution function describing the distribution of particles with speed \(v\) in a plasma with temperature \(T\) and suprathermal parameter \(κ\) is given by:

\[f = A_κ \left(1 + \frac{(\vec{v} - \vec{V_{drift}})^2}{κ v_{Th},κ^2}\right)^{-(κ + 1)}\]

where \(v_{Th},κ\) is the kappa thermal speed and \(A_κ = \frac{1}{2 π (κ v_{Th},κ^2)^{3/2}} \frac{Γ(κ + 1)}{Γ(κ - 1/2) Γ(3/2)}\) is the normalization constant.

As \(κ → ∞\), the kappa distribution function converges to the Maxwellian distribution function.


>>> import astropy.units as u
>>> v = 1 * u.m / u.s
>>> kappa_velocity_3D(
...     vx=v,
...     vy=v,
...     vz=v,
...     T=30000 * u.K,
...     kappa=4,
...     particle="e-",
...     vx_drift=0 * u.m / u.s,
...     vy_drift=0 * u.m / u.s,
...     vz_drift=0 * u.m / u.s,
... )
<Quantity 3.7833...e-19 s3 / m3>