In addition to the Particle class, the particles subpackage has a functional interface.

Symbols and Names

Several functions in particles return string representations of particles, including atomic_symbol, isotope_symbol, ionic_symbol, and element_name.

>>> from plasmapy.particles import *
>>> atomic_symbol('alpha')
>>> isotope_symbol('alpha')
>>> ionic_symbol('alpha')
'He-4 2+'
>>> particle_symbol('alpha')
'He-4 2+'
>>> element_name('alpha')

The full symbol of the particle can be found using particle_symbol.

>>> particle_symbol('electron')

Particle Properties

The atomic_number and mass_number functions are analogous to the corresponding attributes in the Particle class.

>>> atomic_number('iron')
>>> mass_number('T+')

Charge information may be found using integer_charge and electric_charge.

>>> integer_charge('H-')
>>> electric_charge('muon antineutrino')
<Quantity 0. C>

These functions will raise a ChargeError for elements and isotopes that lack explicit charge information.

>>> electric_charge('H')
Traceback (most recent call last):
plasmapy.particles.exceptions.ChargeError: Charge information is required for electric_charge.

The standard atomic weight for the terrestrial environment may be accessed using standard_atomic_weight.

>>> standard_atomic_weight('Pb').to('u')
<Quantity 207.2 u>

The mass of a particle may be accessed through the particle_mass function.

>>> particle_mass('deuteron')
<Quantity 3.34358372e-27 kg>


The relative isotopic abundance of each isotope in the terrestrial environment may be found using isotopic_abundance.

>>> isotopic_abundance('H-1')
>>> isotopic_abundance('D')

A list of all discovered isotopes in order of increasing mass number can be found with known_isotopes.

>>> known_isotopes('H')
['H-1', 'D', 'T', 'H-4', 'H-5', 'H-6', 'H-7']

The isotopes of an element with a non-zero isotopic abundance may be found with common_isotopes.

>>> common_isotopes('Fe')
['Fe-56', 'Fe-54', 'Fe-57', 'Fe-58']

All stable isotopes of an element may be found with stable_isotopes.

>>> stable_isotopes('Pb')
['Pb-204', 'Pb-206', 'Pb-207', 'Pb-208']


The is_stable function returns True for stable particles and False for unstable particles.

>>> is_stable('e-')
>>> is_stable('T')

The half_life function returns the particle’s half-life as a Quantity in units of seconds, if known.

>>> half_life('n')
<Quantity 881.5 s>

For stable particles (or particles that have not been discovered to be unstable), half_life returns infinity seconds.

>>> half_life('p+')
<Quantity inf s>

If the particle’s half-life is not known to sufficient precision, then half_life returns a str with the estimated value while issuing a MissingAtomicDataWarning.

Additional Properties

The reduced_mass function is useful in cases of two-body collisions.

>>> reduced_mass('e-', 'p+')
<Quantity 9.10442514e-31 kg>
>>> reduced_mass('D+', 'T+')
<Quantity 2.00486597e-27 kg>