astropy/astropy-tutorials

Add example notebook on confinement of cosmic rays in heliosphere & galaxy using PlasmaPy

namurphy opened this issue · 0 comments

PlasmaPy has a RelativisticBody class which accepts

  • A particle-like, and
  • One of velocity, momentum, total energy, kinetic energy, $\frac{v}{c}$, or Lorentz factor.

It can then convert to the others of velocity, momentum, etc. PlasmaPy also has a gyroradius function which can accept a RelativisticBody. Both of these make use of astropy.units.

With the above functionality, we can do an order of magnitude estimate of the maximum energy of cosmic rays that can be confined by the heliosphere and our galaxy. We'd take a characteristic magnetic field strength for each environment, and then find the energy of each particle corresponding to a gyroradius that's comparable to the size of the system (i.e. the radius of the heliosphere or probably the vertical scale height of the Milky Way).

This may also be a good opportunity to show the limits of numerical precision: for ultra high-energy cosmic rays, the difference between the particle velocity and $c$ is smaller than machine precision, even for NumPy long doubles.

This follows up on a conversation with @kelle, @pllim, @eteq, @hamogu. Thank you!

Corresponding issue: PlasmaPy/PlasmaPy#1538