.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/particle/nuclear/plot_04_nuclear_fission.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_api_gallery_particle_nuclear_plot_04_nuclear_fission.py: Hahn, Strassmann, Meitner, and Frisch: nuclear fission ========================================================= Late in 1938 Hahn and Strassmann found barium among the products of uranium bombarded with neutrons, a nucleus about half uranium's size. Meitner and Frisch explained it with the liquid-drop model. A uranium nucleus is so highly charged that its Coulomb repulsion nearly cancels the surface tension holding it round. A small kick from an absorbed neutron can stretch it until it splits in two, and the two fragments fly apart with about 200 MeV. This example computes that energy three ways: from measured masses with :func:`~physicskit.particle.nuclear.q_value`, from the liquid-drop binding energies of :func:`~physicskit.particle.nuclear.semf_binding_energy` over every way of splitting the nucleus, and from Meitner and Frisch's own back-of-envelope Coulomb estimate. It then shows why only the heaviest nuclei are close to splitting. .. GENERATED FROM PYTHON SOURCE LINES 23-31 .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from physicskit.constants import AVOGADRO, ELECTRONVOLT from physicskit.particle.nuclear import q_value, semf_binding_energy U = 931.494 .. GENERATED FROM PYTHON SOURCE LINES 32-36 Energy release from masses ------------------------------ One observed channel: :math:`n+{}^{235}\mathrm U\to{}^{141}\mathrm{Ba}+ {}^{92}\mathrm{Kr}+3n`. .. GENERATED FROM PYTHON SOURCE LINES 36-40 .. code-block:: Python m_n, m_U235, m_Ba141, m_Kr92 = 1.008665, 235.043930, 140.914411, 91.926156 Q_masses = q_value([m_U235, m_n], [m_Ba141, m_Kr92] + [m_n] * 3) * U print(f"Q from measured masses (Ba-141 + Kr-92 + 3n): {Q_masses:.1f} MeV") .. rst-class:: sphx-glr-script-out .. code-block:: none Q from measured masses (Ba-141 + Kr-92 + 3n): 173.3 MeV .. GENERATED FROM PYTHON SOURCE LINES 41-48 Every possible split, from the liquid drop ---------------------------------------------- The compound nucleus :sup:`236`\ U splits into fragments :math:`(Z_1,A_1)` and :math:`(92-Z_1, 236-A_1)`, each at the charge that keeps the fragments' charge-to-mass ratio equal to uranium's. The energy release is the gain in total binding energy. It is large and positive for any roughly even split. .. GENERATED FROM PYTHON SOURCE LINES 48-58 .. code-block:: Python B_parent = semf_binding_energy(92, 236) A1 = np.arange(40, 197) Q_split = [] for a in A1: z = int(round(92 * a / 236)) Q_split.append(semf_binding_energy(z, a) + semf_binding_energy(92 - z, 236 - a) - B_parent) Q_split = np.array(Q_split) print(f"liquid-drop Q, symmetric split (A = 118 + 118): {Q_split[A1 == 118][0]:.0f} MeV") print(f"liquid-drop Q, Ba/Kr-like split (A = 141 + 95): {Q_split[A1 == 141][0]:.0f} MeV") .. rst-class:: sphx-glr-script-out .. code-block:: none liquid-drop Q, symmetric split (A = 118 + 118): 188 MeV liquid-drop Q, Ba/Kr-like split (A = 141 + 95): 176 MeV .. GENERATED FROM PYTHON SOURCE LINES 59-64 Meitner and Frisch's Coulomb estimate ----------------------------------------- Two fragments of charge :math:`46e` just touching, radii :math:`1.2A^{1/3}` fm, repel with :math:`Z_1Z_2e^2/(4\pi\varepsilon_0 d)`. That electrostatic energy becomes the fragments' kinetic energy. .. GENERATED FROM PYTHON SOURCE LINES 64-72 .. code-block:: Python R_frag = 1.2 * 118 ** (1 / 3) E_coulomb = 1.44 * 46 * 46 / (2 * R_frag) print(f"Coulomb energy of two touching Pd-118 fragments: {E_coulomb:.0f} MeV (order 200 MeV)") energy_per_gram = AVOGADRO / 235.0 * Q_masses * 1e6 * ELECTRONVOLT print(f"\nfissioning 1 g of U-235 releases {energy_per_gram:.1e} J, about {energy_per_gram / 4.2e9:.0f} tonnes of TNT") print(f"per atom, about {Q_masses * 1e6 / 5:.0e} times a chemical bond energy (~5 eV)") .. rst-class:: sphx-glr-script-out .. code-block:: none Coulomb energy of two touching Pd-118 fragments: 259 MeV (order 200 MeV) fissioning 1 g of U-235 releases 7.1e+10 J, about 17 tonnes of TNT per atom, about 3e+07 times a chemical bond energy (~5 eV) .. GENERATED FROM PYTHON SOURCE LINES 73-82 The fissility parameter --------------------------- Stretching a liquid drop slightly raises its surface energy by :math:`\tfrac25\epsilon^2E_S` and lowers its Coulomb energy by :math:`\tfrac15\epsilon^2E_C`. The drop has no barrier at all once :math:`E_C > 2E_S`, i.e. when the fissility :math:`x=E_C/(2E_S)=a_CZ^2/(2a_SA)` reaches 1, at :math:`Z^2/A\approx50`. Uranium sits at :math:`x\approx0.7`: close enough for a captured neutron's energy to push it over. .. GENERATED FROM PYTHON SOURCE LINES 82-104 .. code-block:: Python a_C, a_S = 0.711, 17.8 nuclei = {"Fe-56": (26, 56), "Sn-120": (50, 120), "Pb-208": (82, 208), "U-236": (92, 236), "Pu-240": (94, 240), "Fm-256": (100, 256)} x = {name: a_C * Z**2 / (2 * a_S * A) for name, (Z, A) in nuclei.items()} for name, xv in x.items(): print(f" {name:7s} fissility x = {xv:.2f}") fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4.2)) ax1.plot(A1, Q_split, color="firebrick") ax1.axhline(Q_masses, color="steelblue", ls="--", label=f"measured Ba-141 + Kr-92 channel ({Q_masses:.0f} MeV)") ax1.set_xlabel("mass number of one fragment $A_1$") ax1.set_ylabel("energy released Q [MeV]") ax1.set_title(r"Splitting $^{236}$U: liquid-drop Q for every split") ax1.legend(fontsize=8) ax2.bar(list(x), list(x.values()), color=["0.6", "0.6", "0.6", "firebrick", "firebrick", "firebrick"]) ax2.axhline(1.0, color="k", ls="--", label="x = 1: no barrier left") ax2.set_ylabel(r"fissility $x = E_C / 2E_S$") ax2.set_title("Only the heaviest drops are close to splitting") ax2.legend(fontsize=8) fig.tight_layout() plt.show() .. image-sg:: /api/gallery/particle/nuclear/images/sphx_glr_plot_04_nuclear_fission_001.png :alt: Splitting $^{236}$U: liquid-drop Q for every split, Only the heaviest drops are close to splitting :srcset: /api/gallery/particle/nuclear/images/sphx_glr_plot_04_nuclear_fission_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none Fe-56 fissility x = 0.24 Sn-120 fissility x = 0.42 Pb-208 fissility x = 0.65 U-236 fissility x = 0.72 Pu-240 fissility x = 0.74 Fm-256 fissility x = 0.78 .. GENERATED FROM PYTHON SOURCE LINES 105-109 Check ----- U-235 + n -> Ba-141 + Kr-92 + 3n releases ~173 MeV (7e10 J per gram, ~3e7 times a chemical bond); fissility grows with Z^2 / A. .. GENERATED FROM PYTHON SOURCE LINES 109-112 .. code-block:: Python assert 170 < Q_masses < 177 and abs(energy_per_gram / 7.1e10 - 1) < 0.02 fissility = np.array(list(x.values())) assert np.all(np.diff(fissility) > 0) and 0.7 < x["U-236"] < 0.75 .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.069 seconds) .. _sphx_glr_download_api_gallery_particle_nuclear_plot_04_nuclear_fission.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_04_nuclear_fission.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_04_nuclear_fission.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_04_nuclear_fission.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_