In [2]:
import sympy as sy
import numpy as np

In [17]:
hbar=1.054e-34
a=0.543e-9
k1=np.pi/a
m0=9.108e-31
ev=1.602e-19

def ec(k):
    a1 = (hbar*k)**2/(2*m0)
    a2 = (hbar*(k-k1))**2/(3*m0)
    return a1+a2

def evv(k):
    a1 = (hbar*k1)**2/(6*m0)
    a2 = 2*(hbar*k)**2/m0
    return a1-a2

ec_min = ec(2*k1/5)
ev_max = evv(0)
print(f"Ec_min={ec_min:e}J, {ec_min/ev}eV")
print(f"Ev_max={ev_max:e}J, {ev_max/ev}eV")
print(f"Eg={(ec_min-ev_max)/ev}")


Ec_min=8.165603e-20J, 0.5097130700926986eV
Ev_max=6.804669e-20J, 0.42476089174391557eV
Eg=0.08495217834878308

In [12]:
from scipy.optimize import bisect

h=6.625e-34
m0=9.108e-31
ev=1.602e-19
k0=1.380e-23
D_=0.1
Nd=1e15*1e6
mn=0.56*m0

def f1(T):
    delta_Ed=0.012*ev
    a1=delta_Ed/(k0*T)
    a2=3*np.log(T)/2.0
    a3=np.log(D_/Nd*(2*np.pi*k0*mn)**(3/2)/h**3)
    return a1-(a2+a3)

print(f"T={bisect(f1,1,500)}K")

ni=2e21
n0=(Nd+(Nd**2+4*ni**2)**0.5)/2
print(n0)


T=42.01272627588979K
2.56155281280883e+21

In [13]:
R=75
S=0.001
l=1.5
rho=R*S/l
print(f"ρ={rho}")


ρ=0.049999999999999996