# 5: Electron Theory of Metals¶

## Example number 1, Page number 5-27¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
E_EF=0.5;     #fermi energy(eV)
FE=1/100;     #probability
Kb=1.381*10**-23;     #boltzmann constant(J/k)
x=6.24*10**18;

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

#Result
print "temperature is",round(T,2),"K"
print "answer given in the book is wrong"

temperature is 1259.93 K
answer given in the book is wrong


## Example number 2, Page number 5-28¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.602*10**-19;      #charge(c)
m=9.11*10**-31;       #mass(kg)
h=6.63*10**-34;       #plancks constant(Js)
Ef=7*e;               #fermi energy(J)

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

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

total number of free electrons is 8.3954 *10**28 electrons/m**3
answer in the book varies due to rounding off errors


## Example number 3, Page number 5-28¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
rho=1.54*10**-8;      #resistivity(ohm m)
n=5.8*10**28;         #number of electrons
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 in the book varies due to rounding off errors"

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


## Example number 4, Page number 5-29¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
rho=1.43*10**-8;      #resistivity(ohm m)
n=6.5*10**28;         #number of electrons
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, Page number 5-29¶

In :
#importing modules
import math
from __future__ import division

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

#Calculation
N=n*D*Na/w;           #number of conduction electrons(/m**3)
mew=1/(rho*N*e);      #mobility(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 /m**3"
print "mobility 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 /m**3
mobility is 0.00128 m**2/Vs
drift velocity is 2.3 *10**-4 m/s


## Example number 6, Page number 5-30¶

In :
#importing modules
import math
from __future__ import division

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

#Calculation
n=D*Na/W;
mew=1/(rho*n*e);      #mobility(m**2/Vs)

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

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


## Example number 7, Page number 5-31¶

In :
#importing modules
import math
from __future__ import division

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

#Calculation
n=D*Na/W;
mew=1/(rho*n*e);      #mobility(m**2/Vs)

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

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


## Example number 8, Page number 5-31¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
rho=1.50*10**-8;    #resistivity(ohm m)
n=6.5*10**28;       #conduction 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(sec)

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

relaxation time is 3.64 *10**-14 s


## Example number 9, Page number 5-32¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
m=9.11*10**-31;      #mass(kg)
rho=1.54*10**-8;     #resistivity(ohm m)
e=1.602*10**-19;     #charge(c)
E=10**2;             #electric field(V/m)
n=5.8*10**28;        #number of electrons
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 10, Page number 5-32¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
m=9.11*10**-31;      #mass(kg)
e=1.602*10**-19;     #charge(c)
E=5.5;               #fermi energy(V/m)
tow=3.97*10**-14;    #relaxation time(s)

#Calculation
Vf=math.sqrt(2*E*e/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 11, Page number 5-33¶

In :
#importing modules
import math
from __future__ import division

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

#Calculation
n=n*NA*D/M;           #electronic concentration(per m**3)
x=(3*n/math.pi)**(2/3);
Ef=h**2*x/(8*m);      #fermi energy(J)

#Result
print "electronic concentration is",round(n/10**28,3),"*10**28 per m**3"
print "fermi energy is",round(Ef*10**19,2),"*10**-19 J"

electronic concentration is 5.863 *10**28 per m**3
fermi energy is 8.83 *10**-19 J


## Example number 12, Page number 5-33¶

In :
#importing modules
import math
from __future__ import division

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

#Calculation
J=I/A;            #current density(amp/m**2)
n=n*Na*D/w;
vd=J/(n*e);       #drift velocity(m/s)

#Result
print "current density is",int(J/10**7),"*10**7 amp/m**2"
print "drift velocity is",round(vd*10**3,4),"*10**-3 m/s"

current density is 1 *10**7 amp/m**2
drift velocity is 0.7391 *10**-3 m/s