import math
#Given Data
S = [[1,2],[3,4],[5,6],[7,8]]; # Declare a 4X2 matrix
# Enter material names
S[0][0] = 'Si'; S[1][0] = 'GaAs'; S[2][0] = 'GaP'; S[3][0] = 'ZnS';
# Enter energy band gap values
S[0][1] = 1.11; S[1][1] = 1.42; S[2][1] = 2.26; S[3][1] = 3.60;
h = 6.626*10**-34; # Planck's constant, Js
c = 3*10**8; # Speed of light, m/s
e = 1.6*10**-19; # Energy equivalent of 1 eV, J/eV
print"______________________________________________________";
print"Material E_g (eV) Critical Wavelength (micron)";
print"______________________________________________________";
for i in range (0,4) :
lamda = h*c/(S[i][1]*e);
print"", S[i][0]," ", S[i][1]," ",round(lamda/10**-6,3);
print"______________________________________________________";
import math
#Given Data
c = 3*10**8; # Speed of light, m/s
h = 6.626*10**-34; # Planck's constant, Js
e = 1.6*10**-19; # Energy equivalent of 1 eV, J/eV
omega = 2e+014; # Wave vector involved in phonon energy, rad per sec
f = omega/(2*math.pi); # Frequency of the wave, Hz
E = h*f/e; # Phonon energy involved in Si to lift the electron, eV
print"The phonon energy involved in Si =",round(E,4),"eV which is insufficient to lift an electron.";
import math
#Given Data
N_A = 6.023*10**23; # Avogadro's number
# For Si
A = 28.1; # Atomic weight of Si, g/mol
a = 5.43*10**-8; # Lattice constant for Si, cm
n = 8.0/a**3; # Number of atoms per unit volume, atoms/cc
rho = n*A/N_A; # Density of Si, g/cc
print"The density of Si =",round(rho,3),"atoms per cc";
# For GaAs
A = 69.7+74.9; # Atomic weight of GaAs, g/mol
a = 5.65*10**-8; # Lattice constant for Si, cm
n = 4.0/a**3; # Number of atoms per unit volume, atoms/cc
rho = n*A/N_A; # Density of GaAs, g/cc
print"The density of GaAs =",round(rho,3),"toms per cc";
import math
#Given Data
m = 9.11*10**-31; # Electron Rest Mass , kg
k = 1.38*10**-23; # Boltzmann constant, J/mol/K
h = 6.626*10**-34; # Planck's constant, Js
T = 300.0; # Room temperature, K
m_e = 0.068*m; # Mass of electron, kg
m_h = 0.56*m; # Mass of hole, kg
E_g = 1.42*1.6*10**-19; # Energy band gap for GaAs, J
n_i = 2*(2*math.pi*k*T/h**2)**(3.0/2)*(m_e*m_h)**(3.0/4)*math.exp(-E_g/(2*k*T));
print"The Intrinsic carrier concentration of GaAs at 300 K =","{0:.3e}".format(n_i),"per metre cube";
import math
#Given Data
m = 9.11*10**-31; # Electron Rest Mass , kg
e = 1.6*10**-19; # Energy equivalent of 1 eV, J/eV
k = 1.38*10**-23; # Boltzmann constant, J/mol/K
T = 300.0; # Room temperature, K
m_e = 1.1*m; # Mass of electron, kg
m_h = 0.56*m; # Mass of hole, kg
E_g = 1.1; # Energy band gap for GaAs, J
E_F = E_g/2+3.0/4*k*T/e*math.log(m_h/m_e); # Position of Fermi level of Si at room temperature, eV
print"The position of Fermi level of Si at room temperature =",round(E_F,3),"eV";
print"The fermi level in this case is shifted downward from the midpoint (0.55 eV) in the forbiddem gap.";
import math
#Given Data
e = 1.6*10**-19; # Electronic charge, C
n_i = 2.15*10**13; # Carrier density of Ge at room temperature, per cc
mu_e = 3900.0; # Mobility of electron, cm-square/V-s
mu_h = 1900.0; # Mobility of hole, cm-square/V-s
sigma_i = e*(mu_e+mu_h)*n_i; # Intrinsic conductivity of Ge, mho per m
rho_i = 1.0/sigma_i; # Intrinsic resistivity of Ge at room temperature, ohm-m
print"The intrinsic resistivity of Ge at room temperature =",round(rho_i,2),"ohm-cm";
import math
#Given Data
m = 9.1*10**-31; # Mass of an electron, kg
e = 1.6*10**-19; # Electronic charge, C
k = 1.38*10**-23; # Boltzmann constant, J/mol/K
T = 30.0; # Given temperature, K
n = 10**22; # Carrier density of CdS, per metre cube
mu = 10**-2; # Mobility of electron, metre-square/V-s
sigma = e*mu*n; # Conductivity of CdS, mho per m
print"The conductivity of CdS sample =",round(sigma,2),"mho per m";
m_eff = 0.1*m; # Effective mass of the charge carries, kg
t = m_eff*sigma/(n*e**2); # Average time between successive collisions, s
print"The average time between successive collisions =","{0:.3e}".format(t),"sec";
# We have 1/2*m_eff*v**2 = 3/2*k*T, solving for v
v = math.sqrt(3*k*T/m_eff); # Velocity of charrge carriers, m/s
l = v*t; # Mean free distance travelled by the carrier, m
print"The mean free distance travelled by the carrier =","{0:.3e}".format(l),"m";
import math
import matplotlib.pyplot as py
%matplotlib inline
#Given Data
k = 1.38*10**-23; # Boltzmann constant, J/mol/K
e = 1.6*10**-19; # Energy equivalent of 1 eV, J/eV
T = [385.0, 455.0, 556.0, 714.0]; # Temperatures of Ge, K
rho = [0.028, 0.0061, 0.0013, 0.000274]; # Electrical resistivity, ohm-m
Tinv = [0.0, 0.0, 0.0, 0.0]; # Create an empty row matrix for 1/T
ln_sigma = [0.0, 0.0, 0.0, 0.0]; # Create the empty row matrix for log(sigma)
for i in xrange(len(T)):
Tinv[i] = 1/T[i];
ln_sigma[i] =math.log(1.0/rho[i]);
# Plot the graph
py.plot(Tinv, ln_sigma);
py.axis([0,0.003,0,9])
py.title('Plot of ln (sigma) vs 1/T');
py.xlabel('1/T');
py.ylabel('ln (sigma)');
py.show();
# Calculate slope
slope = (ln_sigma[2]-ln_sigma[1])/(Tinv[2]-Tinv[1]);
E_g = abs(2*slope*k); # Energy gap of Ge, J
print"The energy gap of Ge =",E_g/e,"eV";
# Result
# The energy gap of Ge = 0.658 eV
import math
#Given Data
h = 6.626*10**-34; # Planck's constant, Js
c = 3*10**8; # Speed of light, m/s
e = 1.6*10**-19; # Energy equivalent of 1 eV, J/eV
x = 0.07; # Al concentration in host GaAs
E_g = 1.424 + 1.266*x + 0.266*x**2; # Band gap of GaAs as a function of x, eV
# As E_g = h*c/lambda, solving for lambda
lamda = h*c/(E_g*e); # Emission wavelength of light, m
print"The energy band gap of Al doped GaAs =",round(E_g,3),"eV";
print"The emission wavelength of light =",round(lamda*10**6,3),"micron";
print"The Al atoms go as substitutional impurity in the host material.";
import math
#Given Data
x = 0.38; # Al concentration in host GaAs
E_g = 1.424 + 1.266*x + 0.266*x**2; # Band gap of GaAs as a function of x, eV
print"The energy band gap of 38 percent Al doped in GaAs =",round(E_g,3),"eV";
import math
#Given Data
k = 1.38*10**-23; # Boltzmann constant, J/mol/K
e = 1.6*10**-19; # Energy equivalent of 1 eV, J/eV
rho_40 = 0.2; # Resistivity of Ge at 40 degree celsius, ohm-m
T1 = 40+273; # Temperature at which resistivity of Ge becomes 0.2 ohm-m, K
T2 = 20+273; # Temperature at which resistivity of Ge is to be calculated, K
E_g = 0.7; # Band gap of Ge, eV
# As rho = exp(E_g/(2*k*T)), so for rho_20
rho_20 = rho_40*math.exp(E_g/(2*k/e)*(1.0/T2-1.0/T1)); # Resistivity of Ge at 20 degree celsius, ohm-m
print"The resistivity of Ge at 20 degree celsius =",round(rho_20,1),"ohm-m";
import math
#Given Data
k = 1.38*10**-23; # Boltzmann constant, J/mol/K
e = 1.6*10**-19; # Energy equivalent of 1 eV, J/eV
T = 300.0; # Room temperature of the material, K
K_Si = 11.7; # Dielectric constant of Si
K_Ge = 15.8; # Dielectric constant of Ge
m = 9.1*10**-31; # Mass of an electron, kg
m_eff = 0.2; # Effective masses of the electron in both Si and Ge, kg
E_ion_Si = 13.6*m_eff/K_Si**2; # Donor ionization energy of Si, eV
E_ion_Ge = 13.6*m_eff/K_Ge**2; # Donor ionization energy of Ge, eV
E = k*T/e; # Energy available for electrons at 300 K, eV
print"The donor ionization energy of Si =",round(E_ion_Si,4),"eV";
print"The donor ionization energy of Ge =",round(E_ion_Ge,4),"eV";
print"The energy available for electrons at 300 K =",round(E,4),"eV";
import math
#Given Data
e = 1.6*10**-19; # Energy equivalent of 1 eV, J/eV
epsilon = 15.8; # Dielectric constant of Ge
m = 9.1*10**-31; # Mass of an electron, kg
m_e = 0.2*m; # Effective masses of the electron in Ge, kg
a_Ge = 5.65; # Lattice parameter of Ge, angstrom
A_d = 0.53*epsilon*(m/m_e); # Radius of donor atom, angstrom
print"The radius of the orbits of fifth valence electron of acceptor impurity =",math.ceil(A_d),"angstrom";
print"This radius is",math.ceil(A_d/a_Ge),"times the lattice constant of Ge";
import math
#Given Data
e = 1.6*10**-19; # Energy equivalent of 1 eV, J/eV
tau = 10**-12; # Life time of electron in Ge, s
m = 9.1*10**-31; # Mass of an electron, kg
m_e = 0.5*m; # Effective masses of the electron in Ge, kg
mu = e*tau/m_e; # Mobility of electron in Ge, m-square/V-s
n_i = 2.5*10**19; # Intrinsic carrier concentration of Ge at room temperature, per metre cube
n_Ge = 5*10**28; # Concentration of Ge atoms, per metre cube
n_e = n_Ge/10**6; # Concentration of impurity atoms, per metre cube
# From law of mass action, n_e*n_h = n_i**2, solving for n_h
n_h = n_i**2/n_e; # Concentration of holes, per metre cube
print"This mobility of electron in Ge =",round(mu/10**-4,1),"cm-square/V-s";
print"This concentration of holes in Ge =","{0:.3e}".format(n_h),"per metre cube";
import math
#Given Data
n_i = 2.5*10**19; # Intrinsic carrier concentration of Ge at room temperature, per metre cube
n_Ge = 5*10**28; # Concentration of Ge atoms, per metre cube
delta_d = 10**6; # Rate at which pentavalent impurity is doped in pure Ge, ppm
n_e = n_Ge/delta_d; # Concentration of impurity atoms, per metre cube
# From law of mass action, n_e*n_h = n_i**2, solving for n_h
n_h = n_i**2/n_e; # Concentration of holes, per metre cube
print"This concentration of holes in Ge =","{0:.3e}".format(n_h),"per metre cube";
import math
#Given Data
e = 1.6*10**-19; # Charge on an electron, C
mu = 1400*10**-4; # Mobility of electron, metre-square per volt per sec
l = 300-6; # Length of the n-type semiconductor, m
w = 100-6; # Width of the n-type semiconductor, m
t = 20-6; # Thickness of the n-type semiconductor, m
N_D = 4.5*10**21; # Doping concentration of donor impurities, per metre-cube
V = 10; # Biasing voltage for semiconductor, V
B_prep = 1; # Perpendicular magnetic field to which the semiconductor is subjected, tesla
# Part (a)
n = N_D; # Electron concentration in semiconductor, per cc
R_H = -1.0/(n*e); # Hall Co-efficient, per C per metre cube
# Part (b)
rho = 1.0/(n*e*mu); # Resistivity of semiconductor, ohm-m
R = rho*l/(w*t); # Resistance of the semiconductor, ohm
I = V/R; # Current through the semiconductor, A
V_H = R_H*I*B_prep/t; # Hall voltage, V
# Part (c)
theta_H = math.degrees(math.atan(-mu*B_prep)); # Hall angle, degrees
print"Hall coefficient, R_H =","{0:.3e}".format(R_H),"per C metre cube";
print"Hall voltage, V_H = ",math.fabs(V_H),"V";
print"Hall angle, theta_H =",round(theta_H,3),"degree";