gyroradius
- plasmapy.formulary.lengths.gyroradius(B: Unit("T"), particle: str | ~numbers.Integral | ~plasmapy.particles.particle_class.Particle | ~plasmapy.particles.particle_class.CustomParticle | ~astropy.units.quantity.Quantity, *, Vperp: Unit("m / s") = <Quantity nan m / s>, T: Unit("K") = None, lorentzfactor=nan, relativistic: bool = True, mass_numb=None, Z=None) -> Unit("m")[source]
Return the particle gyroradius.
- Parameters:
B (
Quantity
) – The magnetic field magnitude in units convertible to tesla.particle (
Particle
) – Representation of the particle species (e.g.,'p'
for protons,'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.Vperp (
Quantity
, optional, keyword-only) – The component of particle velocity that is perpendicular to the magnetic field in units convertible to meters per second.T (
Quantity
, optional, keyword-only) – The particle temperature in units convertible to kelvin.lorentzfactor (
float
orndarray
, optional, keyword-only) – The Lorentz factor for the particles, use for high precision.relativistic (
bool
, optional, keyword-only) – Whether or not you want to use a relativistic approximation.True
by default.mass_numb (integer, keyword-only, optional) – The mass number associated with
particle
.Z (real number, keyword-only, optional) – The charge number associated with
particle
.
- Returns:
r_Li – The particle gyroradius in units of meters. This
Quantity
will be based on either the perpendicular component of particle velocity as inputted, or the most probable speed for a particle within a Maxwellian distribution for the particle temperature. It is relativistically accurate.- Return type:
- Raises:
TypeError – The arguments are of an incorrect type.
UnitConversionError – The arguments do not have appropriate units.
ValueError – If any argument contains invalid values.
- Warns:
UnitsWarning
– If units are not provided, SI units are assumed.
Notes
One but not both of
Vperp
andT
must be inputted.lorentzfactor
can be inferred fromVperp
orT
but near the speed of light, this can lead to rounding errors.If any of
B
,Vperp
, orT
is a number rather than aQuantity
, then SI units will be assumed and a warning will be raised.The particle gyroradius is also known as the particle Larmor radius and is given by
\[r_{Li} = \frac{γ V_⟂}{ω_{ci}}\]where \(V_⟂\) is the component of particle velocity that is perpendicular to the magnetic field, \(ω_{ci}\) is the particle gyrofrequency, and \(γ\) is the Lorentz factor. If a temperature is provided, then \(V_⟂\) will be the most probable thermal velocity of a particle at that temperature. The
relativistic
keyword can be set toFalse
to avoid the relativistic correction.Examples
>>> import astropy.units as u >>> gyroradius(0.2*u.T, particle='p+', T=1e5*u.K) <Quantity 0.002120... m> >>> gyroradius(5*u.uG, particle='alpha', T=1*u.eV) <Quantity 288002.38... m> >>> gyroradius(400*u.G, particle='Fe+++', Vperp=1e7*u.m/u.s) <Quantity 48.25815... m> >>> gyroradius(0.01*u.T, 'e-', Vperp=1e6*u.m/u.s) <Quantity 0.000568... m> >>> gyroradius(0.2*u.T, 'e-', T=1e5*u.K) <Quantity 4.94957...e-05 m> >>> gyroradius(400*u.G, 'e-', Vperp=1e7*u.m/u.s) <Quantity 0.001422... m> >>> gyroradius(400*u.G, 'e-', Vperp=1e7*u.m/u.s, relativistic=False) <Quantity 0.001421... m>