#importing module
import math
from __future__ import division
#Variable declaration
ni=1.5*10**10 #in cm**-3
Nd=5*10**16 #doping density in cm**-3
V=0.55 #in V
Const=0.026 #constant for kT/e in V
#Calculations
Pn0=ni**2/Nd #in cm**-3
Pn=Pn0*math.exp(V/Const)
#Result
print("minority carrier concentration= %1.2f*10**12 cm**-3" %(Pn/10**12))
#importing module
import math
from __future__ import division
#Variable declaration
ni=1.5*10**10 #in cm**-3
e=1.6*10**-19 #in J
Na=10**16 #doping density in cm**-3
Nd=5*10**16 #in cm**-3
Dn=25 #in cm**2/s
Dp=10 #in cm**2/s
tau_p0=4*10**-7 #in s
tau_n0=2*10**-7 #in s
#Calculations
Js=e*ni**2*((1/Na)*math.sqrt(Dn/tau_n0)+(1/Nd)*math.sqrt(Dp/tau_p0))
#Result
print("Reverse saturation current density= %1.2f*10**-11 A/cm**2" %(Js/10**-11)) #The answers vary due to round off error
#importing module
import math
from __future__ import division
#Variable declaration
sigma_p=1000 #conductivity of p-junction in ohm**-1*m**-1
sigma_n=20 #conductivity of n-junction in ohm**-1*m**-1
myu_p=0.05 #in m**2/V*s
myu_n=0.13 #in m**2/V*s
K=8.61*10**-5 #Boltzmann constant in eV/K
T=300 #in K
V=0.4 #forward bias voltage in V
e=1.602*10**-19 #in J
ni=1.5*10**16 #in m**-3
tau_n=10**-6 #minority carrier lifetime in s
tau_p=5*10**-6 #in s
Const=0.026 #constant for kT/e in V
hole_current=0.603*10**-6 #in A
electron_current=0.016*10**-6 #in A
#Calculations
pp0=sigma_p/(e*myu_p) #majority carrier densities in m**-3
nn0=sigma_n/(e*myu_n) #in m**-3
np0=ni**2/pp0 #minority carrier densities in m**-3
pn0=ni**2/nn0 #in m**-3
Dn=myu_n*K*T #in m**2/s
Dp=myu_p*K*T #in m**2/s
Ln=math.sqrt(Dn*tau_n) #in m
Lp=math.sqrt(Dp*tau_p) #in m
Js=(((e*np0*Ln)/tau_n)+((e*pn0*Lp)/tau_p))
Ratio=(hole_current)/(electron_current)
J=Js*(math.exp(V/Const)-1)
#Result
print("1)\nReverse bias stauration current density= %0.3f*10**-6 A/m**2\n" %(Js/10**-6)) #The answers vary due to round off error
print("2)\nRatio of hole to electron current= %2.2f \n" %Ratio)
print("3)\nTotal current density= %2.2f A/m**2" %J) #The answers vary due to round off error
#importing module
import math
from __future__ import division
#Variable declaration
Ip0=0.5*10**-3 #in A
tau_p0=5*10**-7 #in s
Const=0.026 #constant for kT/e in V
#Calculations
Cd0=(1/(2*Const))*tau_p0*Ip0
#Result
print("Diffusion Capacitance= %i*10**-9 F" %math.floor(Cd0/10**-9))
#The answers vary due to round off error
#importing module
import math
from __future__ import division
#Variable declaration
ni=1.5*10**10 #in cm**-3
epsilon_si=11.7 #in F/cm
epsilon_0=8.85*10**-14 #in F/cm
e=1.6*10**-19 #in J
Na=10**16 #in cm**-3
Nd=5*10**16 #in cm**-3
tau_p0=4*10**-7 #in s
tau_n0=2*10**-7 #in s
#Calculations
W=(((2*epsilon_si*epsilon_0)*(Na+Nd)*4)/(e*Na*Nd))**0.5 #in micro-m
tau_m=(tau_p0+tau_n0)/2 #in s
Jgen=(e*ni*W)/(2*tau_m)
#Result
print("reverse-bias generation current density= %1.2f*10**-7 A/cm**2" %(Jgen/10**-7)) #The answers vary due to round off error
#importing module
import math
from __future__ import division
#Variable declaration
Jn=20 #in A/cm**2
Jp=5 #in A/cm**2
Va=0.65 #in V
Dn=25 #in cm**2/s
Dp=10 #/in cm**2/s
tau_n0=5*10**-7 #in s
tau_p0=5*10**-7 #in s
epsilon_r=11.8 #in F/cm
epsilon_0=8.85*10**-14 #in F/cm
e=1.6*10**-19 #in eV
ni=1.5*10**10 #in cm**-3
Const=0.0259 #constant for kT/e in V
#Calculations
Lp=math.sqrt(Dp*tau_p0) #in cm
pn0=(Jp*Lp)/(e*Dp*(math.exp(Va/Const)-1)) #law of mass action in cm**-3
Nd=(ni**2/pn0)
Ln=math.sqrt(Dn*tau_n0) #in cm
np0=(Jn*Ln)/(e*Dn*(math.exp((Va/Const))-1)) #in cm**-3
Na=ni**2/np0
#Result
print("Nd= %1.2f*10**15 cm**-3\n" %(Nd/10**15)) #The answers vary due to round off error
print("Na= %1.2f*10**15 cm**-3" %(Na/10**15))
#importing module
import math
from __future__ import division
#Variable declaration
ni=1.5*10**10 #in cm**-3
Nd=1*10**16 #n-type doping in cm**-3
V=0.6 #forward bias current in V
e=1.6*10**-19 #in eV
Const=0.0259 #constant for kT/e in V
#Calculations
Pn0=ni**2/Nd #in cm**-3
Pn=Pn0*math.exp(V/Const)
#Result
print("Minority carrier hole concentration= %1.2f*10**14 cm**-3" %(Pn/10**14))
#importing module
import math
from __future__ import division
#Variable declaration
ni=1.5*10**10 #in cm**-3
Nd=5*10**16 #n-type doping in cm**-3
V=0.5 #forward bias current in V
e=1.6*10**-19 #in eV
tau_p=1*10**-6 #in s
Dp=10 #in cm**2/s
A=10**-3 #cross-sectional area in cm**2
Const=0.0259 #constant for kT/e in V
#Calculations
pn=ni**2/Nd #in cm**-3
Lp=math.sqrt(Dp*tau_p) #in cm
I=e*A*(Dp/Lp)*pn*(math.exp(V/Const))
#Result
print("Current= %.2f micro-Ampere" %(I/10**-6))
#importing module
import math
from __future__ import division
#Variable declaration
ni=1.5*10**10 #in cm**-3
e=1.6*10**-19 #in eV
Na=10**16 #doping density in cm**-3
Nd=10**16 #in cm**-3
tau_p0=5*10**-7 #in s
tau_n0=5*10**-7 #in s
Dn=25 #in cm**2/s
Dp=10 #in cm**2/s
epsilon_r=11.7 #in F/cm
epsilon_0=8.85*10**-14 #in F/cm
myu_n=1350 #in cm**2/V*s
myu_p=450 #in cm**2/V*s
V=0.65 #in V
Const=0.0259 #constant for kT/e in V
#Calculations
pn0=ni**2/Nd #in cm**-3
np0=ni**2/Na #in cm**-3
Lp=math.sqrt(Dp*tau_p0) #in cm
Ln=math.sqrt(Dn*tau_n0) #in cm
Js=(((e*Dp*pn0)/Lp)+((e*Dn*pn0)/Lp)) #in A/cm**2
J=Js*(math.exp(V/Const)-1) #Total current density in A/cm**2
sigma=e*myu_n*Nd #in mho/cm
E=J/sigma
#Result
print("Electric field value= %1.2f V/cm" %E) #The answer provided in the textbook is wrong