#importing modules
import math
from __future__ import division
#Variable declaration
ni = 2.37*10**19; #intrinsic carrier density(per m^3)
mew_e = 0.38; #electron mobility(m^2/Vs)
mew_h = 0.18; #hole mobility(m^2/Vs)
e = 1.6*10**-19;
#Calculation
sigma_i = ni*e*(mew_e+mew_h); #conductivity(ohm-1 m-1)
rho = 1/sigma_i; #resistivity(ohm m)
rho = math.ceil(rho*10**3)/10**3; #rounding off to 3 decimals
#Result
print "resistivity is",rho,"ohm m"
#importing modules
import math
from __future__ import division
import numpy as np
#Variable declaration
Eg = 1.12; #band gap(eV)
k = 1.38*10**-23;
T = 300; #temperature(K)
e = 1.6*10**-19;
m0 = 1; #for simplicity assume value of m0 to be unity
#Calculation
mh = 0.28*m0;
me = 0.12*m0;
EF = (Eg/2)+(3*k*T*np.log(mh/me)/(4*e)); #position of Fermi level(eV)
EF = math.ceil(EF*10**4)/10**4; #rounding off to 4 decimals
#Result
print "position of Fermi level is",EF,"eV from the top of valence band"
#importing modules
import math
from __future__ import division
#Variable declaration
T = 300; #temperature(K)
e = 1.6*10**-19;
m = 9.109*10**-31; #mass of electron(kg)
k = 1.38*10**-23; #boltzmann's constant
h = 6.626*10**-34; #planck's constant
Eg = 0.7; #band gap(eV)
#Calculation
Eg = Eg*e; #band gap(J)
A = (2*math.pi*m*k*T/h**2)**(3/2);
B = math.exp(-Eg/(2*k*T));
ni = 2*A*B; #concentration of intrinsic charge carriers per m^3
#Result
print "concentration of intrinsic charge carriers is",round(ni/1e+19,3),"*10^19 per m^3"
#importing modules
import math
from __future__ import division
#Variable declaration
ni = 2.4*10**19; #intrinsic carrier density(per m^3)
mew_e = 0.39; #electron mobility(m^2/Vs)
mew_h = 0.19; #hole mobility(m^2/Vs)
e = 1.6*10**-19;
#Calculation
sigma_i = ni*e*(mew_e+mew_h); #conductivity(ohm-1 m-1)
rho = 1/sigma_i; #resistivity(ohm m)
rho = math.ceil(rho*10**3)/10**3; #rounding off to 3 decimals
#Result
print "resistivity is",rho,"ohm m"
#importing modules
import math
from __future__ import division
#Variable declaration
ni = 2.5*10**19; #intrinsic carrier density(per m^3)
mew_e = 0.39; #electron mobility(m^2/Vs)
mew_h = 0.19; #hole mobility(m^2/Vs)
e = 1.6*10**-19;
w = 1; #width(mm)
t = 1; #thickness(mm)
l = 1; #length(cm)
#Calculation
sigma_i = ni*e*(mew_e+mew_h); #conductivity(ohm-1 m-1)
w = w*10**-3; #width(m)
t = t*10**-3; #thickness(m)
A = w*t; #area(m^2)
l = l*10**-2; #length(m)
R = l/(sigma_i*A); #resistivity(ohm m)
R = R/10**3;
R = math.ceil(R*10**3)/10**3; #rounding off to 3 decimals
#Result
print "resistance of intrinsic Ge rod is",R,"*10^3 ohm"
#importing modules
import math
from __future__ import division
#Variable declaration
m = 9.109*10**-31; #mass of electron(kg)
k = 1.38*10**-23; #boltzmann constant
h = 6.626*10**-34; #planck's constant
T = 300; #temperature(K)
kT = 0.026;
e = 1.6*10**-19;
Eg = 1.1; #energy gap(eV)
mew_e = 0.48; #electron mobility(m^2/Vs)
mew_h = 0.013; #hole mobility(m^2/Vs)
#Calculation
C = 2*(2*math.pi*m*k/h**2)**(3/2);
ni = C*(T**(3/2))*math.exp(-Eg/(2*kT)); #intrinsic carrier density per m^3
sigma_i = ni*e*(mew_e+mew_h); #conductivity(ohm-1 m-1)
sigma_i = sigma_i*10**3;
sigma_i = math.ceil(sigma_i*10**3)/10**3; #rounding off to 3 decimals
#Result
print "conductivity is",sigma_i,"*10**-3 ohm-1 m-1"
print "answer given in the book differs due to rounding off errors"
#importing modules
import math
from __future__ import division
#Variable declaration
m = 9.109*10**-31; #mass of electron(kg)
k = 1.38*10**-23; #boltzmann constant
h = 6.626*10**-34; #planck's constant
T = 300; #temperature(K)
e = 1.6*10**-19;
Eg = 0.7; #energy gap(eV)
mew_e = 0.4; #electron mobility(m^2/Vs)
mew_h = 0.2; #hole mobility(m^2/Vs)
#Calculation
ni = 2*(2*math.pi*m*k*T/h**2)**(3/2)*math.exp(-Eg*e/(2*k*T)); #intrinsic carrier density per m^3
sigma = ni*e*(mew_e+mew_h); #conductivity(ohm-1 m-1)
sigma = math.ceil(sigma*10**2)/10**2; #rounding off to 2 decimals
#Result
print "intrinsic carrier density is",round(ni/1e+19,2),"*10^19 per m^3"
print "conductivity is",sigma,"ohm-1 m-1"
print "answer given in the book is wrong"
#importing modules
import math
from __future__ import division
import numpy as np
#Variable declaration
rho = 2.12; #resistivity(ohm m)
e = 1.6*10**-19;
m = 9.109*10**-31; #mass of electron(kg)
k = 1.38*10**-23; #boltzmann constant
h = 6.626*10**-34; #planck's constant
mew_e = 0.36; #electron mobility(m^2/Vs)
mew_h = 0.17; #hole mobility(m^2/Vs)
T = 300; #temperature(K)
#Calculation
sigma = 1/rho; #conductivity(ohm-1 m-1)
ni = sigma/(e*(mew_e+mew_h)); #intrinsic carrier density per m^3
C = 2*(2*math.pi*m*k/h**2)**(3/2);
#let exp(Eg/(2*k*T)) be a
a = (C*T**(3/2))/ni;
#Eg/(2*k*T) = log(a) and Eg = 2*k*T*log(a)
Eg = 2*k*T*np.log(a)/e; #forbidden energy gap(eV)
Eg = math.ceil(Eg*10**3)/10**3; #rounding off to 3 decimals
#Result
print "forbidden energy gap is",Eg,"eV"
print "answer given in the book differs due to rounding off errors"
#importing modules
import math
from __future__ import division
import numpy as np
#Variable declaration
rho_2 = 4.5; #resistivity at 20C
rho_1 = 2; #resistivity at 32C
T1 = 20; #temperature(C)
T2 = 32; #temperature(C)
k = 8.616*10**-5;
#Calculation
T1 = T1+273; #temperature(K)
T2 = T2+273; #temperature(K)
dy = np.log10(rho_2)-np.log10(rho_1);
dx = (1/T1)-(1/T2);
Eg = 2*k*dy/dx; #energy band gap(eV)
Eg = math.ceil(Eg*10**3)/10**3; #rounding off to 3 decimals
#Result
print "energy band gap is",Eg,"eV"
print "answer given in the book differs due to rounding off errors"
#importing modules
import math
from __future__ import division
import numpy as np
#Variable declaration
Eg = 1; #band gap(eV)
e = 1.602*10**-19;
me = 1; #for simplicity assume me to be unity
E_Ef = 10/100; #fermi level shift(eV)
k = 1.38*10**-23; #boltzmann constant
#Calculation
Eg = Eg*e; #band gap(J)
mh = 4*me; #effective mass of holes is 4 times of electrons
E_Ef = E_Ef*e; #fermi level shift(J)
#E_Ef = 3*k*T*np.log(mh/me)/4
T = 4*E_Ef/(3*k*np.log(mh/me)); #temperature(K)
#Result
print "temperature is",int(T),"K"
#importing modules
import math
from __future__ import division
#Variable declaration
Na = 5*10**23; #atoms of boron
Nd = 3*10**23; #arsenic atoms
ni = 2*10**16; #intrinsic charge carriers per m^3
#Calculation
p = 2*(Na-Nd)/2; #hole concentration per m^3
n = ni**2/p; #electron concentration per m^3
n = n/10**9;
#Result
print "electron concentration is",int(n),"*10**9 per m^3"
#importing modules
import math
from __future__ import division
#Variable declaration
ni = 1.5*10**16; #intrinsic charge carriers per m^3
e = 1.6*10**-19;
mew_e = 0.13; #electron mobility(m^2/Vs)
mew_h = 0.05; #hole mobility(m^2/Vs)
AW = 28.1; #atomic weight of Si(kg)
d = 2.33*10**3; #density of Si(kg/m^3)
N = 6.02*10**26; #avagadro number
#Calculation
sigma = ni*e*(mew_e+mew_h); #conductivity(ohm-1 m-1)
sigma = sigma*10**3;
Nd = d*N/AW; #impurity atoms per m^3
Nd = Nd/10**8; #extent of 10^8 Si atoms
p = ni**2/Nd; #hole concentration per m^3
sigma_ex = Nd*e*mew_e; #conductivity(ohm-1 m-1)
sigma_ex = math.ceil(sigma_ex*10**3)/10**3; #rounding off to 3 decimals
Na = Nd;
n = ni**2/Na; #electron concentration per m^3
sigma_EX = Na*e*mew_h; #conductivity(ohm-1 m-1)
sigma_EX = math.ceil(sigma_EX*10**3)/10**3; #rounding off to 3 decimals
#Result
print "conductivity is",sigma,"*10^-3 ohm-1 m-1"
print "conductivity if donor type impurity is added is",sigma_ex,"ohm-1 m-1"
print "conductivity if acceptor type impurity is added is",sigma_EX,"ohm-1 m-1"
#importing modules
import math
from __future__ import division
import numpy as np
#Variable declaration
ni = 1.5*10**16; #intrinsic charge carriers per m^3
e = 1.6*10**-19;
mew_e = 0.135; #electron mobility(m^2/Vs)
mew_h = 0.048; #hole mobility(m^2/Vs)
Nd = 10**23; #phosphorus atoms per m^3
k = 1.38*10**-23; #boltzmann constant
T = 300; #temperature(K)
#Calculation
sigma = ni*e*(mew_e+mew_h); #conductivity(ohm-1 m-1)
sigma = sigma*10**3;
p = (ni**2)/Nd; #hole concentration per m^3
p = p/10**9;
sigma_ex = Nd*e*mew_e; #conductivity(ohm-1 m-1)
#EF = (Eg/2)+(3*k*T*log(mew_e/mew_h)/4)
X = 3*k*T*np.log(mew_e/mew_h)/(4*e);
X = math.ceil(X*10**3)/10**3; #rounding off to 3 decimals
#EF = (Eg/2)+X
#Result
print "conductivity is",sigma,"*10^-3 ohm-1 m-1"
print "hole concentration is",p,"*10**9 per m^3"
print "answer for hole concentration given in the book is wrong"
print "EF = Eg/2 + ",X
print "Fermi level will be positioned at ",X,"eV above intrinsic level"
#importing modules
import math
from __future__ import division
#Variable declaration
mew_e = 0.19; #electron mobility(m^2/Vs)
k = 1.38*10**-23; #boltzmann constant
T = 300; #temperature(K)
e = 1.6*10**-19;
#Calculation
Dn = mew_e*k*T/e; #diffusion coefficient(m^2/s)
Dn = Dn*10**4;
Dn = math.ceil(Dn*10**2)/10**2; #rounding off to 2 decimals
#Result
print "diffusion coefficient of electrons is",Dn,"*10^-4 m^2/s"
#importing modules
import math
from __future__ import division
#Variable declaration
RH = 3.66*10**-4; #Hall coefficient(m^3/coulomb)
I = 10**-2; #current(amp)
B = 0.5; #magnetic field(Wb/m^2)
t = 1; #thickness(mm)
#Calculation
t = t*10**-3; #thickness(m)
VH = RH*I*B/t; #Hall voltage(V)
VH = VH*10**3; #Hall voltage(mV)
#Result
print "Hall voltage developed is",VH,"mV"
#importing modules
import math
from __future__ import division
#Variable declaration
Vy = 37; #voltage(micro-V)
t = 1; #thickness(mm)
Bz = 0.5; #flux density(Wb/m^2)
Ix = 20; #current(mA)
#Calculation
Vy = Vy*10**-6; #voltage(V)
t = t*10**-3; #thickness(m)
Ix = Ix*10**-3; #current(A)
RH = Vy*t/(Ix*Bz); #Hall coefficient(C-1 m^3)
#Result
print "Hall coefficient of semiconductor is",RH,"C-1 m^3"
#importing modules
import math
from __future__ import division
#Variable declaration
RH = -7.35*10**-5; #Hall coefficient(m^3/C)
e = 1.6*10**-19;
sigma = 200; #conductivity(ohm-1 m-1)
#Calculation
n = -1/(RH*e); #density(m^3)
mew = sigma/(n*e); #mobility(m^2/Vs)
mew = mew*10**3;
#Result
print "density of charge carriers is",round(n/1e+22,3),"*10^22 m^3"
print "mobility of charge carriers is",mew,"*10^-3 m^2/Vs"
#importing modules
import math
from __future__ import division
#Variable declaration
I = 50; #current(A)
B = 1.5; #magnetic field(T)
e = 1.6*10**-19;
n = 8.4*10**28; #free electron concentration(electron/m^3)
t = 0.5; #thickness(cm)
#Calculation
t = t*10**-2; #thickness(m)
VH = I*B/(n*e*t); #hall voltage(V)
VH = VH*10**6; #hall voltage(micro-V)
VH = math.ceil(VH*10**4)/10**4; #rounding off to 4 decimals
#Result
print "magnitude of Hall voltage is",VH,"micro-V"
#importing modules
import math
from __future__ import division
#Variable declaration
RH = 3.66*10**-4; #Hall coefficient(m^3/C)
e = 1.6*10**-19;
rho_n = 8.93*10**-3; #resistivity(ohm m)
#Calculation
n = 1/(RH*e);
mew_e = RH/rho_n;
mew_e = math.ceil(mew_e*10**3)/10**3; #rounding off to 3 decimals
#Result
print "value of n is",round(n/1e+22,3),"*10^22 per m^3"
print "value of mew_e is",mew_e,"m^2/Vs"