z1=8.7
z2=2.6
z3=1
R=1.733
F原子核外电子的斯莱特轨道是
fx1=(z1)**(1.5)*sympy.exp(-z1* R*(μ+v)/2 )*pi**(-0.5)
fx2=(z2)**(2.5)*(R*(μ+v)/2 )*sympy.exp(-z2*R*(μ+v)/2)*(3*pi)**(-0.5)
fx3=(z2)**(2.5)*(R/2)* μ*v* sympy.exp(-z2*R*(μ+v)/2)*(pi)**(-0.5) #z
fx4=(z2)**(2.5)*(R/2)* ( (μ*μ-1)*(1-v*v) )**0.5*cos(Φ)*sympy.exp(-z2*R*(μ+v)/2)*(pi)**(-0.5) #x
fx5=(z2)**(2.5)*(R/2)* ( (μ*μ-1)*(1-v*v) )**0.5*sin(Φ)*sympy.exp(-z2*R*(μ+v)/2)*(pi)**(-0.5) #y
H原子核外电子的斯莱特轨道是
fx6=(z3)**(1.5)*sympy.exp(-z3*R*(μ-v)/2)*(pi)**(-0.5)
需要计算的重叠积分有4组,分别是1-6,2-6,3-6,和1-2
其中轨道1,2,6的角量子数都是0,可以近似的看作电子绕核做往复直线运动*,可以直接用公式去计算
如计算1-2的重叠积分
用同样的方法得到
但轨道3的角量子数为1,不能用这个方法。
Python程序为
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')
μ = 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
#HF
z1=8.7
z2=2.6
z3=1
R=1.733
fx1=(z1)**(1.5)*sympy.exp(-z1* R*(μ+v)/2 )*pi**(-0.5)
fx2=(z2)**(2.5)*(R*(μ+v)/2 )*sympy.exp(-z2*R*(μ+v)/2)*(3*pi)**(-0.5)
fx3=(z2)**(2.5)*(R/2)* μ*v* sympy.exp(-z2*R*(μ+v)/2)*(pi)**(-0.5) #z
fx4=(z2)**(2.5)*(R/2)* ( (μ*μ-1)*(1-v*v) )**0.5*cos(Φ)*sympy.exp(-z2*R*(μ+v)/2)*(pi)**(-0.5) #x fx4*fx6 0
fx5=(z2)**(2.5)*(R/2)* ( (μ*μ-1)*(1-v*v) )**0.5*sin(Φ)*sympy.exp(-z2*R*(μ+v)/2)*(pi)**(-0.5) #y fx5*fx6 0
fx6=(z3)**(1.5)*sympy.exp(-z3*R*(μ-v)/2)*(pi)**(-0.5)
f9=( integrate( ( integrate( integrate( fx1*fx6 *(1/8)*R*R*R *(μ*μ-v*v) , (μ , 1 , float('inf') ) ) , (v, -1 , 1 ) ) ) , (Φ,0,2*pi) ) )
print ( "1-6", f9 ) # 1-6 0.0548401040004453
f9=( integrate( ( integrate( integrate( fx2*fx6 *(1/8)*R*R*R *(μ*μ-v*v) , (μ , 1 , float('inf') ) ) , (v, -1 , 1 ) ) ) , (Φ,0,2*pi) ) )
print ( "2-6", f9 ) # 2-6 0.471700639846317
f9=( integrate( ( integrate( integrate( fx1*fx2 *(1/8)*R*R*R *(μ*μ-v*v) , (μ , 1 , float('inf') ) ) , (v, -1 , 1 ) ) ) , (Φ,0,2*pi) ) )
print ( "1-2", f9 ) # 1-2 0.237710896136317
*《化学键的本质》 鲍林 P30
Approximate Molecular Orbital Theory by Pople John A., Beveridge David L. (z-lib.org)
P47