Chapter 11: Semiconductor Theory and Devices

Example 11.1, Page 400

In [1]:
import numpy
import math

#Variable declaration
e = 1.6e-019;    # Energy equivalent of 1 eV, J
k = 1.38e-023;    # Boltzmann constant, J/K
T = 293;    # Room temperature, K

#Calculations&Results
dE = [0.10, 1.0, 10.0];    # Energies above the valence band, eV
F_FD = numpy.zeros(3);
for i in range(0,3):
    F_FD[i] = 1/(math.exp(dE[i]*e/(k*T)) + 1);
    print "For E - E_F = %4.2f eV, F_FD = %4.2e"%(dE[i], F_FD[i])
For E - E_F = 0.10 eV, F_FD = 1.88e-02
For E - E_F = 1.00 eV, F_FD = 6.53e-18
For E - E_F = 10.00 eV, F_FD = 1.40e-172

Example 11.3, Page 402

In [2]:
#Variable declaration
e = 1.6e-019;    # Energy equivalent of 1 eV, J
rho = 5.92e-008;    # Resistivity of the zinc at room temperature, ohm-m
B = 0.25;    # Magnetic field applied perpendicular to the strip, T
x = 10.0e-002;    # Length of the zinc strip, m
y = 2.0e-002;    # Width of the zinc strip, m
V = 20e-003;    # Potential difference applied across the strip, V
I = 0.400;    # Current through the strip, A
V_H = 0.56e-006;    # Hall voltage that appeared across the strip, V

#Calculations
z = rho*x*I/(y*V);    # Thickness of the strip, m
n = I*B/(e*V_H*z);    # Number density of the charge carriers, per metre cube

#Results
print "The thickness of the zinc strip = %4.2e m"%z
print "The number density of the charge carriers = %4.2e per metre cube"%n
print "The charge carries in zinc are positive."
The thickness of the zinc strip = 5.92e-06 m
The number density of the charge carriers = 1.89e+29 per metre cube
The charge carries in zinc are positive.

Example 11.4, Page 408

In [3]:
import math

#Variable declaration
e = 1.602e-019;    # Energy equivalent of 1 eV, J
k = 1.38e-023;    # Boltzmann constant, J/K
T = 293;    # Room temperature, K
V_f = 0.200;    # Forward voltage, V
I_f = 50e-003;    # Forward current, A
V_r = -0.200;    # Reverse voltage, V

#Calculations
I_r = I_f*(math.exp(e*V_r/(k*T))-1)/(math.exp(e*V_f/(k*T)) - 1);    # Reverse current from diode equation, A

#Result
print "The reverse current through pn-junction diode = %2d micro-ampere"%(I_r/1e-006)
The reverse current through pn-junction diode = -18 micro-ampere

Example 11.5, Page 413

In [4]:
import math

#Variable declaration
A = 100*100;    # Area of solar cell, Sq.m
t = 12*60*60;    # Time for which the solar cell operates, s
phi = 680;    # Solar flux received by the solar cell, W/Sq.m
eta = 0.30    # Efficiency of the solar array

#Calculations&Results
E_array = eta*phi*A*t;    # Energy produced by solar cell in one 12-hour day, J
print "The energy produced by solar cell in one 12-hour day : %3.1e J"%E_array
P = 100e+006;    # Power output of power plant, W
t = 24*60*60;    # Time for which power plant operates, s
E_plant = P*t;    # Energy produced by power plant, J
print "The energy produced by power plant in one day : %3.1e J which is about %d times more than that produced by solar cell array..!"%(E_plant, math.ceil(E_plant/E_array))
The energy produced by solar cell in one 12-hour day : 8.8e+10 J
The energy produced by power plant in one day : 8.6e+12 J which is about 99 times more than that produced by solar cell array..!

Example 11.6, Page 418

In [5]:
import math

#Variable declaration
r1 = 2.30e-002;    # Radius of inner edge of storing region of CD-ROM, m
r2 =5.80e-002;    # Radius of outer edge of storing region of CD-ROM, m
A = math.pi*(r2**2 - r1**2);    # Area of the usable region of CD-ROM, Sq.m
N = 700e+006*8;    # Total number of bits in CD-ROM

#Calculations
APB = A/N;    # Area per bit of CD-ROM, Sq.m/bit
t = 1.6e-006;    # Track width of CD_ROM, m
l = APB/t;    # Bit length, m

#Results
print "The surface area of CD-ROM allowed for each data bit = %3.1e Sq.m/bit"%APB
print "The approx. dimensions of each bit along the track = %1.0f micro-metre"%(l/1e-006)
The surface area of CD-ROM allowed for each data bit = 1.6e-12 Sq.m/bit
The approx. dimensions of each bit along the track = 1 micro-metre