# 5: Electron theory of metals¶

## Example number 5.1, Page number 5.27¶

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

#Variable declaration
fE=1/100;    #probability(%)
E_EF=0.5;    #fermi energy(eV)
Kb=1.38*10**-23;    #boltzmann constant
e=6.24*10**18;      #conversion faction from J to eV

#Calculation
x=E_EF/(Kb*e);
y=math.log(1/fE);
T=x/y;        #temperature(K)

#Result
print "temperature is",round(T,2),"K"
print "answer varies due to rounding off errors"

temperature is 1260.84 K
answer varies due to rounding off errors


## Example number 5.2, Page number 5.28¶

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

#Variable declaration
Ef=7*1.602*10**-19;     #fermi energy(J)
h=6.63*10**-34;     #planck's constant
m=9.11*10**-31;     #mass(kg)

#Calculation
x=h**2/(8*m);
y=(3/math.pi)**(2/3);
n23=Ef/(x*y);
n=n23**(3/2);       #total number of free electrons(per m**3)

#Result
print "total number of free electrons is",round(n/10**28,4),"**10**28 per m**3"
print "answer varies due to rounding off errors"

total number of free electrons is 8.3954 **10**28 per m**3
answer varies due to rounding off errors


## Example number 5.3, Page number 5.28¶

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

#Variable declaration
rho=1.54*10**-8;     #resistivity of metal(ohm m)
n=5.8*10**28;     #number of free electrons(per m**3)
e=1.602*10**-19;     #charge(c)
m=9.11*10**-31;     #mass(kg)

#Calculation
tow=m/(n*e**2*rho);       #relaxation time(s)

#Result
print "relaxation time is",round(tow*10**15,3),"*10**-15 s"
print "answer varies due to rounding off errors"

relaxation time is 39.742 *10**-15 s
answer varies due to rounding off errors


## Example number 5.4, Page number 5.29¶

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

#Variable declaration
rho=1.43*10**-8;     #resistivity of metal(ohm m)
n=6.5*10**28;     #number of free electrons(per m**3)
e=1.6*10**-19;     #charge(c)
m=9.1*10**-31;     #mass(kg)

#Calculation
tow=m/(n*e**2*rho);       #relaxation time(s)

#Result
print "relaxation time is",round(tow*10**14,2),"*10**-14 s"

relaxation time is 3.82 *10**-14 s


## Example number 5.5, Page number 5.29¶

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

#Variable declaration
L=5;    #length(m)
R=0.06;    #resistance(ohm)
I=15;      #current(A)
ne=3;    #number of electrons
rho=2.7*10**-8;   #resistivity(ohm m)
w=26.98;   #atomic weight
D=2.7*10**3;   #density(kg/m**3)

#Calculation
n=ne*Na*D/w;       #number of conduction electrons(per m**3)
mew=1/(n*e*rho);    #mobility of electrons(m**2/Vs)
vd=I*R/(L*rho*n*e);     #drift velocity(m/s)

#Result
print "number of conduction electrons is",round(n/10**29,4),"*10**29 per m**3"
print "mobility of electrons is",round(mew,5),"m**2/Vs"
print "drift velocity is",round(vd*10**4,1),"*10**-4 m/s"

number of conduction electrons is 1.8088 *10**29 per m**3
mobility of electrons is 0.00128 m**2/Vs
drift velocity is 2.3 *10**-4 m/s


## Example number 5.6, Page number 5.30¶

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

#Variable declaration
ne=1;    #number of electrons
rho=1.73*10**-8;   #resistivity(ohm m)
w=63.5;   #atomic weight
e=1.6*10**-19;     #charge(c)
D=8.92*10**3;   #density(kg/m**3)

#Calculation
n=ne*Na*D/w;
mew=1/(n*e*rho);     #mobility of electrons(m**2/Vs)

#Result
print "mobility of electrons is",round(mew,5),"m**2/Vs"
print "answer in the book is wrong"

mobility of electrons is 0.00427 m**2/Vs
answer in the book is wrong


## Example number 5.7, Page number 5.31¶

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

#Variable declaration
ne=1;    #number of electrons
rho=1.721*10**-8;   #resistivity(ohm m)
w=63.54;   #atomic weight
e=1.6*10**-19;     #charge(c)
D=8.95*10**3;   #density(kg/m**3)

#Calculation
n=ne*Na*D/w;
mew=1/(n*e*rho);     #mobility of electrons(m**2/Vs)

#Result
print "mobility of electrons is",round(mew,5),"m**2/Vs"
print "answer in the book is wrong"

mobility of electrons is 0.00428 m**2/Vs
answer in the book is wrong


## Example number 5.8, Page number 5.31¶

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

#Variable declaration
rho=1.5*10**-8;     #resistivity of metal(ohm m)
n=6.5*10**28;     #number of free electrons(per m**3)
e=1.602*10**-19;     #charge(c)
m=9.11*10**-31;     #mass(kg)

#Calculation
tow=m/(n*e**2*rho);       #relaxation time(s)

#Result
print "relaxation time is",round(tow*10**14,2),"*10**-14 s"

relaxation time is 3.64 *10**-14 s


## Example number 5.9, Page number 5.32¶

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

#Variable declaration
rho=1.54*10**-8;     #resistivity of metal(ohm m)
n=5.8*10**28;     #number of free electrons(per m**3)
e=1.602*10**-19;     #charge(c)
m=9.11*10**-31;     #mass(kg)
E=1*10**2;   #electric field(V/m)
Kb=1.381*10**-23;    #boltzmann constant
T=300;    #temperature(K)

#Calculation
tow=m/(n*e**2*rho);       #relaxation time(s)
vd=e*E*tow/m;    #drift velocity(m/s)
mew=vd/E;        #mobility(m**2/Vs)
Vth=math.sqrt(3*Kb*T/m);    #thermal velocity(m/s)

#Result
print "relaxation time is",round(tow*10**14,2),"*10**-14 s"
print "drift velocity is",round(vd,1),"m/s"
print "mobility is",round(mew*10**2,1),"*10**-2 m**2/Vs"
print "thermal velocity is",round(Vth/10**5,2),"*10**5 m/s"

relaxation time is 3.97 *10**-14 s
drift velocity is 0.7 m/s
mobility is 0.7 *10**-2 m**2/Vs
thermal velocity is 1.17 *10**5 m/s


## Example number 5.10, Page number 5.32¶

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

#Variable declaration
EF=5.5*1.602*10**-19;     #fermi energy of silver(J)
tow=3.97*10**-14;    #relaxation time(s)
m=9.11*10**-31;     #mass(kg)

#Calculation
vf=math.sqrt(2*EF/m);      #fermi velocity(m/s)
lamda=vf*tow;      #mean free path(m)

#Result
print "fermi velocity is",round(vf/10**6,2),"*10**6 m/s"
print "mean free path is",round(lamda*10**8,2),"*10**-8 m"

fermi velocity is 1.39 *10**6 m/s
mean free path is 5.52 *10**-8 m


## Example number 5.11, Page number 5.33¶

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

#Variable declaration
ne=1;    #number of electrons
M=107.9;   #atomic weight
D=10500;   #density(kg/m**3)
m=9.11*10**-31;     #mass(kg)
h=6.63*10**-34;     #planck's constant

#Calculation
n=ne*Na*D/M;
x=h**2/(8*m);
y=(3/math.pi)**(2/3);
Ef=x*y*n**(2/3);       #fermi energy(eV)

#Result
print "fermi energy is",round(Ef*10**19,2),"*10**-19 J"

fermi energy is 8.83 *10**-19 J


## Example number 5.12, Page number 5.33¶

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

#Variable declaration
A=10*10**-6;     #area(m**2)
ne=1;    #number of electrons
I=100;    #current(amperes)
w=63.5;   #atomic weight
e=1.6*10**-19;     #charge(c)
D=8.92*10**3;   #density(kg/m**3)

drift velocity of free electrons is 0.7391 *10**-3 m/s