stable_isotopes

plasmapy.atomic.stable_isotopes(argument: Union[str, int] = None, unstable: bool = False) → List[str]

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.

Parameters:
  • argument (int or str) – A string or integer representing an atomic number or element, or a string representing an isotope.
  • unstable (bool) – If set to True, this function will return a list of the unstable isotopes instead of the stable isotopes.
Returns:

StableIsotopes – List of all stable isotopes of an element, sorted from lowest mass number. If an element has no stable isotopes, this function returns an empty list.

Return type:

list of strings or empty list

Raises:
  • InvalidElementError – If the argument is a valid particle but not a valid element.
  • InvalidParticleError – If the argument does not correspond to a valid particle.
  • TypeError – If the argument is not a string or integer.

Notes

There are 254 isotopes for which no radioactive decay has been observed. It is possible that some isotopes will be discovered to be unstable but with extremely long half-lives. For example, bismuth-209 was recently discovered to have a half-life of about 1.9e19 years. However, such isotopes can be regarded as virtually stable for most applications.

See also

known_isotopes : returns a list of isotopes that
have been discovered
common_isotopes : returns isotopes with non-zero
isotopic abundances

Examples

>>> stable_isotopes('H')
['H-1', 'D']
>>> stable_isotopes(44)
['Ru-96', 'Ru-98', 'Ru-99', 'Ru-100', 'Ru-101', 'Ru-102', 'Ru-104']
>>> stable_isotopes('beryllium')
['Be-9']
>>> stable_isotopes('Pb-209')
['Pb-204', 'Pb-206', 'Pb-207', 'Pb-208']
>>> stable_isotopes(118)
[]

Find unstable isotopes using the unstable keyword.

>>> stable_isotopes('U', unstable=True)[:5]  # only first five
['U-217', 'U-218', 'U-219', 'U-220', 'U-221']