计算Be原子基态能级
生活随笔
收集整理的這篇文章主要介紹了
计算Be原子基态能级
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
用類氫軌道計(jì)算Be原子基態(tài)能級(jí),Be原子基態(tài)4個(gè)核外電子的軌道分別是1s和2s,1s軌道的半徑是1, 2s軌道的半徑是4。軌道分別是
計(jì)算能級(jí)
因?yàn)镋1=E2,E3=E4,J13=J14=J23=J24,K13=K14=K23=K24
所以原式可以化簡
分別展開
計(jì)算庫侖積分,因?yàn)槎际莝軌道可以用公式
由此計(jì)算J12
同樣計(jì)算J13=0.24,J34=0.15
計(jì)算交換積分
因此Be原子基態(tài)能級(jí)為=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, cancela = 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原子基態(tài)能級(jí)def hin( fx1 ,fx2, z ):fx = fx1z=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 )# 球坐標(biāo)積分 動(dòng)能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 + f11def jin (fr1 ,fr2 ):f21 = fr1 * fr2 * (1 / r1) * fr1 * fr2 * r1 * r1 * r2 * r2f22 = fr1 * fr2 * (1 / r2) * fr1 * fr2 * r1 * r1 * r2 * r2f23 = (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 f25def 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 * r2f22 = fr1 * fr2 * (1 / r2) * fr3 * fr4 * r1 * r1 * r2 * r2f23 = (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 f36def 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 f9z=4a0=1 a1=4fx1=(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)*2fj=jin(fj1,fj2)+jin(fj1,fj4)*4+jin(fj3,fj4)fk=kin( fj1 , fj4 , fj2 , fj3 )*4print( fh+fj-fk , (fh+fj-fk)/14.57 )總結(jié)
以上是生活随笔為你收集整理的计算Be原子基态能级的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 验算神经网络谐振子模型的第二组数据
- 下一篇: 用二分类神经网络估算多分类神经网络迭代次