nuclear_reaction_energy
- plasmapy.particles.nuclear.nuclear_reaction_energy(*args, **kwargs) Quantity [source]
Return the released energy from a nuclear reaction.
- Parameters:
reaction (
str
, optional, positional-only) – A string representing the reaction, like"D + T --> alpha + n"
or"Be-8 --> 2 * He-4"
.reactants (particle-like or particle-list-like, keyword-only, optional) – A
list
ortuple
containing the reactants of a nuclear reaction (e.g.,['D', 'T']
), or a string representing the sole reactant.products (particle-like or particle-list-like, keyword-only, optional) – 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:
- Raises:
ParticleError – 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.
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
>>> import astropy.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>