nuclear_reaction_energy

plasmapy.atomic.nuclear_reaction_energy(*args, **kwargs)

Return the released energy from a nuclear reaction.

Parameters:
  • reaction (str (optional, positional argument only)) – A string representing the reaction, like “D + T –> alpha + n” or “Be-8 –> 2*He-4”
  • reactants (list, tuple, or str (optional, keyword argument only)) – A list or tuple containing the reactants of a nuclear reaction (e.g., [‘D’, ‘T’]), or a string representing the sole reactant.
  • products (list, tuple, or str (optional, keyword argument only)) – A list or tuple containing the products of a nuclear reaction (e.g., [‘alpha’, ‘n’]), or a string representing the sole product.
Returns:

energy – The difference between the mass energy of the reactants and the mass energy of the products in a nuclear reaction. This quantity will be positive if the reaction is exothermic (releases energy) and negative if the reaction is endothermic (absorbs energy).

Return type:

Quantity

Raises:
  • AtomicError: – If the reaction is not valid, there is insufficient information to determine an isotope, the baryon number is not conserved, or the charge is not conserved.
  • TypeError: – If the positional input for the reaction is not a string, or reactants and/or products is not of an appropriate type.

See also

nuclear_binding_energy : finds the binding energy
of an isotope

Notes

This function requires either a string containing the nuclear reaction, or reactants and products as two keyword-only lists containing strings representing the isotopes and other particles participating in the reaction.

Examples

>>> from astropy import units as u
>>> nuclear_reaction_energy("D + T --> alpha + n")
<Quantity 2.81812097e-12 J>
>>> triple_alpha1 = '2*He-4 --> Be-8'
>>> triple_alpha2 = 'Be-8 + alpha --> carbon-12'
>>> energy_triplealpha1 = nuclear_reaction_energy(triple_alpha1)
>>> energy_triplealpha2 = nuclear_reaction_energy(triple_alpha2)
>>> print(energy_triplealpha1, energy_triplealpha2)
-1.4714307834388437e-14 J 1.18025735267267e-12 J
>>> energy_triplealpha2.to(u.MeV)
<Quantity 7.36658704 MeV>
>>> nuclear_reaction_energy(reactants=['n'], products=['p+', 'e-'])
<Quantity 1.25343511e-13 J>