氢原子波函数¶
- sympy.physics.hydrogen.E_nl(n, Z=1)[源代码][源代码]¶
返回状态 (n, l) 的能量,单位为哈特里原子单位。
能量不依赖于“l”。
- 参数:
- n整数
主量子数是一个整数,其可能的值为 1, 2, 3, 4, …
- Z
原子序数(氢为1,氦为2,…)
示例
>>> from sympy.physics.hydrogen import E_nl >>> from sympy.abc import n, Z >>> E_nl(n, Z) -Z**2/(2*n**2) >>> E_nl(1) -1/2 >>> E_nl(2) -1/8 >>> E_nl(3) -1/18 >>> E_nl(3, 47) -2209/18
- sympy.physics.hydrogen.E_nl_dirac(
- n,
- l,
- spin_up=True,
- Z=1,
- c=137.035999037000,
返回状态 (n, l, 自旋) 的相对论能量,单位为哈特里原子单位。
能量是从狄拉克方程计算得出的。静止质量能量 不 包括在内。
- 参数:
- n整数
主量子数是一个整数,其可能的值为 1, 2, 3, 4, …
- l整数
l
是角动量量子数,其值范围从 0 到n-1
。- spin_up
如果电子自旋向上则为真(默认),否则向下
- Z
原子序数(氢为1,氦为2,…)
- c
光速在原子单位中的值。默认值为 137.035999037,取自 https://arxiv.org/abs/1012.3627
示例
>>> from sympy.physics.hydrogen import E_nl_dirac >>> E_nl_dirac(1, 0) -0.500006656595360
>>> E_nl_dirac(2, 0) -0.125002080189006 >>> E_nl_dirac(2, 1) -0.125000416028342 >>> E_nl_dirac(2, 1, False) -0.125002080189006
>>> E_nl_dirac(3, 0) -0.0555562951740285 >>> E_nl_dirac(3, 1) -0.0555558020932949 >>> E_nl_dirac(3, 1, False) -0.0555562951740285 >>> E_nl_dirac(3, 2) -0.0555556377366884 >>> E_nl_dirac(3, 2, False) -0.0555558020932949
- sympy.physics.hydrogen.Psi_nlm(n, l, m, r, phi, theta, Z=1)[源代码][源代码]¶
返回氢原子波函数 psi_{nlm}。它是径向波函数 R_{nl} 和球谐函数 Y_{l}^{m} 的乘积。
- 参数:
- n整数
主量子数是一个整数,其可能的值为 1, 2, 3, 4, …
- l整数
l
是角动量量子数,其值范围从 0 到n-1
。- m整数
m
是磁量子数,其值范围从-l
到l
。- r
径向坐标
- phi
方位角
- theta
极角
- Z
原子序数(氢为1,氦为2,…)
- 一切都是以哈特里原子单位表示的。
示例
>>> from sympy.physics.hydrogen import Psi_nlm >>> from sympy import Symbol >>> r=Symbol("r", positive=True) >>> phi=Symbol("phi", real=True) >>> theta=Symbol("theta", real=True) >>> Z=Symbol("Z", positive=True, integer=True, nonzero=True) >>> Psi_nlm(1,0,0,r,phi,theta,Z) Z**(3/2)*exp(-Z*r)/sqrt(pi) >>> Psi_nlm(2,1,1,r,phi,theta,Z) -Z**(5/2)*r*exp(I*phi)*exp(-Z*r/2)*sin(theta)/(8*sqrt(pi))
将氢波函数 psi_{nlm} 的绝对平方在整个空间上积分得到 1。
氢波函数 Psi_nlm 的归一化是:
>>> from sympy import integrate, conjugate, pi, oo, sin >>> wf=Psi_nlm(2,1,1,r,phi,theta,Z) >>> abs_sqrd=wf*conjugate(wf) >>> jacobi=r**2*sin(theta) >>> integrate(abs_sqrd*jacobi, (r,0,oo), (phi,0,2*pi), (theta,0,pi)) 1
- sympy.physics.hydrogen.R_nl(n, l, r, Z=1)[源代码][源代码]¶
返回氢原子的径向波函数 R_{nl}。
- 参数:
- n整数
主量子数是一个整数,其可能的值为 1, 2, 3, 4, …
- l整数
l
是角动量量子数,其值范围从 0 到n-1
。- r
径向坐标。
- Z
原子序数(氢为1,氦为2,…)
- 一切都是以哈特里原子单位表示的。
示例
>>> from sympy.physics.hydrogen import R_nl >>> from sympy.abc import r, Z >>> R_nl(1, 0, r, Z) 2*sqrt(Z**3)*exp(-Z*r) >>> R_nl(2, 0, r, Z) sqrt(2)*(-Z*r + 2)*sqrt(Z**3)*exp(-Z*r/2)/4 >>> R_nl(2, 1, r, Z) sqrt(6)*Z*r*sqrt(Z**3)*exp(-Z*r/2)/12
对于氢原子,你可以直接使用默认的 Z=1 值:
>>> R_nl(1, 0, r) 2*exp(-r) >>> R_nl(2, 0, r) sqrt(2)*(2 - r)*exp(-r/2)/4 >>> R_nl(3, 0, r) 2*sqrt(3)*(2*r**2/9 - 2*r + 3)*exp(-r/3)/27
对于银原子,您将使用 Z=47:
>>> R_nl(1, 0, r, Z=47) 94*sqrt(47)*exp(-47*r) >>> R_nl(2, 0, r, Z=47) 47*sqrt(94)*(2 - 47*r)*exp(-47*r/2)/4 >>> R_nl(3, 0, r, Z=47) 94*sqrt(141)*(4418*r**2/9 - 94*r + 3)*exp(-47*r/3)/27
径向波函数的归一化是:
>>> from sympy import integrate, oo >>> integrate(R_nl(1, 0, r)**2 * r**2, (r, 0, oo)) 1 >>> integrate(R_nl(2, 0, r)**2 * r**2, (r, 0, oo)) 1 >>> integrate(R_nl(2, 1, r)**2 * r**2, (r, 0, oo)) 1
对于任何原子序数都适用:
>>> integrate(R_nl(1, 0, r, Z=2)**2 * r**2, (r, 0, oo)) 1 >>> integrate(R_nl(2, 0, r, Z=3)**2 * r**2, (r, 0, oo)) 1 >>> integrate(R_nl(2, 1, r, Z=4)**2 * r**2, (r, 0, oo)) 1