# 8: Semiconductor Physics¶

## Example number 1, Page number 8.19¶

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

#Variable declaration
ni1=2.5*10**19;    #number of electron hole pairs
T1=300;     #temperature(K)
Eg1=0.72*1.6*10**-19;    #energy gap(J)
k=1.38*10**-23;     #boltzmann constant
T2=310;    #temperature(K)
Eg2=1.12*1.6*10**-19;    #energy gap(J)

#Calculation
x1=-Eg1/(2*k*T1);
y1=(T1**(3/2))*math.exp(x1);
x2=-Eg2/(2*k*T2);
y2=(T2**(3/2))*math.exp(x2);
ni=ni1*(y2/y1);          #number of electron hole pairs

#Result
print "number of electron hole pairs is",round(ni/10**16,2),"*10**16 per cubic metre"
print "answer varies due to rounding off errors"

number of electron hole pairs is 2.32 *10**16 per cubic metre
answer varies due to rounding off errors


## Example number 2, Page number 8.20¶

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

#Variable declaration
w=72.6;    #atomic weight
d=5400;    #density(kg/m**3)
mew_e=0.4;    #mobility of electron(m**2/Vs)
mew_h=0.2;    #mobility of holes(m**2/Vs)
e=1.6*10**-19;
m=9.108*10**-31;    #mass(kg)
ni=2.1*10**19;      #number of electron hole pairs
Eg=0.7;    #band gap(eV)
k=1.38*10**-23;    #boltzmann constant
h=6.625*10**-34;    #plancks constant
T=300;     #temperature(K)

#Calculation
sigma=ni*e*(mew_e+mew_h);    #intrinsic conductivity(ohm-1 m-1)
rho=1/sigma;     #resistivity(ohm m)
n=Na*d/w;        #number of germanium atoms per m**3
p=n/10**5;       #boron density
sigman=p*e*mew_h;  #new value of conductivity(ohm-1 metre-1)
rhon=1/sigman;     #new value of resistivity(ohm metre)

#Result
print "intrinsic conductivity is",sigma,"ohm-1 metre-1"
print "intrinsic resistivity is",round(rho,3),"ohm metre"
print "number of germanium atoms per m**3 is",round(n/10**28,1),"*10**28"
print "new value of conductivity is",round(sigman/10**4,3),"*10**4 ohm-1 metre-1"
print "new value of resistivity is",round(rhon*10**4,3),"*10**-4 ohm metre"
print "answer for new values given in the book varies due to rounding off errors"

intrinsic conductivity is 2.016 ohm-1 metre-1
intrinsic resistivity is 0.496 ohm metre
number of germanium atoms per m**3 is 4.5 *10**28
new value of conductivity is 1.434 *10**4 ohm-1 metre-1
new value of resistivity is 0.697 *10**-4 ohm metre
answer for new values given in the book varies due to rounding off errors


## Example number 3, Page number 8.21¶

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

#Variable declaration
e=1.6*10**-19;
RH=3.66*10**-4;    #hall coefficient(m**3/coulomb)
sigma=112;      #conductivity(ohm-1 m-1)

#Calculation
ne=3*math.pi/(8*RH*e);    #charge carrier density(per m**3)
mew_e=sigma/(e*ne);      #electron mobility(m**2/Vs)

#Result
print "charge carrier density is",int(ne/10**22),"*10**22 per m**3"
print "electron mobility is",round(mew_e,3),"m**2/Vs"

charge carrier density is 2 *10**22 per m**3
electron mobility is 0.035 m**2/Vs


## Example number 4, Page number 8.21¶

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

#Variable declaration
mew_e=0.13;    #mobility of electron(m**2/Vs)
mew_h=0.05;    #mobility of holes(m**2/Vs)
e=1.6*10**-19;
ni=1.5*10**16;      #number of electron hole pairs
N=5*10**28;

#Calculation
sigma1=ni*e*(mew_e+mew_h);    #intrinsic conductivity(ohm-1 m-1)
ND=N/10**8;
n=ni**2/ND;
sigma2=ND*e*mew_e;     #conductivity(ohm-1 m-1)
sigma3=ND*e*mew_h;     #conductivity(ohm-1 m-1)

#Result
print "intrinsic conductivity is",round(sigma1*10**3,3),"*10**-3 ohm-1 m-1"
print "conductivity during donor impurity is",sigma2,"ohm-1 m-1"
print "conductivity during acceptor impurity is",int(sigma3),"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 acceptor impurity is 4 ohm-1 m-1


## Example number 5, Page number 8.22¶

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

#Variable declaration
e=1.6*10**-19;
Eg=0.72;    #band gap(eV)
k=1.38*10**-23;    #boltzmann constant
T1=293;     #temperature(K)
T2=313;     #temperature(K)
sigma1=2;    #conductivity(mho m-1)

#Calculation
x=(Eg*e/(2*k))*((1/T1)-(1/T2));
y=round(x/2.303,3);
z=round(math.log10(sigma1),3);
log_sigma2=y+z;
sigma2=10**log_sigma2;     #conductivity(mho m-1)

#Result
print "conductivity is",round(sigma2,2),"mho m-1"

conductivity is 4.97 mho m-1