Particles (plasmapy.particles)


The particles subpackage provides access to information about atoms, ions, isotopes, and other particles.

See Also

  • The mendeleev Python package provides access to properties of elements, isotopes, and ions in the periodic table of elements.




Return the number of protons in an atom, isotope, or ion.


Return the atomic symbol.

common_isotopes([argument, most_common_only])

Return a list of isotopes of an element with an isotopic abundances greater than zero, or if no input is provided, a list of all such isotopes for every element.


Return the electric charge (in coulombs) of a particle.


Return the name of an element.

half_life(particle[, mass_numb])

Return the half-life in seconds for unstable isotopes and particles, and inf in seconds for stable isotopes and particles.


Return the integer charge of a particle.

ionic_symbol(particle[, mass_numb, Z])

Return the ionic symbol of an ion or neutral atom.

is_stable(particle[, mass_numb])

Return True for stable isotopes and particles and False for unstable isotopes.

isotope_symbol(isotope[, mass_numb])

Return the symbol representing an isotope.

isotopic_abundance(isotope[, mass_numb])

Return the isotopic abundances if known, and otherwise zero.

json_load_particle(fp, *[, cls])

Deserialize a JSON document into the appropriate particle object.

json_loads_particle(s, *[, cls])

Deserialize a JSON string into the appropriate particle object.


Return a list of all known isotopes of an element, or a list of all known isotopes of every element if no input is provided.


Get the mass number (the number of protons and neutrons) of an isotope.

nuclear_binding_energy(particle[, mass_numb])

Return the nuclear binding energy associated with an isotope.

nuclear_reaction_energy(*args, **kwargs)

Return the released energy from a nuclear reaction.

particle_input([wrapped_function, require, …])

Convert arguments to methods and functions to Particle objects.

particle_mass(particle, *[, Z, mass_numb])

Return the mass of a particle.

particle_symbol(particle[, mass_numb, Z])

Return the symbol of a particle.

reduced_mass(test_particle, target_particle)

Find the reduced mass between two particles.

stable_isotopes([argument, unstable])

Return a list of all stable isotopes of an element, or if no input is provided, a list of all such isotopes for every element.


Return the standard (conventional) atomic weight of an element based on the relative abundances of isotopes in terrestrial environments.



An abstract base class that defines the interface for particles.


Base class for particles that are defined with physical units.

CustomParticle(mass, charge[, symbol])

A class to represent custom particles.

DimensionlessParticle(*, mass, charge, symbol)

A class to represent dimensionless custom particles.

IonicLevel(ion[, ionic_fraction, number_density])

Representation of the ionic fraction for a single ion.

IonizationState(particle[, ionic_fractions])

Representation of the ionization state distribution of a single element or isotope.

IonizationStateCollection(inputs, …)

Describe the ionization state distributions of multiple elements or isotopes.

Particle(argument, numbers.Integral, …)

A class for an individual particle or antiparticle.

ParticleJSONDecoder(*[, object_hook])

A custom JSONDecoder class to deserialize JSON objects into the appropriate particle objects.


A list like collection of Particle and/or CustomParticle objects.



An object is particle-like if it can be identified as an instance of Particle or CustomParticle, or cast into one.


Create an object with taxonomy information for special particles.


A Particle instance representing an alpha particle (doubly charged helium-4).


A Particle instance representing a positively charged deuterium ion.


A Particle instance representing an electron.


A Particle instance representing a neutron.


A Particle instance representing a positron.


A Particle instance representing a proton.


A Particle instance representing a positively charged tritium ion.

Class Inheritance Diagram

Inheritance diagram of plasmapy.particles.particle_class.AbstractParticle, plasmapy.particles.particle_class.AbstractPhysicalParticle, plasmapy.particles.particle_class.CustomParticle, plasmapy.particles.particle_class.DimensionlessParticle, plasmapy.particles.ionization_state.IonicLevel, plasmapy.particles.ionization_state.IonizationState, plasmapy.particles.ionization_state_collection.IonizationStateCollection, plasmapy.particles.particle_class.Particle, plasmapy.particles.serialization.ParticleJSONDecoder, plasmapy.particles.particle_collections.ParticleList