氢波函数#

sympy.physics.hydrogen.E_nl(n, Z=1)[源代码]#

返回以Hartree原子单位表示的状态(n,l)的能量。

The energy does not depend on "l".

参数:

n :整数

Principal Quantum Number which is an integer with possible values as 1, 2, 3, 4,...

Z :

Atomic number (1 for Hydrogen, 2 for Helium, ...)

实例

>>> 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,自旋)的相对论能量,以Hartree原子单位表示。

能量是从狄拉克方程计算出来的。其余的质量能是 not 包括。

参数:

n :整数

Principal Quantum Number which is an integer with possible values as 1, 2, 3, 4,...

l : integer

l is the Angular Momentum Quantum Number with values ranging from 0 to n-1.

spin_up :

如果电子自旋向上(默认),则为真,否则为向下

Z :

Atomic number (1 for Hydrogen, 2 for Helium, ...)

c :

Speed of light in atomic units. Default value is 137.035999037, taken from 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 :整数

Principal Quantum Number which is an integer with possible values as 1, 2, 3, 4,...

l : integer

l is the Angular Momentum Quantum Number with values ranging from 0 to n-1.

m :整数

m is the Magnetic Quantum Number with values ranging from -l to l.

r :

径向坐标

phi :

方位角

theta :

极角

Z :

原子序数(1代表氢,2代表氦…)

Everything is in Hartree atomic units.

实例

>>> 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。

氢波函数的标准化为:

>>> 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 :整数

Principal Quantum Number which is an integer with possible values as 1, 2, 3, 4,...

l : integer

l is the Angular Momentum Quantum Number with values ranging from 0 to n-1.

r :

Radial coordinate.

Z :

Atomic number (1 for Hydrogen, 2 for Helium, ...)

Everything is in Hartree atomic units.

实例

>>> 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