from __future__ import division
# Given data
h = 6.625 * 10**-34 # in J
c = 3 * 10**8 # in J
lambda_Gr = 17760 * 10**-10 # in m
lambda_Si = 11000 # in A°
lambda_Si = lambda_Si * 10**-10 # in m
E_g = (h*c)/lambda_Si # in J
E_g = E_g /(1.6*10**-19) # in eV
print "The energy gap of Si = %0.3f eV " %E_g
# Given data
E_g = 0.75# in eV
E_g = 0.75 * 1.6 * 10**-19 # in J
h = 6.63 * 10**-34 # in J
c = 3 * 10**8 # in m/s
# hv = E_g
#E_g = (h*c)/lambda
Lambda=(h*c)/E_g # in m
Lambda=Lambda * 10**10 # in A°
print "The wavelength at which germanium starts to absorb light = %0.f A° " %Lambda
# Given data
del_E = 0.3 # in eV
T1 = 300 # in K
T2 = 330 # in K
# del_E = K * T1 * log(N/N_c) where del_E= E_C-E_F
# del_E1 = K * T2 * log(N/N_c) where del_E1= E_C-E_F at T= 330 °K
del_E1 = del_E*(T2/T1) # in eV
print "The Fermi level will be ",round(del_E1,2)," eV below the conduction band"
from math import exp
# Given data
N_c = 2.8 * 10**19 # in cm**-3
del_E = 0.25 # fermi energy in eV
KT = 0.0259
f_F = exp(-(del_E)/KT)
print "The probaility in the condition band is occupied by an electron = %0.2e" %f_F
n_o = N_c * exp(-(del_E)/KT) # in cm**-3
print "The thermal equilibrium electron concentration = %0.1e cm**-3 " %n_o
from math import exp
# Given data
T1 = 300 # in K
T2 = 400 # in K
del_E = 0.27 # Fermi level in eV
KT = (0.0259) * (T2/T1) # in eV
N_v = 1.04 * 10**19 # in cm**-3
N_v = N_v * (T2/T1)**(3/2) # in cm**-3
p_o = N_v * exp(-(del_E)/KT) # in per cm**3
print "The thermal equilibrium hole concentration = %0.2e per cm**3 " %p_o
# Given data
At = 63.5;# atomic weight
Rho = 1.7*10**-6;# in ohm cm
d = 8.96;# in gm/cc
N_A = 6.02*10**23;# in /gm.mole
e = 1.6*10**-19;# in C
n = (N_A/At)*d;
Miu_e = 1/(Rho*n*e);# in cm**2/volt.sec
print "The electron mobility = %0.3f cm**2/volt-sec" %Miu_e
# Given data
l = 0.1;# in m
A = 1.7;# in mm**2
A = A * 10**-6;# in m**2
R = 0.1;# in ohm
At = 63.5;# atomic weight
N_A = 6.02*10**23;
d = 8.96;# in gm/cc
n = (N_A/At)*d;# in /cc
n = n * 10**6;# in /m**3
#Formula R = Rho*(l/A);
Rho = (R*A)/l;# in ohm m
Sigma = 1/Rho;# in mho/m
e = 1.6*10**-19;
# Formula Sigma = n*e*Miu_e
Miu_e = Sigma/(n*e);# in m**2/V.sec
print "The mobility = %0.2e m**2/V-sec" %Miu_e
from numpy import pi
# Given data
d = 10.5;# in gm/cc
At = 108;# atomic weight
N_A = 6.025*10**23;# in /gm mole
r = 10**-3;# in m
q = 1.6*10**-19;# in C
n = (N_A/At)*d;# in /cm**3
n = n * 10**6;# in /m**3
A = pi*((r)**2);# in m**2
I = 2;# in A
# I = q*n*A*v;
v = I/(n*q*A);# in m/s
print "The drift velocity = %0.e m/s" %v
# Note: There is calculation error to find the value of drift velocity (i.e v), so the answer in the book is wrong.
from numpy import pi
# Given data
d = 1.03;# in mm
d = d *10**-3;# in m
r = d/2;# in m
R = 6.51;# in ohm
l = 300;# in mm
e = 1.6*10**-19;
n = 8.4*10**28;# in /m**3
A = pi*r**2;
# R = Rho*(l/A);
Rho = (R*A)/l;#in ohm m
Sigma = 1/Rho;# in mho/m
print "The conductivity of copper = %0.3e mho/m" %Sigma
#Formula sigma = n*e*Miu_e
Miu_e = Sigma/(n*e);# in m**2/V.sec
print "The mobility = %0.3e m**2/V-sec" %Miu_e
# Given data
At = 63.5;# atomic weight
d = 8.96;# in gm/cc
Miu_e = 43.28;# in cm**2/V.sec
N_A = 6.02*10**23;# in /gm mole
e = 1.6*10**-19;# in C
n = (N_A/At)*d;# in /cc
Rho = 1/(n*e*Miu_e);# in ohm-cm
print "The resistivity = %0.1e ohm-cm" %Rho
# Given data
Mu_e = 1500 # in cm**2/volt sec
Mu_h = 500 # in cm**2/volt sec
n_i = 1.6 * 10**10 # in per cm**3
e = 1.6 * 10**-19 # in C
Sigma = n_i * (Mu_e + Mu_h) * e # in mho/cm
print "The conductivity of pure semiconductor = %0.2e mho/cm " %Sigma
# Given data
Rho = 10 # in Ω-cm
Mu_d = 500 # in cm**2/v.s.
e = 1.6*10**-19
n_d = 1/(Rho * e * Mu_d) # in per cm**3
print "The number of donor atom must be added to achieve = %0.2e per cm**3 " %n_d
#Given data
AvagadroNumber = 6.02 * 10**23 # in atoms/gm.mole
at_Ge = 72.6 # atom weight of Ge
e = 1.6 * 10**-19 # in C
D_Ge = 5.32 # density of Ge in gm/c.c
Mu = 3800 # in cm**2/v.s.
C_Ge = (AvagadroNumber/at_Ge) * D_Ge # concentration of Ge atoms in per cm**3
n_d = C_Ge/10**8 # in per cc
Sigma = n_d * Mu * e # in mho/cm
print "The conductivity = %0.3f mho/cm " %Sigma
# Given data
Rho = 0.3623 * 10**-3 # in Ohm m
Sigma = 1/Rho #in mho/m
D = 4.42 * 10**28 # Ge density in atom/m**3
n_d = D / 10**6 # in atom/m**3
e = 1.6 * 10**-19 # in C
Mu = Sigma/(n_d * e) # in m**2/V.sec
print "The mobility of electron in germanium = %0.2f m**2/V.sec " %Mu
# Given data
AvagadroNumber = 6.025 * 10**26 # in kg.Mole
W = 72.59 # atomic weight of Ge
D = 5.36 * 10**3 #density of Ge in kg/m**3
Rho = 0.42 # resistivity in Ohm m
e = 1.6 * 10**-19 # in C
Sigma = 1/Rho # in mho/m
n = (AvagadroNumber/W) * D # number of Ge atoms present per unit volume
# Holes per unit volume, H = n*10**-6%
H= n*10**-8
a=H
# Formula sigma= a*e*Mu_h
Mu_h = Sigma/(a * e) # in m**2/V.sec
print "Mobility of holes = %0.4f m**2/V.sec " %Mu_h
# Given data
e = 1.6 * 10**-19 # in C
n_i = 2 * 10**19 # in /m**3
Mu_e = 0.36 # in m**2/v.s
Mu_h = 0.17 # in m**2/v.s
A = 1 * 10**-4 # in m**2
V = 2 #in volts
l = 0.3 # in mm
l = l * 10**-3 # in m
E=V/l # in volt/m
Sigma = n_i * e * (Mu_e + Mu_h) # in mho/m
# J = I/A = Sigma * E
I= Sigma*E*A
print "The current produced in a small germanium plate = %0.2f amp " %I
# Given data
D = 4.2 * 10**28 #density of Ge atoms in atoms/m**3
N_d = D / 10**6 # in atoms/m**3
e = 1.6 * 10**-19 # in C
Mu_e = 0.36 # in m**2/vs
Sigma_n = N_d * e * Mu_e # in mho/m
Rho_n = 1/Sigma_n # in ohm m
print "The resistivity of drop Ge = %0.3e ohm m " %Rho_n
# Given data
e = 1.6 * 10**-19 # in C
n_i = 1 * 10**19 # in per m**3
Mu_e = 0.36 # in m**2/volt.sec
Mu_h = 0.17 # in m**2/volt.sec
A = 2 # in cm**2
A = A * 10**-4 # im m**2
t = 0.1 # in mm
t = t * 10**-3 # in m
V = 4 # in volts
Sigma_i = n_i * e * (Mu_e + Mu_h) # in mho/m
J = Sigma_i * (V/t) # in Amp/m**2
I = J * A # in Amp
print "The current produced in a Ge sample = %0.3f Amp " %I
# Given data
e = 1.6 * 10**-19 # in C
Mu_h = 500 # in cm**2/V.s.
Mu_e = 1500 # in cm**2/V.s.
n_i = 1.6 * 10**10 # in per cm**3
Sigma_i = n_i * e * ( Mu_h + Mu_e) # in mho/cm
print "Conductivity of pure silicon at room temperature = %0.2e mho/cm " %Sigma_i
#Given data
l= 0.50*10**-2 # width of ribbon in m
d= 0.10*10**-3 # thickness of ribbon in m
A= l*d # area of ribbon in m**2
B = 0.8 # in Tesla
D = 10.5 #density in gm/cc
I = 2 # in amp
q = 1.6 * 10**-19 # in C
n=6*10**28 # number of elec. per m**3
V_H = ( I * B * d)/(n * q * A) # in volts
print "The hall Voltage produced = %0.2e volts " %V_H
# Given data
l = 1 # in m
d = 1 # in cm
d = d * 10**-2 # in m
W = 1 # in mm
W = W * 10**-3 # in m
A = d * W # in m**2
I= 1 # in Amp
B = 1 # Tesla
V_H = 0.074 * 10**-6 # in Volts
Sigma = 5.8 * 10**7 # in mho/m
R_H = (V_H * A)/(B*I*d) # in m**3/c
print "The hall coefficient = %0.1e m**3/c " %R_H
Mu = Sigma * R_H # in m**2/volt.sec
print "The mobility of electrons in copper = %0.1e m**2/volt-sec " %Mu
# Given data
n_i = 1.4 * 10**18 # in /m**3
n_D = 1.4 * 10**24 # in /m**3
n=n_D # in /m**3
p = n_i**2/n # in /m**3
R = n/p
print "The ratio of electrons to hole concentration = %0.1e" %R
from math import atan, pi
# Given data
B = 0.48 # in wb/m**2
R_H = 3.55 * 10**-4 # in m**3/c
Rho = 0.00912 # in ohm-m
Sigma = 1/Rho # in (ohm-m)**-1
theta_H = atan( Sigma * B * R_H)*180/pi # in degree
print "The hall angle for a hall coefficient = %0.4f°" %theta_H
#Given data
R = 9 * 10**-3 # in ohm-m
R_H = 3.6 * 10**-4 # in m**3
e = 1.6 * 10**-19 # in C
Sigma = 1/R # in (ohm-m)**-1
Rho = 1/R_H # in coulomb/m**3
n = Rho/e # in /m**3
print "Density of charge carriers = %0.5e per m**3 " %n
Mu = Sigma * R_H # in m**2/v-s
print "Mobility of charge carriers = %0.2f m**2/V-s " %Mu
# Given data
e = 1.6 * 10**-19 # in C
R_H = 0.0145 # in m**3/coulomb
Mu_e = 0.36 # in m**2/v-s
E = 100 # in V/m
n = 1/(e * R_H) # in /m**3
J = n * e * Mu_e * E # in A/m**2
print "The current density of specimen = %0.3e A/m**2 " %J
from math import sqrt
#Given data
Mu_e = 7.04 * 10**-3 # in m**2/v-s
m = 9.1 * 10**-31
E_F = 5.5 # in eV
n = 5.8 * 10**28
e = 1.6 * 10**-19 # in C
Torque = (Mu_e/e) * m # in sec
print "Relaxation Time = %0.3e sec " %Torque
Rho = 1 /(n * e * Mu_e) # in ohm-m
print "Resistivity of conductor = %0.3e ohm-m " %Rho
V_F = sqrt((2 * E_F * e)/m) # in m/s
print "Velocity of electrons with fermi-energy = %0.4e m/s " %V_F
from math import log
# Given data
E= 5.95 # in eV
EF= 6.25 # in eV
delE= 0.01
# delE= 1-1/(1+exp((E-EF)/KT))
K=1.38*10**-23 # Boltzman Constant in J/K
T = ((E-EF)/log(1/(1-delE) -1)*1.6*10**-19)/K # in K
print "The temperature =" ,int(T),"K"
from math import exp
# Given data
N_V = 1.04 * 10**19 # in cm**-3
T1 = 300 # in K
T2 = 400 # in K
del_E = 0.27 # in eV
N_V = N_V * (T2/T1)**1.5 # in cm**-3
KT = (0.0259) * (T2/T1) # in eV
P_o = N_V * exp(-(del_E)/KT) # in cm**-3
print "The thermal equilibrium hole concentration in silicon = %0.2e cm**-3 " %P_o
from math import sqrt, exp
#Given data
N_c = 2.8 * 10**19
N_V = 1.04 *10**19
T1 = 550 # in K
T2 = 300 # in K
E_g = 1.12
KT = (0.0259)
n_i = sqrt(N_c *N_V *(T1/T2)**3* exp(-(E_g)/KT*T2/T1)) # in cm**-3
# n_o = N_d/2 + sqrt((N_d/2)**2 + (n_i)**2)
# 1.05*N_d -N_d/2= sqrt((N_d/2)**2 + (n_i)**2)
N_d=sqrt((n_i)**2/((0.55)**2-1/4))
print "Minimum donor concentration required = %0.3e cm**-3 " %N_d
from math import log
#Given data
T = 300 # in K
n_o = 10**15 # in cm**-3
n_i = 10**10 # in cm**-3
p_o = 10**5 # in cm**-3
del_n = 10**13 # in cm**-3
del_p = del_n # in cm**-3
KT = 0.0259 # in eV
delta_E1= KT*log(n_o/n_i) # value of E_F-E_Fi in eV
delta_E2= KT*log((n_o+del_n)/n_i) # value of E_Fn-E_Fi in eV
delta_E3= KT*log((p_o+del_p)/n_i) # value of E_Fi-E_Fp in eV
print "The Fermi level for thermal equillibrium = %0.4f eV " %delta_E1
print "The quase-Fermi level for electrons in non equillibrium = %0.4f eV " %delta_E2
print "The quasi-Fermi level for holes in non equillibrium = %0.3f eV " %delta_E3
print "The quasi-Fermi level for electrons is above E_Fi while the quasi-Fermi level for holes is below E_Fi"