Crystal Structures

Example 1.1, Page number 1.36

In [6]:
import math
from __future__ import division

#variable declaration
d=2.351                 #bond lenght
N=6.02*10**26           #Avagadro number
n=8                     #number of atoms in unit cell
A=28.09                 #Atomin mass of silicon
m=6.02*10**26           #1mole

#Calculations
a=(4*d)/math.sqrt(3)
p=(n*A)/((a*10**-10)*m)    #density

#Result
print "a=",round(a,2),"Angstorm"
print "density =",round(p*10**16,2),"kg/m**3"
print"#Answer given in the textbook is wrong"
a= 5.43 Angstorm
density = 6.88 kg/m**3
#Answer given in the textbook is wrong

Example 1.2, Page number 1.36

In [1]:
 import math
from __future__ import division
from sympy import Symbol

#Variable declaration
r=Symbol('r')

#Calculation
a1=4*r/math.sqrt(3);
R1=(a1/2)-r;           #radius of largest sphere
a2=4*r/math.sqrt(2);
R2=(a2/2)-r;       #maximum radius of sphere

#Result
print "radius of largest sphere is",R1
print "maximum radius of sphere is",R2    
   
radius of largest sphere is 0.154700538379252*r
maximum radius of sphere is 0.414213562373095*r

Example 1.3, Page number 1.37

In [1]:
import math
from __future__ import division

#variable declaration
r1=1.258            #Atomic radius of BCC
r2=1.292            #Atomic radius of FCC

#calculations
a1=(4*r1)/math.sqrt(3)       #in BCC
b1=((a1)**3)*10**-30         #Unit cell volume
v1=(b1)/2                    #Volume occupied by one atom
a2=2*math.sqrt(2)*r2         #in FCC
b2=(a2)**3*10**-30                   #Unit cell volume
v2=(b2)/4                    #Volume occupied by one atom  
v_c=((v1)-(v2))*100/(v1)     #Volume Change in % 
d_c=((v1)-(v2))*100/(v2)     #Density Change in %

#Results
print "a1=",round(a1,3),"Angstrom" 
print "Unit cell volume =a1**3 =",round((b1)/10**-30,3),"*10**-30 m**3"
print "Volume occupied by one atom =",round(v1/10**-30,2),"*10**-30 m**3"
print "a2=",round(a2,3),"Angstorm"
print "Unit cell volume =a2**3 =",round((b2)/10**-30,3),"*10**-30 m**3"
print "Volume occupied by one atom =",round(v2/10**-30,2),"*10**-30 m**3"
print "Volume Change in % =",round(v_c,3)
print "Density Change in % =",round(d_c,2)
print "Thus the increase of density or the decrease of volume is about 0.5%"
a1= 2.905 Angstrom
Unit cell volume =a1**3 = 24.521 *10**-30 m**3
Volume occupied by one atom = 12.26 *10**-30 m**3
a2= 3.654 Angstorm
Unit cell volume =a2**3 = 48.8 *10**-30 m**3
Volume occupied by one atom = 12.2 *10**-30 m**3
Volume Change in % = 0.493
Density Change in % = 0.5
Thus the increase of density or the decrease of volume is about 0.5%

Example 1.4, Page number 1.38

In [13]:
import math
from __future__ import division

#variable declaration
n=4     
M=58.5                  #Molecular wt. of NaCl
N=6.02*10**26           #Avagadro number
rho=2180                #density

#Calculations
a=((n*M)/(N*rho))**(1/3)    
s=a/2

#Result
print "a=",round(a/10**-9,3),"*10**-9 metre"
print "spacing between the nearest neighbouring ions =",round(s/10**-9,4),"nm"
a= 0.563 *10**-9 metre
spacing between the nearest neighbouring ions = 0.2814 nm

Example 1.5, Page number 1.38

In [14]:
import math
from __future__ import division

#variable declaration
n=4     
A=63.55                 #Atomic wt. of NaCl
N=6.02*10**26           #Avagadro number
rho=8930                #density

#Calculations
a=((n*A)/(N*rho))**(1/3)      #Lattice Constant

#Result
print "lattice constant, a=",round(a*10**9,2),"nm"
lattice constant, a= 0.36 nm

Example 1.6, Page number 1.39

In [16]:
import math

#variable declaration
r=0.123                  #Atomic radius
n=4
A=55.8                   #Atomic wt
a=2*math.sqrt(2) 
N=6.02*10**26           #Avagadro number

#Calculations
rho=(n*A)/((a*r*10**-9)**3*N)

#Result
print "Density of iron =",round(rho),"kg/m**-3"
Density of iron = 8805.0 kg/m**-3