Chapter 10: Free Electrons in Crystals

Exa 10.1

In [1]:
from __future__ import division
import math
# PythonEx10.1 Particle Moving in One-Dimensional Potential Well:Page-328(2010)




#Variable declaration


a = 10**-3;                #Separation between the walls of the well, m
m = 10**-9;                            # Mass of the dust particle, kg
t = 100;            # Average time for successive collisons with the wall, s
h = 6.626*10**-34;            # Plank's constant, Js


#Calculate

v = a/t;          # Velocity of the particle inside the potential well, m/s
E = 1/2*m*v**2;                          # Kinetic energy of the particle, J
 # For one-dimensional potential well, the energy eigen value is given by
 #            E = h**2*n**2/(8*m*a**2)
 # Solving for n 
# Quantum number corresponding to the energy eigen value E
n =((8*m*a**2*E)/h**2)**0.5


#Result

print "The quantum number described by this motion is:"
print round((n*10**-16),2)*10**16
 
The quantum number described by this motion is:
3.02e+16

Exa 10.2

In [2]:
from __future__ import division
import math
 # Python Code Ex 10.2 Motion of a ground state Electron 
 #in a 3-D Potential Well: Page-329 (2010)
 
 
 
#Variable declaration


a = 0.5*10**-10;            # length of the potential box, m
h = 6.626*10**-34;                       # Plank's Constant, Js
m = 9.1*10**-31;                         # Mass of an Electron, kg
 # In 3-D, the three quantum numbers nx, ny and nz each will have 
 #value equal to 1 for lowest energy state
nx = 1;                         # Quantum number corresponding to x-direction
ny = 1;                      # Quantum number corresponding to y-direction 
nz = 1;                      # Quantum number corresponding to z-direction



#Calculation

EG = h**2*(nx**2+ny**2+nz**2)/(8*m*a**2);# Energy eigen value for 3-D potential,
EeV = EG/(1.6*10**-19);                      # Convert energy from joule to eV



#Result

print "The lowest energy of an electron confined to move "
print"in a 3D-potential box, in eV, is : ",round(EeV,2)
 
The lowest energy of an electron confined to move 
in a 3D-potential box, in eV, is :  452.31

Exa 10.3

In [3]:
from __future__ import division
import math
 # Python Code Ex 10.3 Motion of an Electron excited next to 
 #the ground state in a 3-D Potential Well: Page-329 (2010)
 
 
 
#Variable declaration


a = 1*10**-10;                  # length of the cubic potential box, m
h = 6.626*10**-34;                       # Plank's Constant, Js
m = 9.1*10**-31;                   # Mass of an Electron, kg
k = 1.38*10**-23;              # Boltzmann Constant, J/mol-K
 # In 3-D, the three quantum numbers nx, ny and nz will have values 
 #1, 1 and 2 respectively for first excited energy state 
nx = 1;                   # Quantum number corresponding to x-direction
ny = 1;               # Quantum number corresponding to y-direction 
nz = 2;                 # Quantum number corresponding to z-direction




#Calculation

  # Energy eigen value for 3-D potential for first excited state, J
EE = h**2*(nx**2+ny**2+nz**2)/(8*m*a**2);    
 # As EE(next to the lowest) = 3/2 (k/T), where T is the absolute temperature
 # Solving for T 
#Absolute temperature at which energy next to the lowest energy state 
T = 2/3*1/k*EE;  
EeV = EE/(1.6*10**-19);             # Convert energy from joule to eV



#Result

print "The first excited state energy of the electron confined " 
print"to move in a 3D-potential box, in eV, is : ",round(EeV,2)
print "The temperature at which the average energy becomes equal to "
print"first excited state energy, in K, is : ",round(T,2)
 
The first excited state energy of the electron confined 
to move in a 3D-potential box, in eV, is :  226.15
The temperature at which the average energy becomes equal to 
first excited state energy, in K, is :  1748044.12

Exa 10.4

In [4]:
from __future__ import division
import math
 # Python Code  Ex  10.4  Degeneracy  of  Energy  Level:  Page-332  (2010)
 
 
 
 
#Variable declaration and Calculation


 #  Function  to  find  the  factorial  of  a  number
def  fact(num):
    f  =  1;
    for i in range(1,num+1):
        f  =  f*i;
    return f
 #  Fucntion  to  determine  degenerate  energy  states
def  degno(a, b, c):
    ash=[]
    ash.append(a-b)
    ash.append(b-c)
    ash.append(c-a)
    sm=0
    for c in range(3):
        if ash[c]==0:
            sm=sm+1
    if sm==3:  # check if all the values are same
        degeneracy = 3;
        degstates = fact(3)/fact(degeneracy); #calculate degenerate states
        return degstates
    if sm==1:      # check if any two values are equal
        degeneracy = 2;
        degstates = fact(3)/fact(degeneracy); #calculate degenerate states
        return degstates
    if sm==0:    # check if all the values are different
        degeneracy = 1;
        degstates = fact(3)/fact(degeneracy); #calculate degenerate states
        return degstates
coef  =  38;     #  Coefficient  of  H**2/(8*m*a**2)
nx=[]           #  Quantum  number  corresponding  to  x-direction
ny=[]           #  Quantum  number  corresponding  to  y-direction  
nz=[]            #  Quantum  number  corresponding  to  z-direction
deg=[]           #  Variable  to  store  the  degeneracy  of  states

count  =  1;                               #  set  the  counter  
suum  =  0;                        #  initialize  the  sum
 #  Look  for  all  the  possible  set  of  values  for  nx,  ny  and  ny
for  i in range (1,10):    
    for  j in range (1,10):
        for  k in range (1,10):
#  Check  for  the  condition  and  avoid  repetition  of  set  of  values
            if  ((i**2+j**2+k**2==coef)  and (i+j+k) >  suum): 
                nx.append(i); # Save current i value
                ny.append(j); # Save current j value
                nz.append(k); # Save current k value
                 # Save degeneracy for given set of values
                deg.append(degno(i, j, k));
                count = count + 1; # Increment the counter
                suum = i + j + k; # Add the three values of quantum numbers




#Result

print "\nThe", count-1," set(s)  of  values  of  quantum  number  are  :  \n"
deg_states  =  0;                                #  Intialize  the  variable
for i in range(0,count-1):
    print "\nnx=",nx[i]," ny=",ny[i]," nz=",nz[i],"  \n"  
    deg_states=deg_states+deg[i]
 #  Accumulate  the  degeneracy

print "\nThe  given  energy  level  is ",deg_states,"-fold  degenerate."   

 
The 2  set(s)  of  values  of  quantum  number  are  :  


nx= 1  ny= 1  nz= 6   


nx= 2  ny= 3  nz= 5   


The  given  energy  level  is  9.0 -fold  degenerate.

Exa 10.5

In [5]:
from __future__ import division
import math
 #Python Code Ex 10.5 Fermi energy of zinc at absolute zero: Page-335 (2010)
 
  

#Variable declaration


d = 7.13*10**+3;                            # Density of Zn, in kg per m cube
M = 65.4*10**-3;                            # Atomic weight of Zn, kg/mol
me = 9.1*10**-31;                           # Mass of an electron, kg
v = 2;                 # valency of divalent (Zn) metal
N = 6.023*10**+23;             # Avogadro's Number
h = 6.626*10**-34;                          #Plank's constant, in Js



#Calculation

meff = 0.85*me;                # Effective mass of the electron in zinc, kg
n = v*d*N/M;                            # Number of electrons per unit volume
 #Fermi energy in zinc at absolute zero, J
Ef = h**2/(2*meff)*(3*n/(8*math.pi))**(2/3); 
EfeV = Ef/(1.6*10**-19);                      # Fermi energy in eV
Ebar = (3/5)*EfeV;                # Average energy of an electron at 0K, eV



#Result

print "The fermi energy in zinc at absolute zero,in eV, is : ",round(EfeV,2)
print "The average energy of an electron at 0K,in eV, is : ",round(Ebar,2)
 
The fermi energy in zinc at absolute zero,in eV, is :  11.11
The average energy of an electron at 0K,in eV, is :  6.67

Exa 10.6

In [6]:
from __future__ import division
import math
 # Python Code Ex 10.6 Electron probability above Fermi energy: Page-336 (2010)
 
 
  
#Variable declaration


k = 1.38*10**-23;                           # Boltzmann constant, in J/mol-K
FD = 0.10;              # Fermi-Dirac distribution probability for electrons
Efermi = 5.5;                           # Fermi Energy of silver, in eV


#Calculation

E = Efermi + 0.01*Efermi;               # Allowed energy for electrons
dE = E - Efermi;        #Deviation of allowed energy from Fermi energy, in eV
DEeV = dE*1.6*10**-19;           #Convert into joule
 # The Fermi-Dirac distribution function as at any temperature T is given by
 #            F(E) = FD = 1/(math.exp((E-Efermi)/kT)+1
 # Solving for T 
# Absolute temperature at which result follows, in K
T = DEeV/(k*math.log(1/FD-1));


#Result

print "The temperature at which the given probability is expected, in K, is :"
print round(T,2)
The temperature at which the given probability is expected, in K, is :
290.22

Exa 10.7

In [7]:
from __future__ import division
import math
 #Python Code Ex 10.7 The Electroic Specific Heat of Cu: Page-341 (2010)
 
 
  
#Variable declaration


k = 1.38*10**-23;                           #Boltzmann constant, in J/mol-K
N = 6.023*10**+23;                          # Avogadro's Number
Efermi = 7.05;                      # Fermi energy of copper, in eV
EFeV = Efermi*1.6*10**-19;         # Fermi energy conversion, in J
T1 = 4;                                 #Lower value of temperature, in K
T2 = 300;                               #Upper value of temperature, in K


#Calculation

Ce4 = (math.pi**2*k**2*T1)/(2*EFeV)*N#Electronic specific heat at 4K, J/mol/K
Ce100 = (math.pi**2*k**2*T2)/(2*EFeV)*N#Electronic specific heat at 100K, 


#Result

print "The Electronic specific heat at 4K, in J/mol/K is :",round(Ce4,3)
print "The Electronic specific heat at 100K, in J/mol/K is :",round(Ce100,2)
 
The Electronic specific heat at 4K, in J/mol/K is : 0.002
The Electronic specific heat at 100K, in J/mol/K is : 0.15

Exa 10.8

In [8]:
from __future__ import division
import math
 #Python Code Ex 10.8 The Electrical Resistivity: Page-343 (2010)
 
 
 
  
#Variable declaration


tau=3*10**-14#Classical value of mean free time
n=2#BCC structure
e=1.6*10**-19
m=9.1*10**-31
R=1.85*10**-10



#Calculation

a=(4/(3)**0.5)*R
ne=n/(a)**3 # number of electrons per unit volume
ro=m/(ne*(e*e)*tau)


#Result

print"Electrical resistivity at 0degree",round((ro*10**8),2)*10**-8,"ohm metre"
Electrical resistivity at 0degree 4.62e-08 ohm metre

Exa 10.9

In [9]:
from __future__ import division
import math
 # Python Code Ex 10.9 Electrical Conductivity of Cu: Page-345 (2010)
 
 
  
#Variable declaration


e = 1.6*10**-19; # Electronic charge, C
N = 6.023*10**+23; # Avogardro's number
d = 8920; # Density of Copper, kg per metre cube
A = 63.5; # Atomic weight of copper, g/mole
I = 10; # Current through uniform copper wir, A
D = 16*10**-4; #Diameter of circular cross-section of copper wire, m



#Calculation

R = D/2; # Radius of circular cross-section of copper wire, m
# The number of electrons per unit volume in copper, per metre cube
n = d*N/63.5*1*10**+3; 
 # Current density of electrons in copper, ampere per metre square
J = I/(math.pi*R**2);
vd = J/(n*e); # Drift velocity of electrons in copper, metre per second



#Result

print "The current density of electrons in copper,in ampere per metre square,"
print round(J)
print "The drift velocity of electrons in copper, in metre per second, "
print round(vd,4)
 
The current density of electrons in copper,in ampere per metre square,
4973592.0
The drift velocity of electrons in copper, in metre per second, 
0.0004

Exa 10.10

In [10]:
from __future__ import division
import math
 # Python Code Ex 10.10 Electron mobility inside conductors : Page-346 (2010)
 
 
 
#Variable declaration

 
e = 1.6*10**-19;                        # Electronic charge, in C
m = 9.1*10**-31;                            # Eelctronic mass, in kg
res = 1.54*10**-8;          # Electrical resistivity of silver, in ohm metre
E = 100;         # Electric field applied along the length of the wire, V/m
n = 5.8*10**+28;#Number of conduction electrons per unit volume, per metre cube


#Calculation

mu = 1/(res*n*e);#Mobility of electron through silver,metre square per volt-sec
vd = mu*E;               # Average drift velocity of electrons, m/s
t = mu*m/e;               # Relaxation time of the electron, s




#Result

print "The mobility of electron through silver, in metre square per V-s, is "
print round(mu,2)
print "The average drift velocity of electrons, in m/s, is : "
print round(vd,2)
print "The average drift velocity of electrons, in m/s, is  "
print round((t*10**14),2)*10**-14
The mobility of electron through silver, in metre square per V-s, is 
0.01
The average drift velocity of electrons, in m/s, is : 
0.7
The average drift velocity of electrons, in m/s, is  
3.98e-14

Exa 10.11

In [11]:
from __future__ import division
import math
 # Python Code Ex 10.11 Lorentz number calculation of a solid: Page-347 (2010)
 
  
#Variable declaration


e = 1.6*10**-19;                           # Electronic charge, in C
k = 1.38*10**-23;                           # boltzmann constant, J/mol-K
T = 293;                                # Absolute temperature of the solid
K = 390;                  # Thermal conductivity of copper at 293 K, W/m-K
l = 0.5;                                # Lenght of the copper wire, m
d = 0.3*10**-3;                  # Diameter of cross-section of Cu, m
r = d/2;                                # Radius of copper wire, m
R = 0.12;                               # Resistance of copper wire, ohm



#Calculation

 # As R = 1/con*l/(%math.pi*r**2)
 # Solving for R
con = l/(math.pi*r**2*R);      # Conductance of copper, per ohm per metre
#The Lorentz number is defined as the ratio of the Thermal conductivity to the 
 # Electrical conductivity of a solid per degree rise in temperature
 # Experimental value of Lorentz number, watt ohm per kelvin square
Lexp = K/(con*T);
 # Thoeretical value of Lorentz number value, watt ohm per kelvin square
Lth = math.pi**2/3*(k/e)**2;


#Result

print"The experimetal value of Lorentz number,in watt ohm per kelvin square,:"
print round((Lexp*10**8),2)*10**-8
print"The theoretical value of Lorentz number,in watt ohm per kelvin square,"
print round((Lth*10**8),2)*10**-8
print"\nThe theoretical value of Lorentz number is",round(Lth/Lexp,2)
print"times higher than the experimental one.\n"
 
The experimetal value of Lorentz number,in watt ohm per kelvin square,:
2.26e-08
The theoretical value of Lorentz number,in watt ohm per kelvin square,
2.45e-08

The theoretical value of Lorentz number is 1.08
times higher than the experimental one.

Exa 10.12

In [12]:
from __future__ import division
import math
 #  Python  Code  Ex  10.12  Increase  in  electrical  resistivity 
# of  a  metal  with  temperature:  Page-349  (2010)


 
#Variable declaration and calculation


def  final_res(T):
    alpha=0.0001         #  Temperature  co-efficient  of  resistance
    res=0  #  Initial  resistivity  of  the  nichrome  which  is  an  arbitray  
#constant  and  can  be  taken  to  be  zero
    res  =  res  +  alpha*T;#Final resistivity of the nichrome as function of T  
    return res
T1  =  300;              #  Initial  temperature  of  nichrome,  K
T2  =  1000;            #  Final  temperature  of  nichrome,  K
res300  =  final_res(T1); #  Final  resistivity  of  the  nichrome  at  300  K  
res1000  =  final_res(T2) # Final  resistivity  of  the  nichrome  at  1000  K  
percent_res  =  (res1000  -  res300)*100;# Percentag  increase in  resistivity 



#Result
 
print"\nThe  percentage  increase  in  the  resistivity  of  nichrome  is"
print round(percent_res,2)," percent"
 
The  percentage  increase  in  the  resistivity  of  nichrome  is
7.0  percent

Exa 10.13

In [13]:
from __future__ import division
import math
 # PythonCode Ex 10.13 Thermionic emission of a filament: Page-352 (2010)
 
 
  
#Variable declaration


e = 1.6*10**-19; # Electronic charge, C
m = 9.1*10**-31; # Mass of the electron, kg
k = 1.38*10**-23; # Boltzmann constant, J/mol-K
h = 6.626*10**-34; # Plank's constant, Js
W = 4.5; # Work function of tungsten filament, eV
D = 1*10**-4; # Diameter of the filament, m
r = D/2; # Radius of the filament, m
T = 2400; # Temperature of the filament, K
l = 0.05; # Length of the filament, m



#Calculation

A = 4*math.pi*e*m*k**2/h**3; # A constant expressed in ampere per metre square 
 # per kelvin square
a = 2*math.pi*r*l; # Surface area of the filament, meter square
J = A*T**2*math.exp(-e*W/(k*T)); # Electronic current density of the filament, 
 # ampere per metre square
I = a*J; # Electric current due to thermionic emission, ampere


#Result

print "The electric current due to thermionic emission, in A, is : ",round(I,2)
 
The electric current due to thermionic emission, in A, is :  0.04

Exa 10.14

In [14]:
from __future__ import division
import math
 # Python Code Ex 10.14 Hall coefficient calculation of sodium based on 
 #free electron model: Page-353 (2010)
 
 
 
  
#Variable declaration


e = 1.6*10**-19;                           # Electronic charge, C
a = 4.28*10**-10; # lattice parameter of the unit cell of sodium crystal, m
N = 2;            # Number of atoms per unit cell in bcc structure of sodium 


#Calculation

n = N/a**3;# Number of electrons per unit volume for the sodium crystal, 
RH = -1/(n*e);           # Hall coefficient of sodium, metre cube per coulomb


#Result

print "The Hall coefficient of sodium , in metre cube per coulomb, is : "
print -round((RH*10**10),2)*10**-9
 
The Hall coefficient of sodium , in metre cube per coulomb, is : 
2.45e-09