An Introduction to Nuclear Physics
Chapter I: nuclear massess and binding energies
by Dr. Jiangming Yao,
Nuclear theory and nuclear astrophysics group,
School of Physics and Astronomy, Sun Yat-sen University
$$ M(Z,A) = ZM_H + (A-Z)M_n,\quad M_H\approx M_p + m_e $$
$$ \Delta M(Z,A) = M(Z,A) - A m_u, $$ where $m_u$ is defined based on the mass of $^{12}$C,
$$ m_u = M(Z=6, A=12)/12 = 931.493856 {\rm MeV}. $$
$$ B(Z, A) = Z M_H + (A-Z)M_n - M(Z, A) $$
mass_excess_O16=-4.737 # MeV
BE_12C=7.680144*12 # MeV
M_H = 938.272+0.511 # MeV
M_p = 938.272 # MeV
M_n = 939.565 # MeV
# atomic mass for 12C
Mass_12C = 6*M_H+6*M_n - BE_12C
# 1 u
Unit=Mass_12C/12
print("Atomic Mass for 12C: {} [MeV]".format(Mass_12C))
print("1 u : {} [MeV]".format(Unit))
print("Mass excess for 12C : {} [MeV]".format(Mass_12C-12*Unit))
# atomic mass for 16O
Mass_16O = Unit * 16 + mass_excess_O16
print("Atomic Mass for 16O: {} [MeV]".format(Mass_16O))
# binding energy for 16O
BE_16O = 8*M_H+8*M_n - Mass_16O
print("Binding Energy for 16O: {} [MeV]".format(BE_16O))
print("E/A for 16O: {} [MeV]".format(BE_16O/16))
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv('./dataset/AME2003.DAT',sep='\s+',skiprows=None)
df.columns=['A','Z','Mass_excess']
df.head()
df['N']=df['A']-df['Z']
df['BE']=df['Z']*M_H+df['N']*M_n - (Unit * df['A'] + df['Mass_excess'])
df.head(30)
plt.scatter(df['A'],df['BE']/df['A'],c='k')
plt.xlabel('Mass number A',fontsize=12)
plt.ylabel('E/A [MeV]',fontsize=12)
plt.legend(['AME2003'])
References:
AME2003: A.H.Wapstra, G.Audi, C. Thibault, Nuclear Physics A729, 129-336 (2003)
NUBASE2016: Chinese Physics C Vol. 41, No. 3 (2017) 030001