9: Semiconductors

Example number 9.1, Page number 202

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

#Variable declaration
e=1.6*10**-19;     #charge(c)
ni=2.4*10**19;    #particle density(per m**3)
mew_e=0.39;        #electron mobility(m**2/Vs)
mew_h=0.19;       #hole mobility(m**2/Vs)

#Calculation
rho=1/(ni*e*(mew_e+mew_h));       #resistivity(ohm m)

#Result
print "resistivity is",round(rho,5),"ohm m"
resistivity is 0.44899 ohm m

Example number 9.2, Page number 203

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

#Variable declaration
e=1.6*10**-19;     #charge(c)
ni=1.5*10**16;    #particle density(per m**3)
mew_e=0.13;        #electron mobility(m**2/Vs)
mew_h=0.048;       #hole mobility(m**2/Vs)
ND=10**23;     #density(per m**3)

#Calculation
sigma_i=ni*e*(mew_e+mew_h);          #conductivity(s)
sigma=ND*mew_e*e;       #conductivity(s)
P=ni**2/ND;            #equilibrium hole concentration(per m**3)

#Result
print "conductivity is",round(sigma_i*10**3,2),"*10**-3 s"
print "conductivity is",sigma/10**3,"*10**3 s"
print "answer in the book varies due to rounding off errors"
print "equilibrium hole concentration is",P/10**9,"*10**9 per m**3"
conductivity is 0.43 *10**-3 s
conductivity is 2.08 *10**3 s
answer in the book varies due to rounding off errors
equilibrium hole concentration is 2.25 *10**9 per m**3

Example number 9.3, Page number 203

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

#Variable declaration
e=1.6*10**-19;     #charge(c)
ni=1.5*10**16;    #particle density(per m**3)
mew_e=0.13;        #electron mobility(m**2/Vs)
mew_h=0.05;       #hole mobility(m**2/Vs)
ND=5*10**20;     #density(per m**3)

#Calculation
sigma=ni*e*(mew_e+mew_h);          #intrinsic conductivity(s)
sigma_d=ND*e*mew_e;       #conductivity during donor impurity(ohm-1 m-1)
sigma_a=ND*e*mew_h;       #conductivity during acceptor impurity(ohm-1 m-1)

#Result
print "intrinsic conductivity is",sigma*10**3,"*10**-3 ohm-1 m-1"
print "conductivity during donor impurity is",sigma_d,"ohm-1 m-1"
print "conductivity during donor impurity is",sigma_a,"ohm-1 m-1"
intrinsic conductivity is 0.432 *10**-3 ohm-1 m-1
conductivity during donor impurity is 10.4 ohm-1 m-1
conductivity during donor impurity is 4.0 ohm-1 m-1

Example number 9.4, Page number 204

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

#Variable declaration
RH=3.66*10**-4;     #hall coefficient(m**3/c)
rho=8.93*10**-3;    #resistivity(m)
e=1.6*10**-19;     #charge(c)

#Calculation
mew=RH/rho;        #mobility(m**2/Vs)
n=1/(RH*e);      #density of atoms(per m**3)

#Result
print "mobility is",round(mew,5),"m**2/Vs"
print "answer in the book varies due to rounding off errors"
print "density of atoms is",round(n/10**22,1),"*10**22 per m**3"
mobility is 0.04099 m**2/Vs
answer in the book varies due to rounding off errors
density of atoms is 1.7 *10**22 per m**3

Example number 9.5, Page number 204

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

#Variable declaration
w=72.6;       #atomic weight
e=1.6*10**-19;     #charge(c)
mew_e=0.4;        #electron mobility(m**2/Vs)
mew_h=0.2;       #hole mobility(m**2/Vs)
T=300;         #temperature(K)
x=4.83*10**21;
Eg=0.7;      #band gap(eV)
y=0.052;

#Calculation
ni=x*(T**(3/2))*math.exp(-Eg/y);     #carrier density(per m**3)
sigma=ni*e*(mew_e+mew_h);         #conductivity(ohm-1 m-1)

#Result
print "carrier density is",round(ni/10**19,2),"*10**19 per m**3"
print "conductivity is",round(sigma,2),"ohm-1 m-1"
print "answer in the book varies due to rounding off errors"
carrier density is 3.58 *10**19 per m**3
conductivity is 3.43 ohm-1 m-1
answer in the book varies due to rounding off errors

Example number 9.6, Page number 205

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

#Variable declaration
T1=293;     #temperature(K)
T2=305;     #temperature(K)
sigma1=2;    
sigma2=4.5; 
KB=1.38*10**-23;   #boltzmann constant

#Calculation
x=((1/T1)-(1/T2));
y=math.log(sigma2/sigma1);
z=3*math.log(T2/T1)/2;
Eg=2*KB*(y+z)/(e*x);    #energy band gap(eV)

#Result
print "energy band gap is",round(Eg,2),"eV"
print "answer in the book is wrong"
energy band gap is 1.12 eV
answer in the book is wrong

Example number 9.7, Page number 205

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

#Variable declaration
e=1.6*10**-19;     #charge(c)
mew_e=0.19;        #electron mobility(m**2/Vs)
T=300;         #temperature(K)
KB=1.38*10**-23;   #boltzmann constant

#Calculation
Dn=mew_e*KB*T/e;    #diffusion coefficient(m**2/sec)

#Result
print "diffusion coefficient is",round(Dn*10**3,1),"*10**-3 m**2/sec"
diffusion coefficient is 4.9 *10**-3 m**2/sec

Example number 9.8, Page number 206

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

#Variable declaration
sigma=2.12;     #conductivity(ohm-1 m-1)
T=300;      #temperature(K)
e=1.6*10**-19;     #charge(c)
mew_e=0.36;        #electron mobility(m**2/Vs)
mew_h=0.7;       #hole mobility(m**2/Vs)
C=4.83*10**21;
KB=1.38*10**-23;   #boltzmann constant

#Calculation
ni=sigma/(e*(mew_e+mew_h));     #carrier density(per m**3)
x=C*T**(3/2)/ni;
Eg=2*KB*T*math.log(x)/e;      #energy gap(eV)

#Result
print "carrier density is",ni,"per m**3"
print "energy gap is",round(Eg,2),"eV"
print "answer in the book is wrong"
carrier density is 1.25e+19 per m**3
energy gap is 0.75 eV
answer in the book is wrong

Example number 9.9, Page number 206

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

#Variable declaration
Eg=6.408*10**-20;    #energy gap of semiconductor(J)
T1=273;    #temperature(K)
T2=323;    #temperature(K)
T3=373;    #temperature(K)
KB=1.38*10**-23;   #boltzmann constant

#Calculation
FE1=1/(1+math.exp(Eg/(2*KB*T1)));     #probability of occupation at 0C(eV)
FE2=1/(1+math.exp(Eg/(2*KB*T2)));     #probability of occupation at 50C(eV)
FE3=1/(1+math.exp(Eg/(2*KB*T3)));     #probability of occupation at 100C(eV)

#Result
print "probability of occupation at 0C is",round(FE1*10**4,3),"*10**-4 eV"
print "probability of occupation at 50C is",round(FE2*10**4,2),"*10**-4 eV"
print "probability of occupation at 100C is",round(FE3*10**4,2),"*10**-4 eV"
probability of occupation at 0C is 2.025 *10**-4 eV
probability of occupation at 50C is 7.55 *10**-4 eV
probability of occupation at 100C is 19.76 *10**-4 eV

Example number 9.10, Page number 207

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

#Variable declaration
Eg=1.9224*10**-19;    #energy gap of semiconductor(J)
T1=600;    #temperature(K)
T2=300;    #temperature(K)
x=-1.666*10**-3;
KB=1.38*10**-23;   #boltzmann constant

#Calculation
T=(1/T1)-(1/T2);
r=math.exp(x*(-Eg/(2*KB)));     #ratio between conductivity

#Result
print "ratio between conductivity is",round(r/10**5,3),"*10**5"
ratio between conductivity is 1.095 *10**5

Example number 9.11, Page number 207

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

#Variable declaration
ni=2.5*10**19;      #charge carriers(per m**3)
r=10**-6;    #ratio
e=1.6*10**-19;     #charge(c)
mew_e=0.36;        #electron mobility(m**2/Vs)
mew_h=0.18;       #hole mobility(m**2/Vs)
N=4.2*10**28;     #number of atoms(per m**3)

#Calculation
Ne=r*N;       #number of impurity atoms(per m**3)
Nh=ni**2/Ne;    
sigma=(Ne*e*mew_e)+(Nh*e*mew_h);      #conductivity(ohm m)
rho=1/sigma;     #resistivity of material(per ohm m)

#Result
print "resistivity of material is",round(rho*10**4,4),"*10**-4 ohm m"
resistivity of material is 4.1336 *10**-4 ohm m

Example number 9.12, Page number 208

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

#Variable declaration
n=5*10**17;     #concentration(m**3)
vd=350;    #drift velocity(m/s)
E=1000;    #electric field(V/m)
e=1.6*10**-19;     #charge(c)

#Calculation
sigma=n*e*vd/E;    #conductivity(per ohm m)

#Result
print "conductivity is",sigma,"per ohm m"
conductivity is 0.028 per ohm m

Example number 9.13, Page number 208

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

#Variable declaration
sigmae=2.2*10**-4;       #conductivity(ohm/m)
mew_e=125*10**-3;       #electron mobility(m**2/Vs)
e=1.602*10**-19;     #charge(c)

#Calculation
ne=sigmae/(e*mew_e);     #concentration(per m**3)

#Result
print "concentration is",round(ne/10**16,1),"*10**16 per m**3"
concentration is 1.1 *10**16 per m**3

Example number 9.14, Page number 209

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

#Variable declaration
RH=3.66*10**-4;      #hall coefficient(m*3/c)
rho_i=8.93*10**-3;    #resistivity(ohm m)
e=1.602*10**-19;     #charge(c)

#Calculation
nh=1/(RH*e);      #density of charge carriers(per m**3)
mewh=1/(rho_i*nh*e);     #mobility of charge carriers(m**2/Vs)

#Result
print "density of charge carriers is",round(nh/10**22,4),"*10**22 per m**3"
print "mobility of charge carriers is",round(mewh,3),"m**2/Vs"
density of charge carriers is 1.7055 *10**22 per m**3
mobility of charge carriers is 0.041 m**2/Vs

Example number 9.15, Page number 209

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

#Variable declaration
I=3*10**-3;    #current(A)
RH=3.66*10**-4;    #hall coefficient(m**3/C)
e=1.6*10**-19;     #charge(c)
d=2*10**-2;
z=1*10**-3;
B=1;        #magnetic field(wb/m**2)

#Calculation
w=d*z;     #width(m**2)
A=w;     #area(m**2)
EH=RH*I*B/A;    
VH=EH*d*10**3;     #hall voltage(mV)
n=1/(RH*e);     #charge carrier concentration(per m**3)

#Result
print "hall voltage is",round(VH,1),"mV"
print "charge carrier concentration is",round(n/10**22,2),"*10**22 per m**3"
hall voltage is 1.1 mV
charge carrier concentration is 1.71 *10**22 per m**3