# Chapter 5: Crystal Physics¶

## Example 1, Page no:5.72¶

In [1]:
import math;

# Variable Declaration

#Copper has FCC structure
r       = 1.273;            # Atomic radius in angstrom
N       = 6.023*10**26;     # Avagadros number in atoms/kilomole
A       = 63.5;             # Atomic weight of copper in grams
n       = 4;                # No. of atoms per unit cell for FCC

# Calculations
r1      = r*10**-10;           # Radius conversion from angstrom to m
a       = (4*r1)/math.sqrt(2); # lattice parameter for FCC
p       = (n*A)/(N*a**3);      # Density of copper

# Result
print 'Lattice Constant a = %3.1e' %a,' m','\n', 'Density of copper = %3.1f' %p,' kg/m^3';

Lattice Constant a = 3.6e-10  m
Density of copper = 9034.4  kg/m^3


## Example 2, Page no:5.73¶

In [3]:
import math;

# Variable Declaration
# given intercepts 3,4 and ∞, the recipocals of intercepts is
# (1/3):(1/4):(1/∞)
# LCM = 12
# multiplying by LCM we get miller indices
# miller indices of a plane are the smallest integers of the reciprocals of its intercerpts
# therefore miller indices(h k l) is (4 3 0);

h   = 4;       # miller indice
k   = 3;       # miller indice
l   = 0;       # miller indice
a   = 2;       # primitive vector of lattice in angstrom

#Calculations

dhkl    = a/math.sqrt((h**2)+(k**2)+(l**2));   #interplanar distance

# Result
print 'Miller indices = (4 3 0)';
print 'The interplanar distance d = %3.1f' %dhkl,' Å';

Miller indices = (4 3 0)
The interplanar distance d = 0.4  Å


## Example 3, Page no:5.74¶

In [10]:
import math;

# Variable Declaration
# α-Iron solidifies to BCC structure

r       = 1.273;             # Atomic radius in angstrom
N       = 6.023*10**26;      # Avagadros number in atoms/kilomole
A       = 55.85;             # Atomic weight of α-Iron in kilograms
n       = 2;                 # No. of atoms per unit cell for BCC
p       = 7860;              # density in kg/m^-3

#Calculations

# p    = (n*A)/(N*a^3);    density

a       = ((n*A)/(N*p))**(0.333);  # lattice constant
a1      = a*10**10;              # m to angstrom conversion
r       = (a1*math.sqrt(3))/4    #  atomic radius for BCC

#Output
print 'The Radius of the atom = %3.5f' %r,' Å'
print 'Note : atomic wt taken as 55.58*10^-3 instead of 55.85 in calculation'

The Radius of the atom = 1.26955  Å
Note : atomic wt taken as 55.58*10^-3 instead of 55.85 in calculation


## Example 4, Page no:5.75¶

In [11]:
import math;

# Variable Declaration
lamda   = 1.5418;       # wavelength in Å
h       = 1;            # miller indice
k       = 1;            # miller indice
l       = 1;            # miller indice
n       = 1;            # given first order
theta   = 30;           # diffraction angle in degrees

# Calculations
theta1   = theta*math.pi/180;   # degree to radian conversion
# d     = (n*lamda)/(2*sinθ);    by Braggs law               ------------- 1
# d     = a/sqrt((h^2)+(k^2)+(l^2));  interplanar distance    ------------ 2
# equating 1 and 2

a       = (n*lamda*math.sqrt((h**2)+(k**2)+(l**2))/(2*math.sin(theta1)))

# Result
print 'Interatomic spacing a = %f Å' %a;

Interatomic spacing a = 2.670476 Å


## Example 5, page no:5.76¶

In [17]:
import math;

# variable Declaration
h1       = 1;            # miller indice
k1       = 1;            # miller indice
l1       = 1;            # miller indice
h0       = 0;            # miller indice
k0       = 0;            # miller indice
l0       = 0;            # miller indice

# Calculations
# dhkl    = a/sqrt((h^2)+(k^2)+(l^2)); // interplanar distance
# assume a = 1(constant) for easier calculation in scilab

a        = 1;
d100     = a/math.sqrt((h1**2)+(k0**2)+(l0**2)); # interplanar distance
d110     = a/math.sqrt((h1**2)+(k1**2)+(l0**2)); # interplanar distance
d111     = a/math.sqrt((h1**2)+(k1**2)+(l1**2)); # interplanar distance

# Result
print 'd100 : d110 : d111 = ','%d ' %d100,':','%3.2f' %d110,':', '%3.2f' %d111;

d100 : d110 : d111 =  1  : 0.71 : 0.58


## Example 6, page no:5.76¶

In [18]:
import math;

# Variable Declaration
# Aluminium is FCC

a       = 0.405*10**-9;          # lattice constant of aluminium
t       = 0.005*10**-2;          # thickness of aluminium foil in m
s       = 25*10**-2;             # side of square in m

# Calculations
VUC     = a**3;                  # volume of unit cell
Val     = (s**2)*t               # volume of aluminium foil (area*thickness)
N       = Val/VUC                # Number if unit cells

# Result
print 'Number of unit cells = %3.3e' %N

Number of unit cells = 4.704e+22


## Example 7, page no:5.77¶

In [19]:
import math;

# variable declaration
# metallic iron changes from  BCC to FCC form at 910 degress
rb      = 0.1258*10**-9;     # atomic radius of BCC iron atom
rf      = 0.1292*10**-9;     # atomic radius of FCC iron atom

# Calculations

ab      = (4*rb)/(math.sqrt(3));      # lattice constant for BCC
Vbcc    = (ab**3)/2;                  # volume occupied by one BCC atom
af      = (4*rf)/(math.sqrt(2))       # lattice constant for FCC
Vfcc    = (af**3)/4;                  # volume occupied by one FCC atom
dv      = ((Vbcc-Vfcc)/Vbcc)*100      # percentage change in volume

# Result
print 'During the structural change the percentage change in volume = %3.4f' %dv;

During the structural change the percentage change in volume = 0.4933


## Example 8, page no:5.78¶

In [22]:
import math
#variable declaration
#Copper Crystallines in  FCC structure

p       = 8960;             # Density of copper in kg/m^3
N       = 6.023*10**26;      # Avagadros number in atoms/kilomole
A       = 63.5;             # Atomic weight of copper in kg/mol
n       = 4;                # No. of atoms per unit cell for FCC

# Calculations

a       = ((n*A)/(N*p))**(0.333);

# Result

print 'Lattice Constant a = %3.4f' %(a*10**10),' Å';
print 'atomic wt of copper is taken as 63.5*10^-3 instead of 63.5 in textbook';

Lattice Constant a = 3.6899  Å
atomic wt of copper is taken as 63.5*10^-3 instead of 63.5 in textbook


## Example 9, page no:5.79¶

In [1]:
import math;

# Variable declaration
# (100) planes in rock crystal
h       = 1;            # miller indice
k       = 0;            # miller indice
l       = 0;            # miller indice
a       = 2.814         # lattice constant in Å

# Calculations
dhkl    = a/math.sqrt((h**2)+(k**2)+(l**2)); # interplanar distance

#Result
print 'd-spacing for (100) plane in rock salt = %3.3f' %dhkl,' Å';

d-spacing for (100) plane in rock salt = 2.814  Å


## Example 10, page no:5.79¶

In [4]:
import math;

# Variable Declaration
# FCC structured crystal

p       = 6250;             # Density of crystal in kg/m^3
N       = 6.023*10**26;      # Avagadros number in atoms/kilomole
A       = 60.2;             # molecular weight
n       = 4;                # No. of atoms per unit cell for FCC

# Calculations

a       = ((n*A)/(N*p))**(0.333);

# Result

print 'Lattice Constant a = %3.3e' %a, 'm';

Lattice Constant a = 4.087e-10 m


## Example 11, page no:5.80¶

In [5]:
import math;

# Variable Declaration
# (321) plane in simple cubic lattice
h       = 3;            # miller indice
k       = 2;            # miller indice
l       = 1;            # miller indice
a       = 4.12          # inter atomic space Å

# Calculations
dhkl    = a/math.sqrt((h**2)+(k**2)+(l**2)); #interplanar distance

# Result
print 'd = %3.2f' %dhkl,' Å';

d = 1.10  Å


## Example 12, page no:5.81¶

In [6]:
import math;

# Variable Declaration
# BCC structured crystal

p       = 7860;             # Density of iron in kg/m^3
N       = 6.023*10**26;     # Avagadros number in atoms/kilomole
A       = 55.85;            # Atomic weight
n       = 2;                # No. of atoms per unit cell for BCC

# Calculations

a       = ((n*A)/(N*p))**(0.333); #lattice constant

# Result

print 'Lattice Constant of Fe = %3.3f' %(a*10**10),' Å ';
print 'Note: density of iron is taken as 7.86 instead of 7860 in calculation'

Lattice Constant of Fe = 2.932  Å
Note: density of iron is taken as 7.86 instead of 7860 in calculation


## Example 14, page no:5.82¶

In [8]:
import math;

# variable Declaration
r       = 0.123*10**-10;         # Radius of the atom

# Calculations
a       = (4*r)/math.sqrt(3);        # Lattice constant in m For a BCC structure
V       = a*a*a;                     # Volume of BCC

# Result
print 'Volume of the unit cell = %3.4e' %V,' m^3';

Volume of the unit cell = 2.2920e-32  m^3


## Example 15, page no:5.82¶

In [15]:
import math;

# Variable declaration
a   = 0.05;     # unit cell edge of an orthorhombic crystal in nm
b   = 0.05;     # unit cell edge of an orthorhombic crystal in nm
c   = 0.03;     # unit cell edge of an orthorhombic crystal in nm
Ia  = 0.025     # intercept on 'a' in nm
Ib  = 0.02      # intercept on 'b' in nm
Ic  = 0.01      # intercept on 'c' in nm

# Calculations

h   = a/Ia;     # miller indice h
k   = b/Ib;     # miller indice k
l   = c/Ic      # miller indice l

# Result
print 'Miller indices (h k l) =', '%d' %h,'%d' %k, '%d' %l;

Miller indices (h k l) = 2 2 3


## Example 16, page no:5.83¶

In [1]:
import math;

# Magnesium has HCP structure
# for HCF(Hexagonal closed packed structure) consider the relation between 'c' and 'a';
# c/a = sqrt(8/3) = 1.6329

# Variable Declaration
r   = 0.1605*10**-9;     # radius of magnesium atom in m

# Calculations

a   = 2*r               # lattice constant of HCP
c   = a*math.sqrt(float(8)/3);      # relation b/w c and a in HCP
V   = (3*(3**0.5))*(a*a*c)/2;         #Volume of unit cell in m^3

# Result
print 'Volume of the unit cell of magnesium = %g' %V,' m^3';

Volume of the unit cell of magnesium = 1.4033e-28  m^3


## Example 17, page no:5.84¶

In [26]:
import math

# Variable Declaration
#  (101),(221) planes in simple cubic lattice
h1       = 1;            # miller indice
k0       = 0;            # miller indice
l1       = 1;            # miller indice
h2       = 2;            # miller indice
k2       = 2;            # miller indice
l1       = 1;            # miller indice
a        = 4.2           # inter atomic space Å

# Calculations

d101    = a/math.sqrt((h1**2)+(k0**2)+(l1**2)); # interplanar distance
d221    = a/math.sqrt((h2**2)+(k2**2)+(l1**2)); # interplanar distance

# Result
print 'd(101) = %3.4f' %d101,' Å','\n','d(221) = %3.1f' %d221,' Å ';

d(101) = 2.9698  Å
d(221) = 1.4  Å


In [1]:
import math;

# Variable declaration

# Copper has FCC structure
a   = 3.6;      #lattice parameter of copper in Å

# Calculations

r   = a*math.sqrt(2)/4;      # atomic radius of copper

# Result
print 'Atomic Radius of copper = %3.3f' %r,'Å';

Atomic Radius of copper = 1.273 Å


In [2]:
import math;

# variable Declaration

# Copper has FCC structure

r       = 1.278;            # Atomic radius in angstrom
N       = 6.023*10**26;     # Avagadros number in atoms/kilomole
A       = 63.54;            # Atomic weight of copper
n       = 4;                # No. of atoms per unit cell for FCC

# Calculations
r1      = r*10**-10;           # Radius conversion from angstrom to m
a       = (4*r1)/math.sqrt(2); # lattice parameter for FCC
p       = (n*A)/(N*a**3);      # Density of copper

# Result

print ' Density of copper = %3.2f' %p,' kg/m^3';

 Density of copper = 8934.43  kg/m^3


In [6]:
import math;

# Variable Declaration
ANa     = 23;               # atomic wt of sodiim
ACl     = 35.45             # atomic wt of chlorine
N       = 6.023*10**26;     # Avagadros number in atoms/kilomole
n       = 4                 # No. of atoms per unit cell for FCC
p       = 2180;             # density in kg/m^-3

# Calculations

# p    = (n*A)/(N*a^3);    density
A       = ANa+ACl;              # atomic wt of NaCl
a       = ((n*A)/(N*p))**(0.33333); # lattice constant
r       = a/2                   # Distance b/w two adjacent atoms

# Result
print 'Distance between two adjacent atoms is r = %3.2e' %r,' m';

Distance between two adjacent atoms is r = 2.81e-10  m


In [8]:
import math;

# Variable Declaration
r       = 1.273;            # Atomic radius in angstrom
N       = 6.023*10**26;      # Avagadros number in atoms/kilomole
A       = 55.85      ;      # Atomic weight of Fe
n       = 2;                # No. of atoms per unit cell for BCC
p       = 7860;             # density in kg/m^-3

# Calculations

#  p    = (n*A)/(N*a^3);    density

a       = ((n*A)/(N*p))**(0.33333);      # lattice constant
a1      = a*10**10;                      #  m to angstrom conversion
r       = (a1*math.sqrt(3))/4                 # atomic radius for BCC

# Result
print 'The Radius of the Fe = %3.3f' %r,' Å';

The Radius of the Fe = 1.242  Å


In [9]:
import math;

# Variable Declaration
N       = 6.023*10**26;      # Avagadros number in atoms/kilomole
A       = 119;               # Atomic weight of pottasium bromide
n       = 4;                 # No. of atoms per unit cell for FCC
p       = 2700;              # density in kg/m^-3

# Calculations

# p    = (n*A)/(N*a^3);    density

a       = ((n*A)/(N*p))**(0.33333);  # lattice constant
a1      = a*10**10;                   # m to angstrom conversion

# Output
print 'Lattice constant = %3.1f' %a1,' Å';

Lattice constant = 6.6  Å


In [10]:
import math;

# Variable Declaration
a       = 4.3*10**-10;      # Lattice constant in Å
p       = 960;              # Density of crystal in kg/m^3
A       = 23;               # Atomic wt
N       = 6.023*10**26;     # avogadros no in atoms/kilomole

# Calculations

n       = (p*N*(a**3))/A;      # No. of atoms per unit cell

# result
print 'No. of atoms per unit cell = %3.0f' %n,' (BCC)';

No. of atoms per unit cell =   2  (BCC)


In [12]:
import math;

# Variable Declaration

# given crystal has BCC structure
r   = 1.2*10**-10;       # atomic radius in m

# Calculations

a   = (4*r)/math.sqrt(3);    # lattice constant
V   = a**3;                  #  volume of cell

# Result
print 'Volume of the cell = %3.3e' %V,' m^3';

Volume of the cell = 2.128e-29  m^3


In [2]:
import math;

# Variable Declaration
a   = 4*10**-10;     # lattice constant of the crystal
h   = 1              # miller indice
k   = 0              # miller indice
l   = 0              # miller indice

# Calculations

# in fig consider (100) plane. the no of atoms in plane ABCD
N   = 4*(float(1)/4);      # Number of atoms
p   = N/(a*a);      # planar atomic density in atoms/m^2
p1  = p*10**-6      # planar atomic density in atoms/mm^2

# Result
print 'planar atomic density = %3.2e' %p1,' atoms/mm^2';

planar atomic density = 6.25e+12  atoms/mm^2


In [19]:
import math;

# Variable Declaration
# in fig 5(b) the given plane is parallel to X and Z axes.Thus,its numerical intercepts on these axes is infinity
#The numerical intercept on y axis is 1/2. Thus the numerical intercepts of plane is (∞ 1/2 ∞)
print ' Miller indices of plane shown in fig 5.(b) = (0 2 0)';
# in fig 5(c) the given plane is parallel to Z axis.Thus its numerical intercept on z axis is infinity
# The numerical intercept on x axis is 1 and y axis is 1/2. this numerical intercepts on plane is (1 1/2 ∞ )
print ' Miller indices of plane shown in fig 5.(c) = (1 2 0)'
# in fig 5(d) the given plane is parallel to Z axis.Thus its numerical intercept on z axis is infinity
# The numerical intercept on x axis is 1/2 and y axis is 1/2. this numerical intercepts on plane is (1/2 1/2 ∞ )
print ' Miller indices of plane shown in fig 5.(d) = (2 2 0)'

 Miller indices of plane shown in fig 5.(b) = (0 2 0)
Miller indices of plane shown in fig 5.(c) = (1 2 0)
Miller indices of plane shown in fig 5.(d) = (2 2 0)


In [21]:
import math;

# Variable Declaration

# (311) plane in simple cubic lattice
h       = 3;            # miller indice
k       = 1;            # miller indice
l       = 1;            # miller indice
a       = 2.109*10**-10 # lattice constant in m

# Calculations
dhkl    = a/math.sqrt((h**2)+(k**2)+(l**2)); # interplanar distance

# Result
print 'd = %3.3e' %dhkl,' m';

d = 6.359e-11  m


In [22]:
import math;

# Variable Declaration
h       = 1;            # miller indice
k       = 1;            # miller indice
l       = 0;            # miller indice
d       = 2.86*10**-10  # interplanar distance in m

# Calculations
a       = d*math.sqrt((h**2)+(k**2)+(l**2));   # interplanar distance

# Result
print 'Lattice constant a = %3.3e' %a,' m';

Lattice constant a = 4.045e-10  m


In [25]:
import math;

# Variable Declaration
h1      = 1;
h0      = 0;
k0      = 0;
l0      = 0;
l1      = 1;

# Calculations

# we know that dhkl = a/sqrt( h^2 + k^2 + l^2)
# let sqrt( h^2 + k^2 + l^2) = p
p101    = math.sqrt( h1**2 + k0**2 + l1**2);
p100    = math.sqrt( h1**2 + k0**2 + l0**2);
p001    = math.sqrt( h0**2 + k0**2 + l1**2);

# Result
print 'd101 : d100 : d001 :: a/%3.4f' %p101,' : ','a/%d' %p100,':',' a/%d ' %p001;

 d101 : d100 : d001 :: a/1.4142  :  a/1 :  a/1


In [26]:
import math;

# if a plane cut intercepts of lengths l1,l2,l3 the on three crystal axes ,then
# l1 : l2 : l3 = pa : pq :rc
# where a,b and c are primitive vectors of the unit cell and p,q and r are numbers related to miller indices (hkl) of plane by relation
# 1/p : 1/q : 1/r = h : k : l
# since, the crystal is simple cubic a = b = c and given that h = 1, k = 1 and l = 1
# p : q : r = 1/h : 1/k : 1/l = 1/1 : 1/1 : 1/1
# p : q : r = 1 : 1 : 1
# similarly l1 : l2 : l3 = 1a : 1a : 1a
print 'ratio of intercepts on the three axes by (111) plane is l1 : l2 : l3 = 1 : 1 : 1';

ratio of intercepts on the three axes by (111) plane is l1 : l2 : l3 = 1 : 1 : 1


In [29]:
import math;

# Variable Declaration

r   = 1.246*10**-10;     # atomic radius in m
h1  = 1                  # miller indice
h2  = 2                  # miller indice
k0  = 0                  # miller indice
k1  = 1                  # miller indice
k2  = 2                  # miller indice
l0  = 0                  # miller indice
l1  = 1                  # miller indice

# Calculations
a    = (4*r)/math.sqrt(2);    # lattice constant
d111 = a/math.sqrt((h1**2)+(k1**2)+(l1**2)); # interplanar distance
d200 = a/math.sqrt((h2**2)+(k0**2)+(l0**2)); # interplanar distance
d220 = a/math.sqrt((h2**2)+(k2**2)+(l0**2)); # interplanar distance

# Result
print 'd111 = %3.3e' %d111,' m','\n' 'd200 = %3.4e' %d200,' m','\n''d220 = %3.3e' %d220,' m';

d111 = 2.035e-10  m
d200 = 1.7621e-10  m
d220 = 1.246e-10  m


In [39]:
import math;

# variable Declaration
# the intercept along X-axis be c1 = a
# the intercept along Y-axis be c2 = b/2 and
# the intercept along Z-axis be c3 = 3c
# Therefore, p = c1/a = a/a = 1
# q = c2/b = (b/2)/b = 1/2
# r = c3/c = (3c)/c  = 3
# therefore h = 1/p = 1
# k = 1/q = 2
# l = 1/r = 1/3
# lcm of 1 1 and 3 = 3
h = 1
k = 2
l = float(1)/3
s = 3 ;   # lcm
h1= s*h
k1= s*k
l1= s*l;

# Result
print '(h k l) =', '%d' %h1,' %d' %k1,'%3.0f' %l1;

(h k l) = 3  6   1


In [40]:
import math;

# Variable Declaration
d       = 1.3*10**-10    # interplanar distance
n       = 1;             # given first order
theta   = 23;            # Bragg reflection angle in degrees

# Calculations
theta1   = theta*math.pi/180;   # degree to radian conversion
# d     = (n*lamda)/(2*sinθ);    by Braggs law               ------------- 1
lamda    = (2*d*math.sin(theta1)/n)

# Result
print 'Wavelength of X-ray = %3.4f' %(lamda*10**10),' Å';

Wavelength of X-ray = 1.0159  Å

In [ ]: