import math
# Given
e = 1.6*10**-19 # in coulombs
h = 6.6*10**-34 # in J s
m = 9.1*10**-31 # in Kg
me = 1.08*m
mh = 0.56*m
T = 300.0 # in Kelvin
Eg = 1.10 # in eV
ue = 1350.0 # in cm2/V/s
uh = 450.0 # in cm2/V/s
k = 1.38*10**-23 # m2 kg s-2 K-1
# Calculations and Results
Nc = 2*((2*math.pi*me*k*T)/h**2)**(3.0/2.0) # in m**-3
Nc *= 10**-6 # in cm**-3
Nv = 2*((2*math.pi*mh*k*T)/h**2)**(3.0/2.0) # in m**-3
Nv *= 10**-6 # in cm**-3
ni = math.sqrt(Nc*Nv)*math.exp(-Eg*e/(2*k*T))
print("Intrinsic concentration of Si in cm**-3 is {0:.4g}".format(ni))
sigma = e*ni*(ue+uh)
p = 1.0/sigma
print("Intrinsic resistivity of Si in ohm cm is {0:.4g}".format(p))
import math
# Given
T = 300.0 # in kelvin
k = 1.38*10**-23 # in m2 kg s-2 K-1
me = 9.1*10**-31 # in Kg
m = 0.26*me
# Calculations and Results
Ve = math.sqrt(3*k*T/m)
print("Mean speed of electrons in conduction band in m/s is {0:.4g}".format(Ve))
# Given
e = 1.6*10**-19 # in coulombs
ue = 1350.0 # in cm2/V/s
uh = 450.0 # in cm2/V/s
ni = 1.45*10**10 # in cm**-3
L = 1.0 # in cm
A = 1.0 # in cm2
N_Si = 5*10**22 # in cm**-3
# Calculations and Results
sigma = e*ni*(ue+uh)
R = L/(sigma*A)
print("Resistance of a pure Silicon crystal in ohms is {0:.4g}".format(R))
Nd = N_Si/10**9
n = Nd # at room temperature
p = ni**2/Nd
sigma = e*n*ue
R = L/(sigma*A)
print("Resistance in ohms of Silicon crystal when doped with Arsenic with 1 in 10**9 is {0:.4f}".format(R))
# Given
Na = 10**17 # acceptor atoms /cm3
Nd = 10**16 # donor atoms /cm3
p = Na-Nd # in cm**-3
ni = 1.45*10**10 # in cm**-3
# Calculations and Results
n = ni**2/p
print("Electron concentration in cm**-3 is {0:.4f}".format(n))
import math
# Given
Na = 2*10**17 # acceptor atoms /cm3
Nd = 10**16 # acceptor atoms /cm3
ni = 1.45*10**10 # in cm**-3
K = 0.0259 # in eV
# Calculations and Results
# math.since Nd>>ni
n = Nd
# let EFn-EFi=E
E = K*math.log(Nd/ni)
print("Position of the fermi energy w.r.t fermi energy in intrinsic Si in eV is {0:.4f}".format(E))
# for intrinsic Si
# ni=Nc*exp(-(Ec-E_Fi)/(k*T))
# for doped Si
# Nd=Nc*exp(-(Ec-E_Fn)/(k*T))
# let x=Nd/ni
# let K=k*T
p = Na-Nd
# let E=EFp-EFi
# let n=p/ni
E = -K*math.log(p/ni)
print("Position of the fermi energy w.r.t fermi energy in n-type case in eV is {0:.4f}".format(E))
import math
# Given
Nd = 10**15 # in cm**-3
Nc = 2.8*10**19 # in cm**-3
Ti = 556.0 # in Kelvin
k = 8.62*10**-5 # in eV/K
delta_E = 0.045 # in eV
T = 300.0 # in kelvin
# Calculations and Results
# part(a)
print("From fig 5.16 the estimated temperature above which the si sample behaves as if intrinsic is 556 Kelvin")
# part(b)
Ts = delta_E/(k*math.log(Nc/(2*Nd)))
Nc_Ts = Nc*(Ts/T)**(3.0/2.0)
print("Lowest temperature in kelvin is {0:.4f}".format(Ts))
# the improved temperature
Ts = delta_E/(k*math.log(Nc_Ts/(2*Nd)))
print("Extrinsic range of Si is {0:.4f} K to 556 K".format(Ts))
# Given
e = 1.6*10**-19 # in coulombs
Nd = 10**17 # in cm**-3
Na = 9*10**16 # in cm**-3
# Calculations and Results
# part(a)
ue1 = 800.0 # at 300 kelvin ue in cm2/V/s
sigma1 = e*Nd*ue1
ue2 = 420.0 # at 400 kelvin ue in cm2/V/s
sigma2 = e*Nd*ue2
print("when Si sample is doped with 10**17 arsenic atoms/cm3, the conductivity of "
"the sample at 300K and 400K in ohm**-1*cm**-1 is {0:.4f}, {1:.4f} respectively".format(sigma1, sigma2))
# part(b)
ue1 = 600.0 # at 300 kelvin ue in cm2/V/s
sigma1 = e*(Nd-Na)*ue1
ue2 = 400.0 # at 400 kelvin ue in cm2/V/s
sigma2 = e*(Nd-Na)*ue2
print("when n-type Si is further doped with 9*10**16 boron atoms /cm3, the conductivity of"
" the sample at 300K and 400K in ohm**-1*cm**-1 is {0:.4f}, {1:.4f} respectively".format(sigma1, sigma2))
# Given
# part(a)
h = 6.63*10**-34 # in Js
c = 3*10**8 # in m/s
e = 1.6*10**-19 # in coulombs
ue = 0.034 # in m2/V/s
uh = 0.0018 # in m2/V/s
t = 1*10**-3 # in seconds
L = 1*10**-3 # in m
D = 0.1*10**-3 # in m
W = 1*10**-3 # in m
I = 1.0 # mW/cm**2
I = I*10**-3*10**4 # conversion of units to W/m**2
n = 1.0 # quantum efficiency
lambda_val = 450*10**-9 # in m
V = 50.0 # in volts
# Calculations and Results
# part(a)
A = L*W # in m3
EHP_ph = (A*n*I*lambda_val)/(h*c)
print("No.of EHP/s generated per second is {0:.4g}".format(EHP_ph))
# part(b)
delta_sigma = e*n*I*lambda_val*t*(ue+uh)/(h*c*D)
print("Photo conductivity of the sample in ohm**-1 m**-1 is {0:.4g}".format(delta_sigma))
# part(c)
A = 0.1*10**-6 # m2
E = V/W
delta_J = E*delta_sigma
delta_I = A*delta_J
print("Photo-current produced in mA is {0:.4g}".format(delta_I*10**3))
# Given
e = 1.6*10**-19 # in coulombs
T = 300.0 # in kelvin
ue = 1300.0 # in cm2/V/s
# Calculations and Results
# V=k*T/e
V = 0.0259 # thermal voltage in Volts
# D=ue*k*T/e
D = ue*V
print("Diffusion coefficient of electrons at room temperature in cm2/s is {0:.4f}".format(D))
# Given
Eg = 1.42 # in eV
# letE=hc/lambda=hf
E = 1.96 # in eV
P_L = 50.0 # in mW
kT = 0.0259 # in eV
# Calculations and Results
delta_E = E-(Eg+(3.0/2.0)*kT)
P_H = (P_L/E)*delta_E
print("Amount of power dissipated as heat in mW is {0:.4f}".format(P_H))
import math
# Given
phi_m = 4.28 # in eV
e = 1.6*10**-19 # in coulombs
X = 4.01 # in eV
kT = 0.026 # in eV
Vf = 0.1 # in V
T = 300.0 # in kelvin
Be = 30.0 # A/K2/cm2
A = 0.01 # cm2
# Calculations and Results
# part(a)
phi_B = phi_m-X
print("Theoretical barrier height in eV is {0:.4f}".format(phi_B))
# part(b)
phi_B = 0.5 # in eV
Io = A*Be*T**2*math.exp(-phi_B/kT)
print("Saturation current in micro amperes is {0:.4f}".format(Io*10**6))
# let/E=e*Vf #in eV
E = 0.1 # in eV
If = Io*(math.exp((E/kT))-1)
print("Forward current in milli amperes is {0:.4f}".format(If*10**3))