用类氢轨道计算Be原子基态能级,Be原子基态4个核外电子的轨道分别是1s和2s,1s轨道的半径是1, 2s轨道的半径是4。轨道分别是
计算能级
因为E1=E2,E3=E4,J13=J14=J23=J24,K13=K14=K23=K24
所以原式可以化简
分别展开
计算库仑积分,因为都是s轨道可以用公式
由此计算J12
同样计算J13=0.24,J34=0.15
计算交换积分
因此Be原子基态能级为=2*(-8-0.875)+2.5+0.24*4+0.15-0.0456*4=-14.317Hartrees,Hartree-Fock算法的值是-14.57,是Hartree-Fock算法的98.2%。
import sympy
import math
from sympy import symbols, cancel
a = sympy.Symbol('a')
e = sympy.Symbol('e')
m = sympy.Symbol('m')
h = sympy.Symbol('h')
l = sympy.Symbol('l')
lp = sympy.Symbol('lp')
r = sympy.Symbol('r')
EE = sympy.Symbol('EE')
R = sympy.Symbol('R')
r1 = sympy.Symbol('r1')
r2 = sympy.Symbol('r2')
r3 = sympy.Symbol('r3')
c1 = sympy.Symbol('c1')
c2 = sympy.Symbol('c2')
c3 = sympy.Symbol('c3')
μ = sympy.Symbol('μ')
v = sympy.Symbol('v')
α = sympy.Symbol('α')
β = sympy.Symbol('β')
x = sympy.Symbol('x')
y = sympy.Symbol('y')
z = sympy.Symbol('z')
θ1= sympy.Symbol('θ1')
θ2= sympy.Symbol('θ2')
Φ1= sympy.Symbol('Φ1')
Φ2= sympy.Symbol('Φ2')
θ= sympy.Symbol('θ')
Ψ= sympy.Symbol('Ψ')
Φ= sympy.Symbol('Φ')
pi=sympy.Symbol('pi')
E=sympy.Symbol('E')
I=sympy.Symbol('I')
sin=sympy.Symbol('sin')
cos=sympy.Symbol('cos')
diff=sympy.Symbol('diff')
integrate=sympy.Symbol('integrate')
pi=sympy.pi
E=sympy.E
sin=sympy.sin
cos=sympy.cos
diff=sympy.diff
integrate=sympy.integrate
#Be原子基态能级
def hin( fx1 ,fx2, z ):
fx = fx1
z=z
# 拉普拉斯算符
f1 = (1 / (r * r)) * diff((r * r * diff(fx, r)), r)
f2 = (1 / (r * r * sin(θ))) * diff((sin(θ) * diff(fx, θ)), θ)
f3 = (1 / (r * r * sin(θ) * sin(θ))) * diff(fx, Φ, Φ)
f8 = fx2*(-1 / 2) * (f1 + f2 + f3)
# print ( f1 )
# print ( f2 )
# print ( f3 )
# print ( f8 )
# 球坐标积分 动能
f9 = (integrate((integrate(integrate(f8 * r * r * sin(θ), (r, 0, float('inf'))), (θ, 0, pi))), (Φ, 0, 2 * pi)))
# print(f9)
f10 = fx2 * (-z / r) * fx
# 势能
f11 = (integrate((integrate(integrate(f10 * r * r * sin(θ), (r, 0, float('inf'))), (θ, 0, pi))), (Φ, 0, 2 * pi)))
# print(f11)
print("H", f9 + f11)
return f9 + f11
def jin (fr1 ,fr2 ):
f21 = fr1 * fr2 * (1 / r1) * fr1 * fr2 * r1 * r1 * r2 * r2
f22 = fr1 * fr2 * (1 / r2) * fr1 * fr2 * r1 * r1 * r2 * r2
f23 = (integrate(f21, (r2, 0, r1)))
f24 = (integrate(f22, (r2, r1, float('inf'))))
f25 = (16 * pi ** (2) * integrate(f24 + f23, (r1, 0, float('inf'))))
# print("f23",f23)
# print("f24",f24)
print("J", f25)
return f25
def kin (fr1,fr2,fr3,fr4 ):
# 交换积分
#fr1 = (z) ** (1.5) * sympy.exp(-z * r1) * pi ** (-0.5)
#fr2 = (z) ** (1.5) * sympy.exp(-z * r2) * pi ** (-0.5)
#fr3 = (z) ** (1.5) * sympy.exp(-z * r2) * pi ** (-0.5)
#fr4 = (z) ** (1.5) * sympy.exp(-z * r1) * pi ** (-0.5)
f21 = fr1 * fr2 * (1 / r1) * fr3 * fr4 * r1 * r1 * r2 * r2
f22 = fr1 * fr2 * (1 / r2) * fr3 * fr4 * r1 * r1 * r2 * r2
f23 = (integrate(f21, (r2, 0, r1)))
f24 = (integrate(f22, (r2, r1, float('inf'))))
f36 = (16 * pi ** (2) * integrate(f24 + f23, (r1, 0, float('inf'))))
# print("f23",f23)
# print("f24",f24)
print("K", f36)
return f36
def sab (fr1 ,fr2 ):
# print("f23",f23)
# print("f24",f24)
f9 = (integrate((integrate(integrate( fr1*fr2 * r * r * sin(θ), (r, 0, float('inf'))), (θ, 0, pi))), (Φ, 0, 2 * pi)))
print("S", f9)
return f9
z=4
a0=1
a1=4
fx1=(z/a0)**(1.5)*2*sympy.exp(-z*r/a0 )*(4*pi)**(-0.5)
fx2=(z/( 2*a1))**(1.5)*(2-z*r/a1)*sympy.exp(-z*r/(2*a1) )*(4*pi)**(-0.5)
fj1 = (z/a0)**(1.5)*2*sympy.exp(-z*r1/a0 )*(4*pi)**(-0.5)
fj2 = (z/a0)**(1.5)*2*sympy.exp(-z*r2/a0 )*(4*pi)**(-0.5)
fj3=(z/( 2*a1))**(1.5)*(2-z*r1/a1)*sympy.exp(-z*r1/(2*a1) )*(4*pi)**(-0.5)
fj4=(z/( 2*a1))**(1.5)*(2-z*r2/a1)*sympy.exp(-z*r2/(2*a1) )*(4*pi)**(-0.5)
fh=hin(fx1, fx1, z)*2+ hin(fx2, fx2, z)*2
fj=jin(fj1,fj2)+jin(fj1,fj4)*4+jin(fj3,fj4)
fk=kin( fj1 , fj4 , fj2 , fj3 )*4
print( fh+fj-fk , (fh+fj-fk)/14.57 )