Chapter 9:Semiconductors

Example 9.2 , Page no:272

In [1]:
import math
from __future__ import division

#given
Eg=0.67; #in eV (Energy band gap)
k=1.38E-23; #in J/K (Boltzmann’s constant)
T1=298; #in K (room temperature)
e=1.6E-19; #in C (charge of electron)
K=10; #ratio of number of electrons at different temperature

#calculate
Eg=Eg*e; #changing unit from eV to Joule
#since ne=Ke*exp(-Eg/(2*k*T))
#and ne/ne1=exp(-Eg/(2*k*T))/exp(-Eg/(2*k*T1)) and ne/ne1=K=10
#therefore we have 10=exp(-Eg/(2*k*T))/exp(-Eg/(2*k*T1))
#re-arranging the equation for T, we get T2=1/((1/T1)-((2*k*log(10))/Eg))
T=1/((1/T1)-((2*k*math.log(10))/Eg)); #calculation of the temperature

#result
print"The temperature at which number of electrons in the conduction band of a semiconductor increases by a factor of 10 is T=",round(T),"K            (roundoff error)";
The temperature at which number of electrons in the conduction band of a semiconductor increases by a factor of 10 is T= 362.0 K            (roundoff error)

Example 9.3 , Page no:272

In [2]:
import math
from __future__ import division

#given
ni=2.5E13; #in /cm^3 (intrinsic carrier density)
ue=3900; #in cm^2/(V-s) (electron mobilities)
uh=1900; #in cm^2/(V-s) (hole mobilities)
e=1.6E-19; #in C (charge of electron)
l=1; #in cm (lenght of the box)
b=1;h=1; #in mm (dimensions of germanium rod )

#calculate
ni=ni*1E6; #changing unit from 1/cm^3 to 1/m^3
ue=ue*1E-4; #changing unit from cm^2 to m^2
uh=uh*1E-4; #changing unit from cm^2 to m^2
sigma=ni*e*(ue+uh); #calculation of conductivity
rho=1/sigma; #calculation of resistivity
l=l*1E-2; #changing unit from mm to m for length
A=(b*1E-3)*(h*1E-3); #changing unit from mm to m for width and height and calculation of cross-sectional area
R=rho*l/A; #calculation of resistance

#result
print"The resistance of intrinsic germanium is R=",'%.3E'%R,"ohm";
The resistance of intrinsic germanium is R= 4.310E+03 ohm

Example 9.4 , Page no:273

In [3]:
import math
from __future__ import division

#given
ne=2.5E19; #in /m^3 (electron  density)
nh=2.5E19; #in /m^3 (hole density)
ue=0.36; #in m^2/(V-s) (electron mobilities)
uh=0.17; #in m^2/(V-s) (hole mobilities)
e=1.6E-19; #in C (charge of electron)

#calculate
#since ne=nh=ni,  therefore we have 
ni=nh;
sigma=ni*e*(ue+uh); #calculation of conductivity
rho=1/sigma; #calculation of resistivity

#result
print"The conductivity of germanium is =",round(sigma,2),"/ohm-m";
print"The resistivity of germanium is =",round(rho,2),"ohm-m";
The conductivity of germanium is = 2.12 /ohm-m
The resistivity of germanium is = 0.47 ohm-m

Example 9.5 , Page no:273

In [4]:
import math
from __future__ import division

#given
ni=1.5E16; #in /m^3 (intrinsic carrier density)
ue=0.135; #in m^2/(V-s) (electron mobilities)
uh=0.048; #in m^2/(V-s) (hole mobilities)
e=1.6E-19; #in C (charge of electron)
ND=1E23; #in atom/m^3 (doping concentration)

#calculate
sigma_i=ni*e*(ue+uh); #calculation of intrinsic conductivity
sigma=ND*ue*e; #calculation of conductivity after doping
rho=ni**2/ND; #calculation of equilibrium hole concentration

#result
print"The intrinsic conductivity for silicon is =",'%.3E'%sigma_i,"S";
print"The conductivity after doping with phosphorus atoms is =",'%.3E'%sigma,"S";
print"The equilibrium hole concentration is =",'%.3E'%rho,"/m^3";
The intrinsic conductivity for silicon is = 4.392E-04 S
The conductivity after doping with phosphorus atoms is = 2.160E+03 S
The equilibrium hole concentration is = 2.250E+09 /m^3

Example 9.6 , Page no:274

In [5]:
import math
from __future__ import division

#given
ni=1.5E16; #in /m^3 (intrinsic carrier density)
ue=0.13; #in m^2/(V-s) (electron mobilities)
uh=0.05; #in m^2/(V-s) (hole mobilities)
e=1.6E-19; #in C (charge of electron)
ne=5E20; #in /m^3 (concentration of donor type impurity)
nh=5E20; #in /m^3 (concentration of acceptor type impurity)

#calculate
#part-i
sigma=ni*e*(ue+uh); #calculation of intrinsic conductivity
#part-ii
#since 1 donor atom is in 1E8 Si atoms, hence holes concentration can be neglected
sigma1=ne*e*ue; #calculation of conductivity after doping with donor type impurity
#part-iii
#since 1 acceptor atom is in 1E8 Si atoms, hence electron concentration can be neglected
sigma2=nh*e*uh; #calculation of conductivity after doping with acceptor type impurity

#result
print"The intrinsic conductivity for silicon is =",'%.3E'%sigma,"(ohm-m)^-1";
print"The conductivity after doping with donor type impurity is =",sigma1,"(ohm-m)^-1";
print"The conductivity after doping with acceptor type impurity is =",sigma2,"(ohm-m)^-1";
The intrinsic conductivity for silicon is = 4.320E-04 (ohm-m)^-1
The conductivity after doping with donor type impurity is = 10.4 (ohm-m)^-1
The conductivity after doping with acceptor type impurity is = 4.0 (ohm-m)^-1

Example 9.7 , Page no:274

In [6]:
import math
from __future__ import division

#given
ni=1E20; #in /m^3 (intrinsic carrier density)
ND=1E21; #in /m^3 (donor impurity concentration)

#calculate
nh=ni**2/ND; #calculation of density of hole carriers at room temperature

#result
print"The density of hole carriers at room temperature is nh=",nh,"/m^3";
#Note: answer in the book is wrong due to printing mistake
The density of hole carriers at room temperature is nh= 1e+19 /m^3

Example 9.8 , Page no:275

In [7]:
import math
from __future__ import division

#given
M=72.6; #atomic mass of germanium
P=5400; #in Kg/m^3 (density)
ue=0.4; #in m^2/V-s (mobility of electrons)
uh=0.2; #in m^2/V-s (mobility of holes)
Eg=0.7; #in eV (Band gap)
m=9.1E-31; #in Kg (mass of electron)
k=1.38E-23; #in J/K (Boltzmann’s constant)
T=300; #in K (temperature)
h=6.63E-34; #in J/s (Planck’s constant)
pi=3.14; #value of pi used in the solution
e=1.6E-19; #in C(charge of electron)

#calculate
Eg=Eg*e; #changing unit from eV to J
ni=2*(2*pi*m*k*T/h**2)**(3/2)*math.exp(-Eg/(2*k*T));
sigma=ni*e*(ue+uh);

#result
print"The intrinsic carrier density for germanium at 300K is ni=",'%.3E'%ni,"/m^3";
print"The conductivity of germanium is=",round(sigma,3),"(ohm-m)^-1";
print "NOTE: The answer in the textbook is wrong" 
The intrinsic carrier density for germanium at 300K is ni= 3.334E+19 /m^3
The conductivity of germanium is= 3.201 (ohm-m)^-1
NOTE: The answer in the textbook is wrong

Example 9.9 , Page no:275

In [8]:
import math
from __future__ import division

#given
rho1=4.5; #in ohm-m (resistivity at 20 degree Celcius)
rho2=2.0; #in ohm-m (resistivity at 32 degree Celcius)
k=1.38E-23; #in J/K (Boltzmann’s constant)
T1=20; T2=32; #in degree Celcius (two temperatures)
e=1.6E-19; #in C (charge of electron)

#calculate
T1=T1+273; #changing unit from degree Celius to K
T2=T2+273; #changing unit from degree Celius to K
#since sigma=e*u*C*T^(3/2)*exp(-Eg/(2*k*T))
#therefore sigma1/sigma2=(T1/T2)^3/2*exp((-Eg/(2*k)*((1/T1)-(1/T2))
#and sigma=1/rho 
#therefore we have rho2/rho1=(T1/T2)^3/2*exp((-Eg/(2*k)*((1/T1)-(1/T2))
#re-arranging above equation for Eg, we get Eg=(2*k/((1/T1)-(1/T2)))*((3/2)*log(T1/T2)-log(rho2/rho1))
Eg=(2*k/((1/T1)-(1/T2)))*((3/2)*math.log(T1/T2)-math.log(rho2/rho1));
Eg1=Eg/e;#changing unit from J to eV

#result
print"The energy band gap is Eg=",'%.3E'%Eg,"J";
print"\t\t\t =",round(Eg1,3),"eV";
The energy band gap is Eg= 1.543E-19 J
			 = 0.964 eV

Example 9.10 , Page no:276

In [9]:
import math
from __future__ import division

#given
rho=2300; #in ohm-m (resistivity of pure silicon)
ue=0.135; #in m^2/V-s (mobility of electron)
uh=0.048; #in m^2/V-s (mobility of electron)
Nd=1E19; #in /m^3 (doping concentration)
e=1.6E-19; #in C (charge of electron)

#calculate
#since sigma=ni*e*(ue+uh) and sigma=1/rho
#therefore ni=1/(rho*e*(ue+uh))
ni=1/(rho*e*(ue+uh)); #calculation of intrinsic concentration
ne=Nd; #calculation of electron concentration
nh=ni**2/Nd; #calculation of hole concentration
sigma=ne*ue*e+nh*uh*e; #calculation of conductivity
rho=1/sigma; #calculation of resistivity

#result
print"The electron concentration is ne=",ne,"/m^3";
print"The hole concentration is nh=",'%.3E'%nh,"/m^3";
print"The resistivity of the specimen  is =",round(rho,3),"ohm-m";
The electron concentration is ne= 1e+19 /m^3
The hole concentration is nh= 2.205E+13 /m^3
The resistivity of the specimen  is = 4.63 ohm-m

Example 9.11 , Page no:276

In [10]:
import math
from __future__ import division

#given
uh=1900; #in cm^2/V-s (mobility of electron)
Na=2E17; #in /m^3 (acceptor doping concentration)
e=1.6E-19; #in C(charge of electron)

#calculate
uh=uh*1E-4; #changing unit from cm^2/V-s to m^2/V-s
Na=Na*1E6; #changing unit from 1/cm^3 to 1/m^3
nh=Na; #hole concentration 
#since sigma=ne*ue*e+nh*uh*e and nh>>ne
#therefore sigma=nh*uh*e
sigma=nh*uh*e; #calculation of conductivity

#result
print"The conductivity of p-type Ge crystal is =",sigma,"/ohm-m   (roundoff error)";
The conductivity of p-type Ge crystal is = 6080.0 /ohm-m   (roundoff error)

Example 9.12 , Page no:277

In [11]:
import math
from __future__ import division

#given
ue=0.19; #in m^2/V-s (mobility of electron)
T=300; #in K (temperature)
k=1.38E-23; #in J/K (Boltzmann’s constant)
e=1.6E-19; #in C(charge of electron)

#calculate
Dn=ue*k*T/e; #calculation of diffusion co-efficient

#result
print"The diffusion co-efficient of electron in silicon is Dn=",'%.3E'%Dn,"m^2/s";
The diffusion co-efficient of electron in silicon is Dn= 4.916E-03 m^2/s

Example 9.13 , Page no:277

In [12]:
import math
from __future__ import division

#given
Eg=0.4; #in eV (Band gap of semiconductor)
k=1.38E-23; #in J/K (Boltzmann’s constant)
T1=0; #in degree Celcius (first temperature)
T2=50; #in degree Celcius (second temperature)
T3=100; #in degree Celcius (third temperature)
e=1.602E-19; #in C (charge of electron)

#calculate
T1=T1+273; #changing temperature form Celcius to Kelvin
T2=T2+273; #changing temperature form Celcius to Kelvin
T3=T3+273; #changing temperature form Celcius to Kelvin
Eg=Eg*e; #changing unit from eV to Joule
#Using F_E=1/(1+exp(Eg/2*k*T))
F_E1=1/(1+math.exp(Eg/(2*k*T1))); #calculation of probability of occupation of lowest level at 0 degree Celcius
F_E2=1/(1+math.exp(Eg/(2*k*T2))); #calculation of probability of occupation of lowest level at 50 degree Celcius
F_E3=1/(1+math.exp(Eg/(2*k*T3))); #calculation of probability of occupation of lowest level at 100 degree Celcius

#result
print"The probability of occupation of lowest level in conduction band is";
print"\t at 0 degree Celcius, F_E=",'%.3E'%F_E1,"eV";
print"\t at 50 degree Celcius, F_E=",'%.3E'%F_E2,"eV";
print"\t at 100 degree Celcius, F_E=",'%.3E'%F_E3,"eV";
The probability of occupation of lowest level in conduction band is
	 at 0 degree Celcius, F_E= 2.025E-04 eV
	 at 50 degree Celcius, F_E= 7.550E-04 eV
	 at 100 degree Celcius, F_E= 1.976E-03 eV

Example 9.14 , Page no:278

In [13]:
import math
from __future__ import division

#given
Eg=1.2; #in eV (Energy band gap)
k=1.38E-23; #in J/K (Boltzmann’s constant)
T1=600; T2=300; #in K (two temperatures)
e=1.6E-19; #in C (charge of electron)

#calculate
Eg=Eg*e; #changing unit from eV to Joule
#since sigma is proportional to exp(-Eg/(2*k*T))
#therefore ratio=sigma1/sigma2=exp(-Eg/(2*k*((1/T1)-(1/T2))));
ratio= math.exp((-Eg/(2*k))*((1/T1)-(1/T2))); #calculation of ratio of conductivity at 600K and at 300K

#result
print"The ratio of conductivity at 600K and at 300K is =",'%.3E'%ratio;
The ratio of conductivity at 600K and at 300K is = 1.085E+05

Example 9.15 , Page no:278

In [14]:
import math
from __future__ import division

#given
ue=0.39; #in m^2/V-s (mobility of electron)
n=5E13; #number of donor atoms
ni=2.4E19; #in atoms/m^3 (intrinsic carrier density)
l=10; #in mm (length of rod)
a=1; #in mm (side of square cross-section)
e=1.6E-19; #in C (charge of electron)

#calculate
l=l*1E-3; #changing unit from mm to m
a=a*1E-3; #changing unit from mm to m
A=a**2; #calculation of cross-section area
Nd=n/(l*A); #calculation of donor concentration
ne=Nd; #calculation of electron density
nh=ni**2/Nd; #calculation of hole density
#since sigma=ne*e*ue+nh*e*ue and since ne>>nh
#therefore sigma=ne*e*ue
sigma=ne*e*ue; #calculation of conductivity
rho=1/sigma; #calculation of resistivity
R=rho*l/A; #calculation of resistance 

#result
print"The electron density is ne=",ne,"/m^3";
print"The hole density is nh=",nh,"/m^3";
print"The conductivity is =",sigma,"/ohm-m";
print"The resistance is R=",round(R),"ohm";
The electron density is ne= 5e+21 /m^3
The hole density is nh= 1.152e+17 /m^3
The conductivity is = 312.0 /ohm-m
The resistance is R= 32.0 ohm

Example 9.16 , Page no:279

In [15]:
import math
from __future__ import division

#given
RH=3.66E-4; #in m^3/C (Hall coefficient)
rho=8.93E-3; #in ohm-m (resistivity)
e=1.6E-19; #in C (charge of electron)

#calculate
u=RH/rho; #calculation of mobility
n=1/(RH*e); #calculation of density

#result
print"The mobility is u=",round(u,4),"m^2/(V-s)";
print"The density is n=",'%.3E'%n,"/m^3";
The mobility is u= 0.041 m^2/(V-s)
The density is n= 1.708E+22 /m^3

Example 9.17 , Page no:279

In [16]:
import math
from __future__ import division

#given
RH=3.66E-4; #in m^3/C (Hall coefficient)
rho=8.93E-3; #in ohm-m (resistivity)
e=1.6E-19; #in C (charge of electron)

#calculate
nh=1/(RH*e); #calculation of density of charge carrier
uh=1/(rho*nh*e); #calculation of mobility of charge carrier

#result
print"The density of charge carrier is nh=",'%.3E'%nh,"/m^3";
print"The mobility of charge carrier is uh=",round(uh,4),"m^2/(V-s)";
The density of charge carrier is nh= 1.708E+22 /m^3
The mobility of charge carrier is uh= 0.041 m^2/(V-s)