In [2]:

```
import math
#Variable declaration
h = 6.626e-034; # Planck's constant, Js
e = 1.602e-019; # Charge on an electron, C
red_h = h/(2*math.pi*e*1e+06); # Reduced Planck's constant, MeV
lamda = 5.0e-015; # de_Broglie wavelength of neutron, m
#Calculations
p = red_h/lamda; # Momentum of the neutron, MeV-s/m
#Result
print "The momentum of the neutron from de-Broglie relation : %5.3e MeV-s/m"%p
```

In [3]:

```
#Variable declaration
E = [[0,0,0],[0,0,0],[0,0,0]]; # Declare a cell array of empty matrices for nuclides information
E[0][0] = 'C'; # Assign element 'C' to (1,1) cell
E[1][0] = 'N'; # Assign element 'N' to (2,1) cell
E[2][0] = 'O'; # Assign element 'o' to (3,1) cell
E[0][1] = 6; # Assign atomic No. 6 to (1,2) cell
E[1][1] = 7; # Assign atomic No. 7 to (2,2) cell
E[2][1] = 8; # Assign atomic No. 8 to (3,2) cell
E[0][2] = [12,13,14,16]; # Assign mass numbers for 'C' to (1,3) cell
E[1][2] = [14,15,16,17]; # Assign mass numbers for 'N' to (2,3) cell
E[2][2] = [14,15,16,17]; # Assign mass numbers for 'O' to (3,3) cell
#Calculations&Results
# Isotopes
print "\nIsotopes:"
print "\n========="
for i in range(0,3): # Search for the three elements one-by-one
print "\n(Z = %d)"%(E[i][1])
for j in range(0,4):
print "\t%s(%d)"%(E[i][0],E[i][2][j]),
# Isotones
print "\n\nIsotones:";
print "\n========"
for N in range(6,10): # Search for the neutron numbers from 6 to 9
print "\n(N = %d)\n"%N;
for i in range(0,3):
for j in range(0,4):
if E[i][2][j]- E[i][1] == N: # N = A-Z
print "\t%s(%d)"%(E[i][0],E[i][2][j]),
# Isobars
print "\n\nIsobars:"
print "\n======="
for A in range(14,18): # Search for the mass numbers from 14 to 17
print "\n(A = %d)\n"%A
for i in range(1,3):
for j in range(0,3):
if E[i][2][j] == A:
print "\t%s(%d)"%(E[i-1][0],E[i][2][j]),
```

In [5]:

```
#Variable declaration
m = 9.1e-031; # Mass of the electron, Kg
C = 3e+08; # Velocity of the light,m/s
#Calculations
E = m*C**2/1.6e-013; # Energy of the electron at rest, MeV
#Result
print "Energy of the electron at rest : %5.3f MeV"%E
```

In [7]:

```
#Variable declaration
r = 3.46e-015; # Radius of the nucleus, m
r0 = 1.2e-015; # Distance of closest approach of the nucleus, m
#Calculations
A = round((r/r0)**3); # Mass number of the nucleus
if A == 23:
element = "Na";
elif A == 24:
element = "Mg";
elif A == 27:
element = "Al";
elif A == 28:
element = "Si";
#Result
print "The mass number of the nucleus is %d and the nucleus is of %s"%(A, element)
```

In [9]:

```
import math
#Variable declaration
m = 40*(1.66e-027); # Mass of the nucleus, kg
r0 = 1.2e-015; # Distance of the closest approach, m
A = 40; # Atomic mass of the nucleus
#Calculations
r = r0*A**(1./3); #Radius of the nucleus, m
V = 4./3*(math.pi*r**3); # Volume of the nucleus, m^3
density = m/V; # Density of the nucleus, kg/m^3
#Result
print "Radius of the nucleus: %3.1e m\nVolume of the nucleus: %5.3e m^3\nDensity of the nucleus: %3.1e kg/m^3"%(r,V,density)
```

In [12]:

```
import math
#Variable declaration
m = 1.66e-027; # Mass of a nucleon, kg
A = 235; # Atomic mass of U-235 nucleus
M = A*m; #Mass of the U-235 nucleus, kg
r0 = 1.2e-015; # Distance of closest approach, m
#Calculations
r = r0*(A)**(1./3); # Radius of the U-235 nucleus
V = 4./3*(math.pi*r**3); # Volume of the U-235 nucleus,m^3
d = M/V; # Density of the U-235 nucleus,kg/m^3
#Result
print "The density of U-235 nucleus : %4.2e kg per metre cube"%d
```

In [13]:

```
import math
#Variable declaration
m_O = 2.7e-026; # Mass of O nucleus, kg
r_O = 3e-015; # Radius of O nucleus, m
V_O = 4/3*(math.pi*(r_O)**3); # Volume of O nucleus, metre cube
d_O = m_O/V_O; # Density of O nucleus, kg/metre cube
m_Pb = 3.4e-025; # Mass of Pb nucleus, kg
r_Pb = 7.0e-015; # Radius of Pb nucleus, m
#Calculations
V_Pb = 4./3*(math.pi*(r_Pb)**3); # Volume of Pb nucleus, metre cube
d_Pb = m_Pb/V_Pb; #Density of Pb nucleus,kg/metre cube
#Results
print "The density of oxygen nucleus : %4.2e in kg/metre cube"%d_O
print "The density of Pb nucleus : %4.2e in kg/metre cube"%d_Pb
```

In [14]:

```
import math
#Variable declaration
E = 5.48*1.6e-013; # Energy of alpha particle, J
e = 1.6e-019; # Charge of an electron, C
Z = 79; # Mas number of Au nucleus,
epsilon_0 = 8.85e-012; # Permittivity of free space,
#Calculations
D = (2*Z*e**2)/(4*math.pi*epsilon_0*E); # Distance of closest approach, m
#Result
print "The distance of closest appproach of alpha particle : %4.2e m"%D
```

In [15]:

```
#Variable declaration
A = 208; # Mass number of Pb-208
r0 = 1.2e-015; # Distance of closest approach, m
#Calculations
r = r0*((A)**(1./3)); # Radius of Pb-208, m
#Result
print "The radius of Pb-208 : %4.2e m"%r
```

In [17]:

```
#Variable declaration
amu = 931.49; # Atomic mass unit, MeV
M_p = 1.00758; # Mass of proton, amu
M_n = 1.00897; # Mass of neutron, amu
M_He = 4.0028; # Mass of He nucleus, amu
Z = 2; # Atomic number
N = 2; # Number of neutron
#Calculations
M_defect = Z*M_p+N*M_n-M_He; # Mass defect, amu
BE_MeV = M_defect*amu; # Binding energy, MeV
BE_J = M_defect*1.49239e-010; # Binding energy, J
#Results
print "The binding energy (in MeV): %5.2f"%BE_MeV
print "The binding energy (in J): %4.2e"%BE_J
```

In [19]:

```
#Variable declaration
amu = 1.49239e-010; # Atomic mass unit, J
M_C = 12; # Mass of C-12, amu
M_a = 4.0026; # Mass of alpha particle, amu
#Calculations
M_3a = 3*M_a; # Mass of 3 alpha particle, amu
D = M_C-M_3a; # Difference in two masses, amu
E = D*amu; # Required energy,J
#Result
print "The energy required to break 3 alpha particles : %4.2e J"%E
```

In [21]:

```
#Variable declaration
M_p = 1.007895; # Mass of proton, amu
M_n = 1.008665; # Mass of neutron, amu
M_He = 4.0026; # Mass of He-nucleus, amu
Z = 2; # Number of proton
N = 2; # Number of neutron
#Calculations
D_m = ((Z*M_p)+(N*M_n)-M_He); # Mass defect, amu
amu = 931.49; # Atomic mass unit, MeV
E = D_m*amu; # Required energy, MeV
#Result
print "The energy required to knock out nucleons from the He nucleus = %5.2f MeV"%E
```

In [23]:

```
#Variable declaration
M_Fe = 55.934939; # Mass of Fe-56, amu
M_p = 1.007825; # Mass of proton, amu
M_n = 1.008665; # Mass of neutron, amu
Z = 26; # Atomic number of Fe-56
N = 30; # Number of neutron in Fe-56
amu = 931.49; # Atomic mass unit, MeV
#Calculations
BE = ((Z*M_p)+(N*M_n)-M_Fe)*amu; # Binding energy of Fe-56, MeV
#Result
print "The binding energy of Fe-56 : %6.4f MeV"%BE
```

In [26]:

```
#Variable declaration
amu = 931.49; # Atomic mass unit, MeV
M_p = 1.007825; # Mass of proton, amu
M_n = 1.008663; # Mass of neutron, amu
A = 2; # Mass number of deutron, amu
M_D = 2.014103; # Mass of deuteron nucleus, amu
#Calculations
M_Defect = (M_p+M_n-M_D)*amu; # Mass defect of the nucleus, MeV
P_fraction = (M_D - A)/A; # Packing fraction of nucleus
#Results
print "Mass defect %4.2f MeV\n Packing fraction %7.5f"%(M_Defect,P_fraction);
```

In [28]:

```
#Variable declaration
m_p = 1.007825; # Mass of proton, amu
m_n = 1.008665; # Mass of neutron, amu
m_He = 4.002634; # Mass of He-4 nucleus, amu
amu = 931.47; # Atomic mass unit, MeV
A = 4 # Mass number of He-4 nucleus
#Calculations
BE = (2*m_p+2*m_n-m_He)*amu; # Binding energy of He-4 nucleus, MeV
Av_BE = BE/A; # Average binding energy or binding energy per nucleon, MeV
#Result
print "The binding energy per nucleon : %4.2f MeV"%Av_BE
```

In [30]:

```
#Variable declaration
l1 = 1; # Orbital qunatum number for p-state nucleon
l2 = 2; # Orbital qunatum number for d-state nucleon
#Calculations&Result
# Display the value of L within the for loop
print "The possible L values will be"
for i in range(abs(l1-l2),abs(l1+l2+1)): # Coupling of l-orbitals
print "\t %1d"%i,
```

In [32]:

```
import numpy
#Variable declaration
# Get the l value from the user
l = 3; # Orbital qunatum number for f-state proton
s = 0.5; # Magnitude of spin quantum number
#Calculations&Result
# Display the value of j within the for loop
print "The j values will be between"
for i in numpy.arange((l-s),(l+s+1)): # l-s Coupling
print "\t %3.1f"%i,
```

In [34]:

```
#Variable declaration
V = 1000; # Potential difference, volts
R = 0.122; # Radius of the circular path, m
B = 1500e-04; # Magnetic field, tesla
e = 1.602e-019; # Charge of the electron, C
amu = 1.673e-027; # Atomic mass unit, kg
#Calculations
v = (2*V)/(R*B); # Speed of the ion, m/s
M = 2*e*V/v**2; # Mass of the ion, kg
A = M/amu; # Mass number
#Result
print " Speed > %5.3e m/s \n Mass > %5.3e kg \n Mass number > %5.2f "%(v, M, A)
```

In [36]:

```
import numpy
#Variable declaration
amu = 1.673e-027; # Atomic mass unit, kg
E = 5e+04; # Electric field, V/m
B1 = 0.4; # Magnetic field, tesla
v = E/B1; # Velocity of ions, m/s
B = 0.8; # Magnetic field, tesla
e = 1.602e-019; #charge of electron,C
#Calculations
m_Ar = [36,38,40] # Masses of three isoptopes of Ar, amu
r_Ar = [0,0,0]; # Array of radii of three Ar ions, mm
for i in range(len(r_Ar)):
r_Ar[i] = (m_Ar[i]*amu*v)/(B*e)*1e+03; # Radius of Ar ion orbit, mm
d1 = 2*(r_Ar[1]-r_Ar[0]); # Distance b/w first and second line, mm
d2 = 2*(r_Ar[2]-r_Ar[1]); # Distance b/w second and third line, mm
#Results
print "The distance between successive lines due to three different isotopes : %3.1f mm and %3.1f mm"%(d1,d2)
```