Path: blob/main/latex-templates/templates/nuclear-physics/binding_energy.tex
75 views
unlisted
\documentclass[a4paper, 11pt]{article}1\usepackage[utf8]{inputenc}2\usepackage[T1]{fontenc}3\usepackage{amsmath, amssymb, amsthm}4\usepackage{graphicx}5\usepackage{booktabs}6\usepackage{siunitx}7\usepackage{subcaption}8\usepackage[makestderr]{pythontex}910\newtheorem{definition}{Definition}11\newtheorem{theorem}{Theorem}12\newtheorem{example}{Example}13\newtheorem{remark}{Remark}1415\title{Nuclear Binding Energy: Semi-Empirical Mass Formula and Nuclear Stability}16\author{Nuclear Physics Computation Laboratory}17\date{\today}1819\begin{document}20\maketitle2122\begin{abstract}23This technical report presents comprehensive computational analysis of nuclear binding energies using the semi-empirical mass formula (SEMF). We implement the Bethe-Weizs\"acker model with volume, surface, Coulomb, asymmetry, and pairing terms to predict nuclear masses and stability. The analysis includes the valley of stability, Q-values for nuclear reactions, and separation energies. Applications span nuclear structure, stellar nucleosynthesis, and nuclear energy production.24\end{abstract}2526\section{Theoretical Framework}2728\begin{definition}[Nuclear Binding Energy]29The binding energy $B(A,Z)$ is the energy required to disassemble a nucleus into free nucleons:30\begin{equation}31B(A,Z) = [Zm_p + Nm_n - M(A,Z)]c^232\end{equation}33where $A = Z + N$ is the mass number, $Z$ is the proton number, and $N$ is the neutron number.34\end{definition}3536\begin{theorem}[Semi-Empirical Mass Formula]37The nuclear binding energy can be approximated as:38\begin{equation}39B(A,Z) = a_V A - a_S A^{2/3} - a_C \frac{Z(Z-1)}{A^{1/3}} - a_A \frac{(A-2Z)^2}{A} + \delta(A,Z)40\end{equation}41where the terms represent volume, surface, Coulomb, asymmetry, and pairing contributions.42\end{theorem}4344\subsection{Physical Interpretation of Terms}4546\begin{itemize}47\item \textbf{Volume}: $a_V A$ --- saturated nuclear force, proportional to nucleon number48\item \textbf{Surface}: $-a_S A^{2/3}$ --- surface nucleons have fewer neighbors49\item \textbf{Coulomb}: $-a_C Z(Z-1)/A^{1/3}$ --- electrostatic repulsion of protons50\item \textbf{Asymmetry}: $-a_A (N-Z)^2/A$ --- Pauli exclusion principle effect51\item \textbf{Pairing}: $\delta(A,Z)$ --- spin-pairing effects52\end{itemize}5354\begin{example}[Pairing Term]55The pairing term depends on nucleon parity:56\begin{equation}57\delta(A,Z) = \begin{cases}58+a_P A^{-1/2} & \text{even-even (Z, N both even)} \\590 & \text{odd A} \\60-a_P A^{-1/2} & \text{odd-odd (Z, N both odd)}61\end{cases}62\end{equation}63\end{example}6465\section{Computational Analysis}6667\begin{pycode}68import numpy as np69import matplotlib.pyplot as plt70from scipy.optimize import minimize_scalar71plt.rc('text', usetex=True)72plt.rc('font', family='serif', size=10)7374# SEMF parameters (MeV) - standard values75a_V = 15.75 # Volume coefficient76a_S = 17.8 # Surface coefficient77a_C = 0.711 # Coulomb coefficient78a_A = 23.7 # Asymmetry coefficient79a_P = 11.18 # Pairing coefficient8081# Physical constants82m_p = 938.272 # Proton mass (MeV/c^2)83m_n = 939.565 # Neutron mass (MeV/c^2)84m_e = 0.511 # Electron mass (MeV/c^2)8586def pairing_term(A, Z):87"""Calculate pairing term."""88N = A - Z89if A == 0:90return 091if Z % 2 == 0 and N % 2 == 0:92return a_P / np.sqrt(A)93elif Z % 2 == 1 and N % 2 == 1:94return -a_P / np.sqrt(A)95else:96return 09798def binding_energy(A, Z):99"""Calculate total binding energy using SEMF (MeV)."""100if A <= 0 or Z <= 0 or Z > A:101return 0102103B = (a_V * A104- a_S * A**(2/3)105- a_C * Z * (Z - 1) / A**(1/3)106- a_A * (A - 2*Z)**2 / A107+ pairing_term(A, Z))108return max(0, B)109110def binding_per_nucleon(A, Z):111"""Binding energy per nucleon (MeV)."""112if A <= 0:113return 0114return binding_energy(A, Z) / A115116def nuclear_mass(A, Z):117"""Nuclear mass in MeV/c^2."""118return Z * m_p + (A - Z) * m_n - binding_energy(A, Z)119120def atomic_mass(A, Z):121"""Atomic mass in MeV/c^2."""122return nuclear_mass(A, Z) + Z * m_e123124def most_stable_Z(A):125"""Find most stable Z for given A using SEMF."""126if A <= 0:127return 0128# Analytical formula from SEMF129Z_opt = A / (2 + a_C * A**(2/3) / (2 * a_A))130return int(round(Z_opt))131132def separation_energy_n(A, Z):133"""Neutron separation energy S_n."""134return binding_energy(A, Z) - binding_energy(A-1, Z)135136def separation_energy_p(A, Z):137"""Proton separation energy S_p."""138return binding_energy(A, Z) - binding_energy(A-1, Z-1)139140def separation_energy_alpha(A, Z):141"""Alpha separation energy S_alpha."""142return binding_energy(A, Z) - binding_energy(A-4, Z-2) - binding_energy(4, 2)143144# Q-value calculations145def Q_alpha(A, Z):146"""Q-value for alpha decay."""147parent_mass = nuclear_mass(A, Z)148daughter_mass = nuclear_mass(A-4, Z-2)149alpha_mass = nuclear_mass(4, 2)150return parent_mass - daughter_mass - alpha_mass151152def Q_beta_minus(A, Z):153"""Q-value for beta-minus decay."""154parent_mass = atomic_mass(A, Z)155daughter_mass = atomic_mass(A, Z+1)156return parent_mass - daughter_mass157158def Q_beta_plus(A, Z):159"""Q-value for beta-plus decay."""160parent_mass = atomic_mass(A, Z)161daughter_mass = atomic_mass(A, Z-1)162return parent_mass - daughter_mass - 2*m_e163164# Calculate binding energies for chart of nuclides165A_range = np.arange(1, 261)166Z_stable = np.array([most_stable_Z(A) for A in A_range])167B_per_A = np.array([binding_per_nucleon(A, Z) for A, Z in zip(A_range, Z_stable)])168169# Find maximum B/A170max_idx = np.argmax(B_per_A)171A_max = A_range[max_idx]172Z_max = Z_stable[max_idx]173B_max = B_per_A[max_idx]174175# Specific nuclei for analysis176key_nuclei = [177('H-2', 2, 1),178('He-4', 4, 2),179('Li-7', 7, 3),180('C-12', 12, 6),181('O-16', 16, 8),182('Fe-56', 56, 26),183('Ni-62', 62, 28),184('U-235', 235, 92),185('U-238', 238, 92)186]187188# SEMF term contributions189A_terms = np.linspace(10, 250, 200)190Z_terms = A_terms / 2.2191192volume = a_V * np.ones_like(A_terms)193surface = -a_S / A_terms**(1/3)194coulomb = -a_C * Z_terms * (Z_terms - 1) / A_terms**(4/3)195asymmetry = -a_A * (A_terms - 2*Z_terms)**2 / A_terms**2196197# Magic numbers analysis198magic_numbers = [2, 8, 20, 28, 50, 82, 126]199200# Create visualization201fig = plt.figure(figsize=(12, 10))202gs = fig.add_gridspec(3, 3, hspace=0.35, wspace=0.35)203204# Plot 1: B/A vs A205ax1 = fig.add_subplot(gs[0, 0])206ax1.plot(A_range, B_per_A, 'b-', lw=1.5)207ax1.axvline(x=A_max, color='r', ls='--', alpha=0.5)208ax1.annotate(f'Max: A={A_max}', xy=(A_max, B_max),209xytext=(A_max+30, B_max-0.5),210arrowprops=dict(arrowstyle='->', color='red'),211fontsize=8)212ax1.set_xlabel('Mass Number $A$')213ax1.set_ylabel('$B/A$ (MeV)')214ax1.set_title('Binding Energy per Nucleon')215ax1.grid(True, alpha=0.3)216217# Plot 2: SEMF term contributions218ax2 = fig.add_subplot(gs[0, 1])219ax2.plot(A_terms, volume, 'b-', lw=1.5, label='Volume')220ax2.plot(A_terms, surface, 'g-', lw=1.5, label='Surface')221ax2.plot(A_terms, coulomb, 'r-', lw=1.5, label='Coulomb')222ax2.plot(A_terms, asymmetry, 'm-', lw=1.5, label='Asymmetry')223ax2.axhline(y=0, color='gray', ls='--', alpha=0.5)224ax2.set_xlabel('Mass Number $A$')225ax2.set_ylabel('Contribution to $B/A$ (MeV)')226ax2.set_title('SEMF Term Contributions')227ax2.legend(fontsize=7)228ax2.grid(True, alpha=0.3)229230# Plot 3: Valley of stability231ax3 = fig.add_subplot(gs[0, 2])232A_grid = np.arange(1, 201)233Z_grid = np.arange(1, 101)234B_grid = np.zeros((len(Z_grid), len(A_grid)))235236for i, Z in enumerate(Z_grid):237for j, A in enumerate(A_grid):238if Z <= A:239B_grid[i, j] = binding_per_nucleon(A, Z)240241c = ax3.contourf(A_grid, Z_grid, B_grid, levels=20, cmap='viridis')242plt.colorbar(c, ax=ax3, label='$B/A$ (MeV)')243244# Plot valley of stability245A_valley = np.arange(1, 201)246Z_valley = np.array([most_stable_Z(A) for A in A_valley])247ax3.plot(A_valley, Z_valley, 'r-', lw=2, label='Valley')248ax3.plot(A_valley, A_valley/2, 'w--', alpha=0.5, label='N=Z')249ax3.set_xlabel('Mass Number $A$')250ax3.set_ylabel('Proton Number $Z$')251ax3.set_title('Nuclear Stability Chart')252ax3.legend(fontsize=7, loc='lower right')253254# Plot 4: Key nuclei B/A255ax4 = fig.add_subplot(gs[1, 0])256names = [n[0] for n in key_nuclei]257B_values = [binding_per_nucleon(n[1], n[2]) for n in key_nuclei]258colors = plt.cm.viridis(np.linspace(0.2, 0.8, len(key_nuclei)))259bars = ax4.bar(range(len(names)), B_values, color=colors)260ax4.set_xticks(range(len(names)))261ax4.set_xticklabels(names, rotation=45, fontsize=7)262ax4.set_ylabel('$B/A$ (MeV)')263ax4.set_title('Binding Energies of Key Nuclei')264ax4.grid(True, alpha=0.3, axis='y')265266# Plot 5: Separation energies267ax5 = fig.add_subplot(gs[1, 1])268A_sep = np.arange(10, 121)269Z_sep = np.array([most_stable_Z(A) for A in A_sep])270271S_n = np.array([separation_energy_n(A, Z) for A, Z in zip(A_sep, Z_sep)])272S_p = np.array([separation_energy_p(A, Z) for A, Z in zip(A_sep, Z_sep)])273274ax5.plot(A_sep, S_n, 'b-', lw=1.5, label='$S_n$')275ax5.plot(A_sep, S_p, 'r--', lw=1.5, label='$S_p$')276277# Mark magic numbers278for N_magic in [20, 28, 50, 82]:279ax5.axvline(x=2*N_magic, color='gray', ls=':', alpha=0.5)280281ax5.set_xlabel('Mass Number $A$')282ax5.set_ylabel('Separation Energy (MeV)')283ax5.set_title('Nucleon Separation Energies')284ax5.legend(fontsize=8)285ax5.grid(True, alpha=0.3)286ax5.set_ylim([0, 15])287288# Plot 6: Q-values for alpha decay289ax6 = fig.add_subplot(gs[1, 2])290A_alpha = np.arange(150, 261)291Z_alpha = np.array([most_stable_Z(A) for A in A_alpha])292293Q_a = np.array([Q_alpha(A, Z) for A, Z in zip(A_alpha, Z_alpha)])294295ax6.plot(A_alpha, Q_a, 'g-', lw=1.5)296ax6.axhline(y=0, color='r', ls='--', alpha=0.5)297ax6.fill_between(A_alpha, Q_a, 0, where=(Q_a > 0), alpha=0.3, color='green',298label='$\\alpha$-unstable')299ax6.set_xlabel('Mass Number $A$')300ax6.set_ylabel('$Q_\\alpha$ (MeV)')301ax6.set_title('Alpha Decay Q-Values')302ax6.legend(fontsize=8)303ax6.grid(True, alpha=0.3)304305# Plot 7: Pairing effect306ax7 = fig.add_subplot(gs[2, 0])307A_pair = np.arange(20, 101)308B_even_even = np.array([binding_per_nucleon(A, A//2) for A in A_pair if A % 2 == 0])309B_odd_odd = np.array([binding_per_nucleon(A, A//2) for A in A_pair if A % 2 == 0])310B_odd = np.array([binding_per_nucleon(A, (A-1)//2) for A in A_pair if A % 2 == 1])311312A_even = A_pair[::2]313A_odd = A_pair[1::2]314315ax7.plot(A_even, B_even_even, 'bo-', ms=4, label='Even-Even')316ax7.plot(A_odd, B_odd, 'r^-', ms=4, label='Odd A')317ax7.set_xlabel('Mass Number $A$')318ax7.set_ylabel('$B/A$ (MeV)')319ax7.set_title('Pairing Effect')320ax7.legend(fontsize=8)321ax7.grid(True, alpha=0.3)322323# Plot 8: Mass excess324ax8 = fig.add_subplot(gs[2, 1])325A_me = np.arange(1, 101)326Z_me = np.array([most_stable_Z(A) for A in A_me])327328# Mass excess = M - A*u (in MeV)329u_MeV = 931.494 # atomic mass unit in MeV330mass_excess = np.array([atomic_mass(A, Z) - A * u_MeV for A, Z in zip(A_me, Z_me)])331332ax8.plot(A_me, mass_excess, 'purple', lw=1.5)333ax8.axhline(y=0, color='gray', ls='--', alpha=0.5)334ax8.set_xlabel('Mass Number $A$')335ax8.set_ylabel('Mass Excess (MeV)')336ax8.set_title('Nuclear Mass Excess')337ax8.grid(True, alpha=0.3)338339# Plot 9: Fission vs fusion340ax9 = fig.add_subplot(gs[2, 2])341342# Energy release per nucleon343E_fission = (B_per_A[233] - B_per_A[116]) * 0.85 # Approximate fission products344E_fusion_DT = binding_per_nucleon(4, 2) - (binding_per_nucleon(2, 1) + binding_per_nucleon(3, 1))/2345346reactions = ['D-T Fusion', 'U-235 Fission', 'He-4 Formation']347energies = [17.6/4, 200/235, 28.3/4] # MeV per nucleon348349ax9.bar(reactions, energies, color=['red', 'blue', 'green'], alpha=0.7)350ax9.set_ylabel('Energy per Nucleon (MeV)')351ax9.set_title('Nuclear Energy Release')352ax9.grid(True, alpha=0.3, axis='y')353354plt.savefig('binding_energy_plot.pdf', bbox_inches='tight', dpi=150)355print(r'\begin{center}')356print(r'\includegraphics[width=\textwidth]{binding_energy_plot.pdf}')357print(r'\end{center}')358plt.close()359360# Summary calculations361B_Fe56 = binding_per_nucleon(56, 26)362B_Ni62 = binding_per_nucleon(62, 28)363B_He4 = binding_per_nucleon(4, 2)364Q_U235_alpha = Q_alpha(235, 92)365\end{pycode}366367\section{Results and Analysis}368369\subsection{Binding Energy per Nucleon}370371\begin{pycode}372print(r'\begin{table}[htbp]')373print(r'\centering')374print(r'\caption{Binding Energies of Key Nuclei}')375print(r'\begin{tabular}{lccccc}')376print(r'\toprule')377print(r'Nucleus & A & Z & B (MeV) & B/A (MeV) & Type \\')378print(r'\midrule')379380for name, A, Z in key_nuclei:381B = binding_energy(A, Z)382BpA = binding_per_nucleon(A, Z)383N = A - Z384if Z % 2 == 0 and N % 2 == 0:385ptype = 'e-e'386elif Z % 2 == 1 and N % 2 == 1:387ptype = 'o-o'388else:389ptype = 'odd'390print(f'{name} & {A} & {Z} & {B:.1f} & {BpA:.3f} & {ptype} \\\\')391392print(r'\bottomrule')393print(r'\end{tabular}')394print(r'\end{table}')395\end{pycode}396397\subsection{Maximum Stability}398399The binding energy curve reaches its maximum near the iron-nickel region:400\begin{itemize}401\item Maximum $B/A$ at $A = \py{A_max}$: \py{f"{B_max:.3f}"} MeV402\item Fe-56: \py{f"{B_Fe56:.3f}"} MeV/nucleon403\item Ni-62: \py{f"{B_Ni62:.3f}"} MeV/nucleon (highest known $B/A$)404\item He-4: \py{f"{B_He4:.3f}"} MeV/nucleon (exceptionally stable)405\end{itemize}406407\begin{remark}408While Fe-56 is often cited as the most stable nucleus, Ni-62 actually has the highest binding energy per nucleon. Fe-56 is the most abundant end product of stellar nucleosynthesis due to the peak in the Fe-56 production cross section.409\end{remark}410411\subsection{SEMF Coefficients}412413\begin{pycode}414print(r'\begin{table}[htbp]')415print(r'\centering')416print(r'\caption{Semi-Empirical Mass Formula Parameters}')417print(r'\begin{tabular}{lcc}')418print(r'\toprule')419print(r'Term & Coefficient & Physical Origin \\')420print(r'\midrule')421print(f'Volume & $a_V = {a_V}$ MeV & Strong force saturation \\\\')422print(f'Surface & $a_S = {a_S}$ MeV & Surface tension \\\\')423print(f'Coulomb & $a_C = {a_C}$ MeV & Electrostatic repulsion \\\\')424print(f'Asymmetry & $a_A = {a_A}$ MeV & Fermi gas model \\\\')425print(f'Pairing & $a_P = {a_P}$ MeV & Spin coupling \\\\')426print(r'\bottomrule')427print(r'\end{tabular}')428print(r'\end{table}')429\end{pycode}430431\section{Nuclear Reactions}432433\begin{example}[Nuclear Fusion]434The fusion of deuterium and tritium releases:435\begin{equation}436\text{D} + \text{T} \to \alpha + n + 17.6 \text{ MeV}437\end{equation}438This represents $\sim$3.5 MeV per nucleon, the highest energy density achievable.439\end{example}440441\begin{example}[Nuclear Fission]442The fission of U-235 releases approximately 200 MeV per event:443\begin{equation}444^{235}\text{U} + n \to \text{fission products} + 2.5n + 200 \text{ MeV}445\end{equation}446This is $\sim$0.85 MeV per nucleon, less than fusion but easier to achieve.447\end{example}448449\begin{theorem}[Energy Release Criterion]450Energy is released in nuclear reactions when the products have higher $B/A$ than reactants:451\begin{itemize}452\item Fusion is energetically favorable for $A < 56$453\item Fission is energetically favorable for $A > 100$454\end{itemize}455\end{theorem}456457\section{Discussion}458459The SEMF successfully reproduces nuclear binding energies with an RMS error of $\sim$2-3 MeV for nuclei away from closed shells. Key insights include:460461\begin{enumerate}462\item \textbf{Liquid drop model}: The first three terms describe the nucleus as a charged liquid drop with surface tension.463\item \textbf{Fermi gas}: The asymmetry term arises from the Pauli exclusion principle in a degenerate Fermi gas.464\item \textbf{Shell effects}: Magic numbers cause deviations from SEMF predictions, requiring shell corrections.465\item \textbf{Stability valley}: The competition between Coulomb and asymmetry terms determines the valley of stability.466\end{enumerate}467468\section{Conclusions}469470This computational analysis demonstrates:471\begin{itemize}472\item Maximum binding energy per nucleon: \py{f"{B_max:.3f}"} MeV at $A = \py{A_max}$473\item Volume term dominates: $a_V = \py{a_V}$ MeV474\item Alpha decay Q-value for U-235: \py{f"{Q_U235_alpha:.2f}"} MeV475\item Energy release in fusion exceeds fission by factor of $\sim$4 per nucleon476\end{itemize}477478The SEMF provides a quantitative foundation for understanding nuclear stability, decay modes, and energy production in nuclear reactions.479480\section{Further Reading}481\begin{itemize}482\item Krane, K.S., \textit{Introductory Nuclear Physics}, Wiley, 1987483\item Heyde, K., \textit{Basic Ideas and Concepts in Nuclear Physics}, 3rd Edition, IOP Publishing, 2004484\item Wong, S.S.M., \textit{Introductory Nuclear Physics}, 2nd Edition, Wiley-VCH, 2004485\end{itemize}486487\end{document}488489490