In [4]:

```
h=1.05*10**-34
mo = 9.1*10**-31
E = 0.1*1.6*10**(-19)
m=0.067*mo
k = sqrt(2*m*E)/h
print"The k-value for an electron in the conduction band of GaAs is ,k = ","{:.1e}".format(k),"m**-1"
ko = 1.625*10**9
print"the two value are quite difference since the k value represent effective momentum"
```

In [6]:

```
mo = 9.1*10**-31
ml = 0.98*mo
mt = 0.19*mo
mhh =0.49*mo
mlh = 0.16*mo
mdos = (((6)**(2.0/3))*((ml)*((mt)**2))**(1.0/3))
print"The conduction band density of states mass is ,mdos* =","{:.2e}".format(mdos),"kg"
mdos1 = (((mhh)**(3/2)+(mlh)**(3/2))**(2.0/3))
print"The Valence band density of states mass is ,mdos1*=","{:.2e}".format(mdos1),"kg"
# In the book ,the answer is given in the form of mo
```

In [7]:

```
h=1.05*10**-34
mo = 9.1*10**-31
mhh =0.5*mo
k = 0.1*10**10
Ev = 0
e = 1.6*10**-19
#(we have assumed the valence band energy Ev=0eV as it is not provided in the book)
Ee= Ev-(((h**2)*(k**2))/(2*mhh))
print"The electron energy in the valence band is ,Ee=","{:.2e}".format(Ee),"J"
Ee1= Ee/e
print"The electron energy in the valence band is ,Ee= Ee/e=","{:.2e}".format(Ee1),"eV"
Eh= Ev+((((h**2)*(k**2))/(2*mhh))/e)
print"The hole energy in the valence band is ,Eh=","{:.2e}".format(Eh),"eV"
```

In [12]:

```
h=1.06*10**-34
mo = 9.1*10**-31
m = 0.067*mo
print"m = ","{:.2e}".format(m),"kg"
E = 0.5*1.6*10**-19
print"E = ","{:.2e}".format(E),"J" #initializing value of electron energy measured from the bandedge
# Effective momentum of electron in the conduction band of GaAs
hk = sqrt(2*m*E)
print"The effetive momentum of an electron in the conduction band of GaAs is ,hk = ""{:.2e}".format(hk),"m**-1"#calculation
k = hk/h
print"the corresponding wavevector is,k = ","{:.1e}".format(k),"m**-1"
#Effective momentum of free electron in the space with same energy
p = sqrt(2*mo*E)
print"The effetive momentum of an electron in the space is ,p = ","{:.1e}".format(p),"kgms**-1"
```

In [3]:

```
import math
h=1.05*10**-34 #initializing value of reduced plancks constant or dirac constant or h-bar
mo = 9.1*10**-31 #initializing value of mass of electron
ml = 0.98*mo #initializing value of longitudinal mass
mt = 0.19*mo #initializing value of transverse mass
a = 5.43*10**-10 #initializing value of latice constant
kx = ((2*math.pi*0.95)/a) #initializing value of given k-value in x direction
ky = ((2*math.pi*0.1)/a) #initializing value of given k-value in y direction
kz = ((2*math.pi*0.0)/a) #initializing value of given k-value in z direction
kxo = ((2*math.pi*0.85)/a) #initializing value of k-value for Si occupies the (100) valley in x direction
kyo = ((2*math.pi*0.0)/a) #initializing value of k-value for Si occupies the (100) valley in y direction
kzo = ((2*math.pi*0.0)/a) #initializing value of k-value for Si occupies the (100) valley in z direction
kl = kx-kxo
print"the change in k vector in x direction is,kl = kx-kxo = ","{:.3e}".format(kl),"m**-1"
kt = ky-kyo
print"the change in k vector in y direction is,kt = ky-kyo = ","{:.3e}".format(kt),"m**-1"
E= (((h**2)*(kl**2))/(2*ml))+(((h**2)*(kt**2))/(2*mt))
print"The electron energy measured from the conduction bandege is ,E= ","{:.3e}".format(E),"J"
```

In [6]:

```
import math
h=1.05*10**-34 #initializing value of reduced plancks constant or dirac constant or h-bar
mo = 9.1*10**-31 #initializing value of mass of electron
me = 0.067*mo #initializing value of effective mass of GaAs
kbT = 4.16*10**-21 #initializing value of kbT at 300K
Nc=2*(((me*kbT)/(2*math.pi*(h**2)))**(3/2))
print"for GaAs conduction band case effective density of states is ,Nc= ","{:.2e}".format(Nc),"m**-3"
ml = 0.98*mo #initializing value of longitudinal mass
mt = 0.19*mo #initializing value of transverse mass
mdos = (((6)**(2.0/3))*((ml)*((mt)**2))**(1.0/3))
Nc1 = 2*((mdos*kbT)/(2*(math.pi)*(h**2)))**(3/2)
print"for silicon conduction band case effective density of states is ,Nc = ","{:.2e}".format(Nc1),"m**-3"
# Note : due to different precisions taken by me and the author ... my answer differ
print"for silicon"
mhh =0.5*mo #initializing value of heavy hole mass for silicon
mlh = 0.15*mo #initializing value of light hole mass for silicon
Nv1 =((kbT/(2*(math.pi)*(h**2)))**(3/2))*2*(mhh**(3/2)+mlh**(3/2))
print"for silicon valence band case effective density of states is ,Nv = ","{:.2e}".format(Nv1),"m**-3"
print"for GaAs "
mhh1 =0.45*mo #initializing value of heavy hole mass
mlh1 = 0.08*mo #initializing value of light hole mass
Nv = 2*(mhh1**(3/2)+mlh1**(3/2))*((kbT/(2*(math.pi)*(h**2)))**(3/2))
print"for GaAs valence band case effective density of states is ,Nv= ","{:.2e}".format(Nv),"m**-3"
# Answer given in the book for valence band case is wrong
```

In [1]:

```
mo = 9.1*10**-31 #initializing value of mass of electron
me = 0.067*mo #initializing value of effective mass of GaAs
kbT = 0.026 #initializing value of kbT at 300K
ml = 0.98*mo #initializing value of longitudinal mass
mt = 0.19*mo #initializing value of transverse mass
mh = 0.55*mo #initializing value of density of state mass for the valence band
#let
Eg = 0.0 #initializing value of valence bandedge energy
mdos = (((6)**(2/3))*((ml)*((mt)**2))**(1.0/3))
print"The desity of states of effective mass of the combined six valleys of silicon is mdos* = ","{:.2e}".format(mdos),"kg"
Efi = (Eg/2)+((3.0/4)*kbT*log(mh/mdos))
print"The intrinsic fermi level is given by Efi= ","{:.2e}".format(Efi),"eV"
# -ve sign show that fermi level is below the centre of mid-bandgap
# In this question the answer is provided in the book is in terms of Eg and i have assumed value of Eg = 0 V
```

In [2]:

```
import math
mo = 9.1*10**-31 #initializing value of mass of electron
me = 0.027*mo #initializing value of effective mass of GaAs
kbT = 0.026 #initializing value of kbT at 300K
mh = 0.4*mo #initializing value of longitudinal mass
h=1.05*10**-34 #initializing value of plank constant.
Eg = 0.35 #initializing value of valence bandedge energy
ni =2*(((kbT*1.6*10**-19)/(2*(math.pi)*h**2))**(3/2))*((me*mh)**(3/4))*(exp(-Eg/(2*kbT)))
print"ni =2*(kbT/(2*(math.pi)*h**2))**(3/2)*((me*mh)**(3/4))*(exp(-Eg/(2*kbT)))= ","{:.2e}".format(ni),"m**-3"
kbT = 0.05175
print"kbT = ","{:.2e}".format(kbT),"eV" #initializing value of kbT at 600K
ni =2*(((kbT*1.6*10**-19)/(2*(math.pi)*h**2))**(3/2))*((me*mh)**(3/4))*(exp(-Eg/(2*kbT)))
print"ni =2*(kbT/(2*(math.pi)*h**2))**(3/2)*((me*mh)**(3/4))*(exp(-Eg/(2*kbT)))= ","{:.2e}".format(ni),"m**-3"
#Note: In the textbook wrong answer is given for intrinsic carrier concentration at 600K
```

In [3]:

```
mo = 9.1*10**-31 #initializing value of mass of electron
m_star=0.067*mo #initializing value of appropriate mass in the conduction band for GaAs
apsilen = 13.2*8.85*10**-14 #initializing value of relative permitivity for GaAs
apsilen_not = 8.85*10**-14 #initializing value of permitivity
ml = 0.98*mo #initializing value of longitudinal mass
mt = 0.2*mo #initializing value of transverse mass
m_sigma_star = (3)/((1.0/ml)+(2.0/mt))
print"The conductivity mass for silicon is ,m_sigma_star = (3*mo)/((1/ml)+(2/mt))= ","{:.2e}".format(m_sigma_star),"Kg"
print"The shallow level energies are given by,Ed = Ec-(13.6(eV)*((m_star/mo)/(apsilen/apsilen_not)**2))"
#Let Ec = 0 V and taking positive answer,
Ed_GaAs = (13.6*((m_star/mo)/(apsilen/apsilen_not)**2))
print"The donor level energy in GaAs is ,Ed_GaAs = Ed= ","{:.2e}".format(Ed_GaAs),"eV"
m_dot_GaAs=0.45*mo
print"m_dot_GaAs=0.45*mo = ","{:.2e}".format(m_dot_GaAs),"kg" #initializing value of heavy hole mass for GaAs
Ea_GaAs = (13.6*((m_dot_GaAs/mo)/(apsilen/apsilen_not)**2))
print"The acceptor level energy in GaAs is ,Ea_GaAs = ","{:.2e}".format(Ea_GaAs),"eV"
apsilen = 11.9*8.85*10**-14 #initializing value of relative permitivity for GaAs
m_dot_Si=0.5*mo #initializing value of heavy hole mass for GaAs
Ea_Si = (13.6*((m_dot_Si/mo)/(apsilen/apsilen_not)**2))
print"The acceptor level energy in Si is ,Ea_Si = (13.6*((m_dot_Si/mo)/(apsilen/apsilen_not)**2))= ","{:.2e}".format(Ea_Si),"eV"
Ed_Si = (13.6*((m_sigma_star/mo)/(apsilen/apsilen_not)**2))
print"The donor level energy in Si is ,Ed_Si = (13.6*((m_sigma_star/mo)/(apsilen/apsilen_not)**2))= ","{:.2e}".format(Ed_Si),"eV"
# Note : due to different precisions taken by me and the author ... my answer differ
```

In [6]:

```
n = 10**17 #initializing value of free density of electron of GaAs
kBT=0.026 #initializing value of multiplication of boltzmann constant and temperature
Nc = 4.45*10**17 #initializing value of effective density of electron
#(we have assumed the valence band energy Ev=0eV as it is not provided in the book)
E1= kBT*((log(n/Nc)))
print"Ef(B)=","{:.1e}".format(E1),"eV"
E2= kBT*((log(n/Nc))+(1/sqrt(8))*(n/Nc))
print"E(J)=","{:.1e}".format(E2),"eV"
#for Boltzmann approximation the carrier concentration and fermi level are related as : Ef = Ec+E1
#for joyce dixon approximation the carrier concentration and fermi level are related as : Ef = Ec+E2
e=E1-E2
print"The error produced by using boltzmann approx. is e=""{:.2e}".format(e),"eV"
```

In [7]:

```
print"In the Boltzmann approximation, the carrier density is simply"
print"n = Nc = 2.78*10**19 cm**-3"
N=2.78*10**19 #initializing value of carrier density
#In joyce dixon approximation the carrier density is obtained from the solution of the equation
print"Ef = 0 = kBT *(log(n/Nc)+(n/(sqrt8*Nc)))"
#solving by trial and error , we get
#n/Nc= 0.76
n=0.76*N
print"electron carrier concentration is n=0.76*Nc= ","{:.2e}".format(n)," cm**-3"
```

In [10]:

```
Nc = 2.8*10**19 #initializing value of effective density of electron
Nd = 10**16 #initializing value of donor atom
Ec_minus_Ed = 45*10**-3 #initializing value of donor binding energy
kBT=0.026 #initializing value of multiplication of boltzmann constant and temperature
#let fraction of ionised donor are represented as Fd = (nd/(n+nd))
Fd= (1/(((Nc/(2*Nd))*exp(-(Ec_minus_Ed/kBT)))+1))*100
print"fraction of ionised donor is Fd=",round(Fd,2),"%"
Nd = 10**18
print"Nd = ","{:.2e}".format(Nd),"cm**-3"
Fd= (1.0/(((Nc/(2*Nd))*exp(-(Ec_minus_Ed/kBT)))+1))*100
print"fraction of ionised donor is Fd=",round(Fd,2),"%"
# Note : due to different precisions taken by me and the author ... my answer differ
```

In [12]:

```
Nc_Si = 2.78*10**19 #initializing value of effective density of electron for silicon
Nc_GaAs = 4.45*10**17 #initializing value of effective density of electron for GaAs
print"for joyce dixon approximation the carrier concentration and fermi level are related as : Ef -Ec = kBT*(log(n/Nc)+(n/(sqrt8*Nc))"
print("using Ef-Ec = 3* kBT")
print("solving above equation by hit and trial method for n/Nc,we get n/Nc = 4.4")
n_by_Nc = 4.4
n_Si = n_by_Nc*Nc_Si
print"carrier density for silicon is n=""{:.2e}".format(n_Si),"cm**-3"
n_GaAs = n_by_Nc*Nc_GaAs
print"carrier density for GaAs is n=","{:.2e}".format(n_GaAs),"cm**-3"
```