# 3: Crystal Planes and Point Defects¶

## Example number 3.1, Page number 45¶

In [2]:
#importing modules
import math
from __future__ import division

#Variable declaration
a=1;
b=1/2;
c=3;      #intercepts

#Calculation
h=int(c/a);
k=int(c/b);
l=int(c/c);     #miller indices

#Result
print "miller indices are (",h,k,l,")"

miller indices are ( 3 6 1 )


## Example number 3.5, Page number 48¶

In [3]:
#importing modules
import math
from __future__ import division

#Variable declaration
a=1;
b=2;
c=3;      #intercepts

#Calculation
h=int(c/a);
k=int(b);
l=int(c*b);     #miller indices

#Result
print "miller indices are (",h,k,l,")"

miller indices are ( 3 2 6 )


## Example number 3.7, Page number 48¶

In [4]:
#importing modules
import math
from __future__ import division
from sympy import Symbol

#Variable declaration
a=Symbol('a');
b=Symbol('b');
X=3;
Y=4;
Z=0;       #intercepts

#Calculation
x=a/X;
y=b/Y;
z=float('inf');      #miller indices

#Result
print "miller indices are",x,y,z

miller indices are a/3 b/4 inf


## Example number 3.8, Page number 49¶

In [5]:
#importing modules
import math
from __future__ import division

#Variable declaration
a=0.25;
b=0.25;
c=0.18;
h=1;
k=1;
l=1;

#Calculation
d_hkl=1/math.sqrt((a**2/h**2)+(b**2/k**2)+(c**2/l**2));     #spacing between planes(nm)

#Result
print "spacing between planes is",round(d_hkl,3),"nm"
print "answer in the book is wrong"

spacing between planes is 2.521 nm
answer in the book is wrong


## Example number 3.9, Page number 49¶

In [7]:
#importing modules
import math
from __future__ import division

#Variable declaration
h1=1;
k1=0;
l1=0;    #miller indices of (100)
h2=1;
k2=1;
l2=0;    #miller indices of (110)
a=0.287;    #lattice constant(nm)

#Calculation
d100=a/math.sqrt(h1**2+k1**2+l1**2);    #spacing(nm)
d110=a/math.sqrt(h2**2+k2**2+l2**2);    #spacing(nm)
rho=2/(math.sqrt(2)*(d100*10**-9)**2);    #number of atoms(per mm**2)

#Result
print "number of atoms is",round(rho*10**-18,3),"*10**18 atoms/mm**2"
print "answer in the book is wrong"

number of atoms is 17.169 *10**18 atoms/mm**2
answer in the book is wrong


## Example number 3.10, Page number 49¶

In [8]:
#importing modules
import math
from __future__ import division

#Variable declaration
h1=1;
k1=1;
l1=1;
h2=3;
k2=2;
l2=1;

#Calculation
a=2*math.sqrt(2)*r;
d111=a*10**10/math.sqrt(h1**2+k1**2+l1**2);    #interplanar spacing for (111)
d321=a*10**10/math.sqrt(h2**2+k2**2+l2**2);    #interplanar spacing for (321)

#Result
print "interplanar spacing for (111) is",round(d111,3),"angstrom"
print "interplanar spacing for (321) is",round(d321,3),"angstrom"

interplanar spacing for (111) is 2.087 angstrom
interplanar spacing for (321) is 0.966 angstrom


## Example number 3.11, Page number 50¶

In [9]:
#importing modules
import math
from __future__ import division

#Variable declaration

#Calculation
a_bcc=4*r1/math.sqrt(3);
v=a_bcc**3;
V1=v/2;
a_fcc=2*math.sqrt(2)*r2;
V2=a_fcc**3/4;
V=(V1-V2)*100/V1;           #percent volume change is",V,"%"

#Result
print "percent volume change is",round(V,1),"%"

percent volume change is 0.5 %


## Example number 3.12, Page number 50¶

In [11]:
#importing modules
import math
from __future__ import division

#Variable declaration
C=0.494*10**-9;      #height(m)
a=0.27*10**-9;      #distance(m)
M=65.37;      #atomic weight

#Calculation
V=3*math.sqrt(3)*a**2*C/2;      #volume of cell(m**3)
m=6*M/N;
rho=m/V;      #density of Zn(kg/m**3)

#Result
print "volume of cell is",round(V*10**29,3),"*10**-29 m**3"
print "density of Zn is",round(rho,1),"kg/m**3"
print "answer in the book is wrong"

volume of cell is 9.356 *10**-29 m**3
density of Zn is 6963.5 kg/m**3
answer in the book is wrong


## Example number 3.13, Page number 51¶

In [15]:
#importing modules
import math
from __future__ import division

#Variable declaration
T1=773;    #temperature(K)
T2=1273;   #temperature(K)
n=1*10**-10;    #fraction of vacancy sites

#Calculation
logx=round(T1*math.log(n)/T2,3);
x=math.exp(logx);           #fraction of vacancy sites

#Result
print "fraction of vacancy sites is",round(x*10**7,3),"*10**-7"
print "answer in the book varies due to rounding off errors"

fraction of vacancy sites is 8.466 *10**-7
answer in the book varies due to rounding off errors


## Example number 3.14, Page number 51¶

In [16]:
#importing modules
import math
from __future__ import division

#Variable declaration
Ev=68*10**3;    #enthalpy(j/mol)
R=8.314;
T1=300;    #temperature(K)
T2=800;   #temperature(K)

#Calculation
x1=-Ev/(R*T1);
x2=-Ev/(R*T2);
n=math.exp(x1)/math.exp(x2);      #ratio of number of vacancies

#Result
print "ratio of number of vacancies is",round(n*10**8,2),"*10**-8"
print "answer in the book varies due to rounding off errors"

ratio of number of vacancies is 3.98 *10**-8
answer in the book varies due to rounding off errors


# Example number 3.15, Page number 52¶

In [17]:
#importing modules
import math
from __future__ import division

#Variable declaration
KbT=0.025;
nbyN=1/10**10;    #concentration
N=10**29;

#Calculation
x=2*KbT;
Ev=x*math.log(1/nbyN);     #value of concentration(eV)
n=1/((N*nbyN)**(1/3));     #average seperation(m)

#Result
print "value of concentration is",round(Ev,1),"eV"
print "average seperation is",round(n*10**6,2),"*10**-6 m"

value of concentration is 1.2 eV
average seperation is 0.46 *10**-6 m


## Example number 3.16, Page number 52¶

In [18]:
#importing modules
import math
from __future__ import division

#Variable declaration
N=2.303*16.65;
T=298;    #temperature(K)
Kb=8.625*10**-5;

#Calculation
E=2*N*Kb*T;      #energy required(eV)

#Result
print "energy required is",round(E,2),"eV"

energy required is 1.97 eV