Return the released energy from a nuclear reaction.
- reaction (
str(optional, positional argument only)) – A string representing the reaction, like
"D + T --> alpha + n"or
"Be-8 --> 2 * He-4".
- reactants (
str, optional, keyword-only) – A
tuplecontaining the reactants of a nuclear reaction (e.g.,
['D', 'T']), or a string representing the sole reactant.
- products (
str, optional, keyword-only) – A list or tuple containing the products of a nuclear reaction (e.g.,
['alpha', 'n']), or a string representing the sole product.
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: 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.
- finds the binding energy of an isotope
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.
>>> from astropy import units as u
>>> nuclear_reaction_energy("D + T --> alpha + n") <Quantity 2.8181e-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.471430e-14 J 1.1802573e-12 J >>> energy_triplealpha2.to(u.MeV) <Quantity 7.3665870 MeV>
>>> nuclear_reaction_energy(reactants=['n'], products=['p+', 'e-']) <Quantity 1.25343e-13 J>
- reaction (