#importing modules
import math
from __future__ import division
#Variable declaration
ni1=2.5*10**19; #number of electron hole pairs
T1=300; #temperature(K)
Eg1=0.72*1.6*10**-19; #energy gap(J)
k=1.38*10**-23; #boltzmann constant
T2=310; #temperature(K)
Eg2=1.12*1.6*10**-19; #energy gap(J)
#Calculation
x1=-Eg1/(2*k*T1);
y1=(T1**(3/2))*math.exp(x1);
x2=-Eg2/(2*k*T2);
y2=(T2**(3/2))*math.exp(x2);
ni=ni1*(y2/y1); #number of electron hole pairs
#Result
print "number of electron hole pairs is",round(ni/10**16,2),"*10**16 per cubic metre"
print "answer varies due to rounding off errors"
#importing modules
import math
from __future__ import division
#Variable declaration
w=72.6; #atomic weight
d=5400; #density(kg/m**3)
Na=6.025*10**26; #avagadro number
mew_e=0.4; #mobility of electron(m**2/Vs)
mew_h=0.2; #mobility of holes(m**2/Vs)
e=1.6*10**-19;
m=9.108*10**-31; #mass(kg)
ni=2.1*10**19; #number of electron hole pairs
Eg=0.7; #band gap(eV)
k=1.38*10**-23; #boltzmann constant
h=6.625*10**-34; #plancks constant
T=300; #temperature(K)
#Calculation
sigmab=ni*e*(mew_e+mew_h); #intrinsic conductivity(ohm-1 m-1)
rhob=1/sigmab; #resistivity(ohm m)
n=Na*d/w; #number of germanium atoms per m**3
p=n/10**5; #boron density
sigma=p*e*mew_h;
rho=1/sigma;
#Result
print "intrinsic conductivity is",round(sigma/10**4,3),"*10**4 ohm-1 m-1"
print "intrinsic resistivity is",round(rho*10**4,3),"*10**-4 ohm m"
print "answer varies due to rounding off errors"
print "number of germanium atoms per m**3 is",round(n/10**28,1),"*10**28"
#importing modules
import math
from __future__ import division
#Variable declaration
e=1.6*10**-19;
RH=3.66*10**-4; #hall coefficient(m**3/coulomb)
sigma=112; #conductivity(ohm-1 m-1)
#Calculation
ne=3*math.pi/(8*RH*e); #charge carrier density(per m**3)
mew_e=sigma/(e*ne); #electron mobility(m**2/Vs)
#Result
print "charge carrier density is",int(ne/10**22),"*10**22 per m**3"
print "electron mobility is",round(mew_e,3),"m**2/Vs"
#importing modules
import math
from __future__ import division
#Variable declaration
mew_e=0.13; #mobility of electron(m**2/Vs)
mew_h=0.05; #mobility of holes(m**2/Vs)
e=1.6*10**-19;
ni=1.5*10**16; #number of electron hole pairs
N=5*10**28;
#Calculation
sigma1=ni*e*(mew_e+mew_h); #intrinsic conductivity(ohm-1 m-1)
ND=N/10**8;
n=ni**2/ND;
sigma2=ND*e*mew_e; #conductivity(ohm-1 m-1)
sigma3=ND*e*mew_h; #conductivity(ohm-1 m-1)
#Result
print "intrinsic conductivity is",round(sigma1*10**3,3),"*10**-3 ohm-1 m-1",sigma2
print "conductivity during donor impurity is",sigma2,"ohm-1 m-1"
print "conductivity during acceptor impurity is",int(sigma3),"ohm-1 m-1"
#importing modules
import math
from __future__ import division
#Variable declaration
e=1.6*10**-19;
Eg=0.72; #band gap(eV)
k=1.38*10**-23; #boltzmann constant
T1=293; #temperature(K)
T2=313; #temperature(K)
sigma1=2; #conductivity(mho m-1)
#Calculation
x=(Eg*e/(2*k))*((1/T1)-(1/T2));
y=round(x/2.303,3);
z=round(math.log10(sigma1),3);
log_sigma2=y+z;
sigma2=10**log_sigma2; #conductivity(mho m-1)
#Result
print "conductivity is",round(sigma2,2),"mho m-1"