#import module
import math
from __future__ import division
#Variable decleration
T1=300; #temp in K
T2=310; #temp in K
ni1=2.5*10**19; #per cubic metre
EgeV1=0.72; #value of Eg in eV
EgeV2=1.12; #value of Eg in eV
#Calculation
Eg1=EgeV1*1.6*10**-19; #Eg in J
Eg2=EgeV2*1.6*10**-19; #Eg in J
KB=1.38*10**-23; #boltzmann constant in J/k
#density of electron hole pair is ni = A*(T**(3/2))*exp(-Eg/(2*KB*T))
#let (T**(3/2))*exp(-Eg/(2*KB*T)) be X
X1=(T1**(3/2))*math.exp(-Eg1/(2*KB*T1));
X2=(T2**(3/2))*math.exp(-Eg2/(2*KB*T2));
#therefore ni1=A*X1 and ni2=A*X2. dividing ni2/ni1 we get X2/X1
ni2=ni1*(X2/X1);
#Result
print("the number of electron hole pairs per cubic metre is",ni2);
#answer given in the book is wrong
#import module
import math
from __future__ import division
#Variable decleration
RH=3.66*10**-4; #hall coefficient in m^3/coulomb
sigma=112; #conductivity in ohm-1 m-1
e=1.6*10**-19;
#Calculation
ne=1/(RH*e);
#sigma = e*ne*(mew_e+mew_h)
#assuming mew_h = 0
mew_e=sigma/(e*ne);
#Result
print("the charge carrier density per m^3 is",ne);
print("electron mobility in m^2/Vs is",mew_e);
#answer given in the book is wrong
#import module
import math
from __future__ import division
#Variable decleration
ni=1.5*10**16; #intrinsic concentration per m^3
e=1.6*10**-19;
mew_e=0.13; #mobility of electrons in m^2/Vs
mew_h=0.05; #mobility of holes in m^2/Vs
ND=5*10**20; #conductivity in atoms/m^3
#Calculation
sigma1=ni*e*(mew_e+mew_h);
nd=(ni**2)/ND;
sigma2=ND*e*mew_e;
NA=5*10**20;
na=(ni**2)/NA;
sigma3=NA*e*mew_h;
sigma1=math.ceil(sigma1*10**7)/10**7; #rounding off to 7 decimals
sigma2=math.ceil(sigma2*10**2)/10**2; #rounding off to 2 decimals
#Result
print("intrinsic conductivity of Si in ohm-1 m-1 is",sigma1);
print("conductivity of Si during donor impurity in ohm-1 m-1 is",sigma2);
print("conductivity of Si during acceptor impurity in ohm-1 m-1 is",round(sigma3));
#import module
import math
from __future__ import division
#Variable decleration
sigma1=2; #conductivity in ohm-1 m-1
EgeV=0.72; #band gap in eV
KB=1.38*10**-23; #boltzmann constant
T1=20; #temp in C
T2=40; #temp in C
#Calculation
Eg=EgeV*1.6*10**-19; #in J
T1=T1+273; #temp in K
T2=T2+273; #temp in K
#sigma2/sigma1 = exp((-Eg/(2*KB))*((1/T2)-(1/T1)))
#by taking log on both sides we get 2.303*log10(sigma2/sigma1) = (Eg/(2*KB))*((1/T1)-(1/T2))
#let (Eg/(2*KB))*((1/T1)-(1/T2)) be X
X=(Eg/(2*KB))*((1/T1)-(1/T2));
#let log10(sigma2/sigma1) be Y
Y=X/2.303;
#log10(sigma2/sigma1) = log10(sigma2)-log10(sigma1)
#let log10(sigma2) be A
A=Y+math.log10(sigma1);
sigma2=10**A;
sigma2=math.ceil(sigma2*10**2)/10**2; #rounding off to 2 decimals
#Result
print("the conductivity in mho m-1 is",sigma2);
#import module
import math
from __future__ import division
#Variable decleration
mew_n=1300*10**-4; #in m^2/Vs
mew_p=500*10**-4; #in m^2/Vs
sigma=3*10**4; #conductivity in ohm-1 m-1
e=1.6*10**-19;
#Calculation
N=sigma/(e*mew_n);
ni=1.5*10**16; #per m^3
p=(ni**2)/N;
P=sigma/(e*mew_p);
n=(ni**2)/P;
N=math.ceil(N*10**4)/10**4; #rounding off to 4 decimals
#Result
print("concentration of electrons in n-type per cubic metre are",N);
print("concentration of holes in n-type per cubic metre are",round(p));
print("concentration of electrons in p-type per cubic metre are",round(n));
print("concentration of holes in p-type per cubic metre are",P);
#import module
import math
from __future__ import division
#Variable decleration
ni=2.37*10**19; #intrinsic carrier density per m^3
mew_e=0.38; #in m**2/Vs
mew_n=0.18; #in m**2/Vs
#Calculation
e=1.6*10**-19;
sigmai=ni*e*(mew_e+mew_n);
rho=1/sigmai;
rho=math.ceil(rho*10**3)/10**3; #rounding off to 3 decimals
#Result
print("resistivity in ohm m is",rho);
#import module
import math
from __future__ import division
#Variable decleration
Eg=1.12; #band gap in eV
K=1.38*10**-23;
T=300; #temp in K
#Calculation
#EF = (Eg/2)+(3*K*T/4)*log(mh/me)
#given me=0.12m0 and mh=0.28m0. therefore mh/me = 0.28/0.12
#let mh/me be X. therefore X=0.28/0.12
X=0.28/0.12;
EF=(Eg/2)+((3*K*T/4)*math.log(X));
#Result
print("the position of fermi level in eV is",EF);
#answer given in the book is wrong
#import module
import math
from __future__ import division
#Variable decleration
KB=1.38*10**-23;
T=300; #temp in K
h=6.626*10**-34;
m0=9.11*10**-31;
mh=m0;
me=m0;
EgeV=0.7; #energy gap in eV
#Calculation
Eg=EgeV*1.6*10**-19; #in J
A=((2*math.pi*KB/(h**2))**(3/2))*(me*mh)**(3/4);
B=T**(3/2);
C=math.exp(-Eg/(2*KB*T));
ni=2*A*B*C;
#Result
print("concentration of intrinsic charge carriers per cubic metre is",ni);
#import module
import math
from __future__ import division
#Variable decleration
ni=2.4*10**19;
mew_e=0.39;
mew_h=0.19;
e=1.6*10**-19;
#Result
sigmai=ni*e*(mew_e+mew_h);
rhoi=1/sigmai;
rhoi=math.ceil(rhoi*10**2)/10**2; #rounding off to 2 decimals
#Result
print("resistivity in ohm m is",rhoi);
#import module
import math
from __future__ import division
#Variable decleration
l=1; #length in cm
l=l*10**-2; #length in m
e=1.6*10**-19;
w=1; #width in mm
t=1; #thickness in mm
#Calculation
w=w*10**-3; #width in m
t=t*10**-3; #thickness in m
A=w*t;
ni=2.5*10**19;
mew_e=0.39;
mew_p=0.19;
sigma=ni*e*(mew_p+mew_e);
R=l/(sigma*A);
#Result
print("resistance of intrinsic Ge rod in ohm is",R);
#import module
import math
from __future__ import division
#Variable decleration
Eg=1.1; #energy gap in eV
m=9.109*10**-31;
k=1.38*10**-23;
T=300;
e=1.6*10**-19;
h=6.626*10**-34;
mew_e=0.48; #electron mobility
mew_h=0.013; #hole mobility
#Calculation
C=2*(2*math.pi*m*k/(h**2))**(3/2);
X=2*k*T/e;
Y=-Eg/X;
A=math.exp(Y);
ni=C*(T**(3/2))*A;
sigma=ni*e*(mew_e+mew_h);
sigma=math.ceil(sigma*10**6)/10**6 #rounding off to 6 decimals
#Result
print("conductivity in ohm-1 m-1 is",sigma);
# answer given in the book is wrong, Page number 255
#import module
import math
from __future__ import division
#Variable decleration
m=9.109*10**-31;
k=1.38*10**-23;
T=300;
e=1.6*10**-19;
h=6.626*10**-34;
Eg=0.7;
mew_e=0.4; #electron mobility
mew_h=0.2; #hole mobility
#Calculation
C=2*(2*math.pi*m*k/((h**2)))**(3/2);
X=2*k*T/e;
ni=C*(T**(3/2))*math.exp(-Eg/X);
sigma=ni*e*(mew_e+mew_h);
sigma=math.ceil(sigma*10**3)/10**3 #rounding off to 3 decimals
#Result
print("conductivity in ohm-1 m-1",sigma);
#answer given in the book is wrong
#import module
import math
from __future__ import division
#Variable decleration
k=8.616*10**-5;
T1=20; #temp in C
T1=T1+273; #temp in K
T2=32; #temp in C
rho2=4.5; #resistivity in ohm m
rho1=2; #resistivity in ohm m
#Calculation
T2=T2+273; #temp in K
dy=math.log10(rho2)-math.log10(rho1);
dx=(1/T1)-(1/T2);
Eg=2*k*dy/dx;
Eg=math.ceil(Eg*10**3)/10**3 #rounding off to 3 decimals
#Result
print("energy band gap in eV is",Eg);
#import module
import math
from __future__ import division
#Variable decleration
k=8.616*10**-5;
T1=20; #temp in C
T2=32; ##temp in C
rho2=4.5; #resistivity in ohm m
rho1=2; #resistivity in ohm m
#Calculation
T1=T1+273; #temp in K
T2=T2+273; #temp in K
dy=math.log10(rho2)-math.log10(rho1);
dx=(1/T1)-(1/T2);
Eg=2*k*dy/dx;
Eg=math.ceil(Eg*10**3)/10**3 #rounding off to 3 decimals
#Result
print("energy band gap in eV is",Eg);
#import module
import math
from __future__ import division
#Variable decleration
EgeV=1; #energy in eV
k=1.38*10**-23;
Eg=EgeV*1.602*10**-19; #in J
#EF can be taken as (Ev+0.5)eV
#therefore (Ev+0.5)eV = (Ec+Ev)/2--------(1)
#let fermi level shift by 10% then (Ev+0.6)eV = ((Ec+Ev)/2)+((3*k*T/4)*log(4))-----(2)
#subtracting (1) from (2)
#0.1 eV = (3*k*T/4)*math.log(4)
E=0.1; #energy in eV
E=E*1.602*10**-19; #energy in J
T=(4*E)/(3*k*math.log(4));
#Result
print("temperature in K is",T);
#import module
import math
from __future__ import division
#Variable decleration
ni=1.5*10**16;
e=1.6*10**-19;
mew_e=0.13;
mew_h=0.05;
#Calculation
sigma=ni*e*(mew_e+mew_h);
M=28.1; #atomic weight of Si
d=2.33*10**3; #density in kg/m^3
v=M/d;
N=6.02*10**26;
N1=N/v;
#1 donor type impurity is added to 1 impurity atom
ND=N1/(10**8);
p=(ni**2)/ND;
sigma_exd=ND*e*mew_e;
#1 acceptor type impurity is added to 1 impurity atom
Na=N1/(10**8);
n=(ni**2)/Na;
sigma_exa=Na*e*mew_h;
sigma=math.ceil(sigma*10**7)/10**7 #rounding off to 7 decimals
sigma_exd=math.ceil(sigma_exd*10**3)/10**3 #rounding off to 3 decimals
sigma_exa=math.ceil(sigma_exa*10**3)/10**3 #rounding off to 3 decimals
#Result
print("conductivity in ohm-1 m-1 is",sigma);
print("number of Si atoms per m^3 is",N1);
print("conductivity for donor type impurity in ohm-1 m-1 is",sigma_exd);
print("conductivity for acceptor type impurity in ohm-1 m-1 is",sigma_exa);
#import module
import math
from __future__ import division
#Variable decleration
T=300; #temperature in K
KB=1.38*10**-23;
e=1.6*10**-19;
mew_e=0.19; #mobility of electrons in m^2/Vs
#Calculation
Dn=mew_e*KB*T/e;
Dn=math.ceil(Dn*10**6)/10**6 #rounding off to 6 decimals
#Result
print("diffusion coefficient of electrons in m^2/s is",Dn);
#import module
import math
from __future__ import division
#Variable decleration
RH=3.66*10**-4; #hall coefficient in m^3/coulomb
I=10**-2; #current in amp
B=0.5; #magnetic field in wb/m^2
t=1; #thickness in mm
#Calculation
t=t*10**-3; #thickness in m
VH=(RH*I*B)/t;
VH=VH*10**3; #converting from Volts to mV
#Result
print("Hall voltage in mV is",VH);
#import module
import math
from __future__ import division
#Variable decleration
RH=-7.35*10**-5; #hall coefficient
e=1.6*10**-19;
sigma=200;
#Calculation
n=(-1/(RH*e));
mew=sigma/(n*e);
#Result
print("density of charge carriers in m^3 is",n);
print("mobility of charge carriers in m^2/Vs is",mew);
#import module
import math
from __future__ import division
#Variable decleration
I=50; #current in amp
B=1.5; #magnetic field in T
n=8.4*10**28; #free electron concentration in electron/m^3
t=0.5; #thickness in cm
e=1.6*10**-19;
#Calculation
t=t*10**-2; #thickness in m
VH=(I*B)/(n*e*t);
VH=VH*10**6; #converting VH from V to micro V
VH=math.ceil(VH*10**4)/10**4 #rounding off to 4 decimals
#Result
print("magnitude of Hall voltage in microVolt is",VH);
#import module
import math
from __future__ import division
#Variable decleration
RH=3.66*10**-4;
e=1.6*10**-19;
rho_n=8.93*10**-3;
#Calculation
n=1/(RH*e);
mew_e=RH/rho_n;
mew_e=math.ceil(mew_e*10**5)/10**5 #rounding off to 5 decimals
#Result
print("n per m^3 is",n);
print("mew_e in m^2/V is",mew_e);
#import module
import math
from __future__ import division
#Variable decleration
mew_e=0.13; #electron mobility in m^2/Vs
mew_h=0.048; #hole mobility in m^2/Vs
ni=1.5*10**16;
e=1.6*10**-19;
T=300; #temp in K
ND=10**23; #density per m^3
#Calculation
sigmai=ni*e*(mew_e+mew_h);
sigma=ND*mew_e*e;
p=(ni**2)/ND;
sigmai=math.ceil(sigmai*10**5)/10**5 #rounding off to 5 decimals
#Result
print("conductivity of intrinsic Si in s is",sigmai);
print("conductivity in s is",sigma);
print("equilibrium hole concentration per m^3 is",round(p));
#answers for sigmai and sigma given in the book are wrong
#import module
import math
from __future__ import division
#Variable decleration
T=300; #temp in K
kB=1.38*10**-23;
mew_e=0.36; #mobility of electrons in m^2/Vs
e=1.6*10**-19;
mew_h=0.7; #mobility of electrons in m^2/Vs
sigma=2.12; #conductivity in ohm-1 m-1
C=4.83*10**21; #proportional constant
#Calculation
ni=sigma/(e*(mew_e+mew_h));
#exp(-Eg/(2*kB*T)) = (C*(T^(3/2)))/ni
#let X be (C*(T^(3/2)))/ni
X=(C*(T**(3/2)))/ni;
#exp(-Eg/(2*kB*T)) = X
#applyinf log on both sides
#Eg/(2*kB*T) = log(X)
Eg=2*kB*T*math.log(X);
#Result
print("forbidden energy gap in eV is",Eg);
#answer given in the book is wrong
#import module
import math
from __future__ import division
#Variable decleration
Eg=0.4; #energy gap in eV
Eg=Eg*1.6*10**-19; #Eg in J
KB=1.38*10**-23;
T1=0; #temp 1 in C
T2=50; #temp 2 in C
T3=100; #temp 3 in C
#Calculation
T1k=T1+273; #temp 1 in K
T2k=T2+273; #temp 2 in K
T3k=T3+273; #temp 3 in K
#F(E) = 1/(1+(exp((E-Ep)/(KB*T))))
#but E-Ep = (1/2)*Eg
#therefore F(E) = 1/(1+(exp(Eg/(2*KB*T))))
FE1=1/(1+(math.exp(Eg/(2*KB*T1k))));
FE2=1/(1+(math.exp(Eg/(2*KB*T2k))));
FE3=1/(1+(math.exp(Eg/(2*KB*T3k))));
FE1=math.ceil(FE1*10**6)/10**6 #rounding off to 6 decimals
FE2=math.ceil(FE2*10**6)/10**6 #rounding off to 6 decimals
FE3=math.ceil(FE3*10**6)/10**6 #rounding off to 6 decimals
#Result
print("probability of occupation at 0 C in eV is",FE1);
print("probability of occupation at 50 C in eV is",FE2);
print("probability of occupation at 100 C in eV is",FE3);
#answers given in the book are wrong
#import module
import math
from __future__ import division
#Variable decleration
Eg=1.2; #energy in eV
Eg=Eg*1.6*10**-19; #in J
KB=1.38*10**-23;
T1=600; #temp in K
T2=300; #temp in K
#Calculation
#sigma is proportional to exp(-Eg/(2*KB*T))
#let sigma1/sigma2 be R
R=math.exp((Eg/(2*KB))*((1/T2)-(1/T1)));
#Result
print("the ratio between conductivity is",round(R));
#answer given in the book is wrong
#import module
import math
from __future__ import division
#Variable decleration
ni=2.5*10**19; #density of charge carriers in m^3
r=1/(10**6); #ratio
e=1.6*10**-19;
mew_e=0.36; #mobility of electrons in m^2/Vs
mew_h=0.18; #mobility of holes in m^2/Vs
N=4.2*10**28; #number of Si atoms per m^3
#Calculation
Ne=r*N;
Nh=(ni**2)/Ne;
sigma=(Ne*e*mew_e)+(Nh*e*mew_h);
rho=1/sigma;
rho=math.ceil(rho*10**8)/10**8 #rounding off to 8 decimals
#Result
print("number of impurity atoms per m^3 is",Ne);
print("the resistivity of doped Ge in ohm m is",rho);
#import module
import math
from __future__ import division
#Variable decleration
n=5*10**17; #concentration in m^3
vd=350; #drift velocity in m/s
E=1000; #electric field in V/m
e=1.6*10**-19;
#Calculation
mew=vd/E;
sigma=n*e*mew;
sigma=math.ceil(sigma*10**4)/10**4 #rounding off to 4 decimals
#Result
print("the conductivity of material in ohm m is",sigma);
#import module
import math
from __future__ import division
#Variable decleration
sigma_e=2.2*10**-4; #conductivity
mew_e=125*10**-3; #mobility of electrons in m^2/Vs
e=1.602*10**-19;
#Calculation
ne=sigma_e/(e*mew_e);
#Result
print("concentration in m^3 is",ne);
#import module
import math
from __future__ import division
#Variable decleration
RH=3.66*10**-4; #hall coefficient in m^3/c
rho_i=8.93*10**-3; #resistivity in ohm m
e=1.6*10**-19;
#Calculation
nh=1/(RH*e);
mew_h=1/(rho_i*nh*e);
mew_h=math.ceil(mew_h*10**4)/10**4 #rounding off to 4 decimals
#Result
print("density of charge carriers in m^3 is",nh);
print("mobility of charge carriers is %f m^2/Vs",mew_h);
#import module
import math
from __future__ import division
#Variable decleration
I=3; #current in mA
I=I*10**-3; #current in amp
e=1.6*10**-19;
RH=3.66*10**-4; #hall coefficient in m^3/C
B=1; #flux density in w/m^2
d=2; #dimension along Y in cm
z=1; #dimension along z in mm
#Calculation
d=d*10**-2; #dimension along Y in m
z=z*10**-3; #dimension along z in m
A=d*z; #area in m^2
EH=RH*I*B/A;
VH=EH*d;
VH=VH*10**3; #converting from V to mV
n=1/(RH*e);
VH=math.ceil(VH*10**2)/10**2 #rounding off to 2 decimals
#Result
print("Hall voltage in mV is",VH);
print("charge carrier concentration in m^3 is",n);