O. Bayrak, et al. Int. J. Quant. Chem., 107 (2007), p. 1040
http://onlinelibrary.wiley.com/doi/10.1002/qua.21240/epdf
Atomic orbitals
1s
2s 2p 2p 2p
3s 3p 3p 3p
4s 3d 3d 3d 3d 3d 4p 4p 4p
5s 4d 4d 4d 4d 4d 5p 5p 5p
6s 4f 4f 4f 4f 4f 4f 4f 5d 5d 5d 5d 5d 6p 6p 6p
7s 5f 5f 5f 5f 5f 5f 5f 6d 6d 6d 6d 6d 7p 7p 7p
https://en.wikipedia.org/wiki/Atomic_orbital#Electron_placement_and_the_periodic_table
In [1]:
# Python program to use AIM tools
from asymptotic import *
In [2]:
En, m, hbar, L, r, r0 = se.symbols("En, m, hbar, L, r, r0")
beta, delta, A, A1, A2, A3, A4, A5, A6 = se.symbols("beta, delta, A, A1, A2, A3, A4, A5, A6")
In [3]:
l0 = 2*(beta - (L+1)/r)
s0 = -2*m*En/hbar**2 + A2 - beta**2 + (2*L*beta + 2*beta - A1)/r - A3*r**2 + A4*r**3 - A5*r**4 + A6*r**6
In [4]:
nL = o* 0
ndelta = o* 1/100
nbeta = o* 6/10
nA, nhbar, nm = o* 1, o* 1, o* 1
nr0 = o* (nL+1)/nbeta
nA1 = 2*nm*nA/nhbar**2
nA2 = nA1*ndelta
nA3 = nA1*ndelta**3/3
nA4 = nA1*ndelta**4/6
nA5 = nA1*ndelta**5/30
nA6 = nA1*ndelta**7/630
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
In [5]:
%%time
# pass lambda_0, s_0 and variable values to aim class
ecsc_d01L0 = aim(l0, s0, pl0, ps0)
ecsc_d01L0.display_parameters()
ecsc_d01L0.display_l0s0(0)
ecsc_d01L0.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
In [6]:
%%time
# create coefficients for improved AIM
ecsc_d01L0.c0()
ecsc_d01L0.d0()
ecsc_d01L0.cndn()
In [7]:
%%time
ecsc_d01L0.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [8]:
%%time
nL = o* 1
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d01L1 = aim(l0, s0, pl0, ps0)
ecsc_d01L1.display_parameters()
ecsc_d01L1.display_l0s0(0)
ecsc_d01L1.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d01L1.c0()
ecsc_d01L1.d0()
ecsc_d01L1.cndn()
# the solution
ecsc_d01L1.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [9]:
%%time
nL = o* 2
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d01L2 = aim(l0, s0, pl0, ps0)
ecsc_d01L2.display_parameters()
ecsc_d01L2.display_l0s0(0)
ecsc_d01L2.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d01L2.c0()
ecsc_d01L2.d0()
ecsc_d01L2.cndn()
# the solution
ecsc_d01L2.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [10]:
%%time
nL = o* 3
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d01L3 = aim(l0, s0, pl0, ps0)
ecsc_d01L3.display_parameters()
ecsc_d01L3.display_l0s0(0)
ecsc_d01L3.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d01L3.c0()
ecsc_d01L3.d0()
ecsc_d01L3.cndn()
# the solution
ecsc_d01L3.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [11]:
%%time
nL = o* 0
ndelta = o* 2/100
nbeta = o* 6/10
nA, nhbar, nm = o* 1, o* 1, o* 1
nr0 = o* (nL+1)/nbeta
nA1 = 2*nm*nA/nhbar**2
nA2 = nA1*ndelta
nA3 = nA1*ndelta**3/3
nA4 = nA1*ndelta**4/6
nA5 = nA1*ndelta**5/30
nA6 = nA1*ndelta**7/630
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d02L0 = aim(l0, s0, pl0, ps0)
ecsc_d02L0.display_parameters()
ecsc_d02L0.display_l0s0(0)
ecsc_d02L0.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d02L0.c0()
ecsc_d02L0.d0()
ecsc_d02L0.cndn()
# the solution
ecsc_d02L0.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [12]:
%%time
nL = o* 1
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d02L1 = aim(l0, s0, pl0, ps0)
ecsc_d02L1.display_parameters()
ecsc_d02L1.display_l0s0(0)
ecsc_d02L1.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d02L1.c0()
ecsc_d02L1.d0()
ecsc_d02L1.cndn()
# the solution
ecsc_d02L1.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [13]:
%%time
nL = o* 2
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d02L2 = aim(l0, s0, pl0, ps0)
ecsc_d02L2.display_parameters()
ecsc_d02L2.display_l0s0(0)
ecsc_d02L2.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d02L2.c0()
ecsc_d02L2.d0()
ecsc_d02L2.cndn()
# the solution
ecsc_d02L2.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [14]:
%%time
nL = o* 3
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d02L3 = aim(l0, s0, pl0, ps0)
ecsc_d02L3.display_parameters()
ecsc_d02L3.display_l0s0(0)
ecsc_d02L3.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d02L3.c0()
ecsc_d02L3.d0()
ecsc_d02L3.cndn()
# the solution
ecsc_d02L3.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [15]:
%%time
nL = o* 0
ndelta = o* 6/100
nbeta = o* 6/10
nA, nhbar, nm = o* 1, o* 1, o* 1
nr0 = o* (nL+1)/nbeta
nA1 = 2*nm*nA/nhbar**2
nA2 = nA1*ndelta
nA3 = nA1*ndelta**3/3
nA4 = nA1*ndelta**4/6
nA5 = nA1*ndelta**5/30
nA6 = nA1*ndelta**7/630
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d06L0 = aim(l0, s0, pl0, ps0)
ecsc_d06L0.display_parameters()
ecsc_d06L0.display_l0s0(0)
ecsc_d06L0.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d06L0.c0()
ecsc_d06L0.d0()
ecsc_d06L0.cndn()
# the solution
ecsc_d06L0.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [16]:
%%time
nL = o* 1
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d06L1 = aim(l0, s0, pl0, ps0)
ecsc_d06L1.display_parameters()
ecsc_d06L1.display_l0s0(0)
ecsc_d06L1.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d06L1.c0()
ecsc_d06L1.d0()
ecsc_d06L1.cndn()
# the solution
ecsc_d06L1.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [17]:
%%time
nL = o* 2
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d06L2 = aim(l0, s0, pl0, ps0)
ecsc_d06L2.display_parameters()
ecsc_d06L2.display_l0s0(0)
ecsc_d06L2.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d06L2.c0()
ecsc_d06L2.d0()
ecsc_d06L2.cndn()
# the solution
ecsc_d06L2.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [18]:
%%time
nL = o* 3
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d06L3 = aim(l0, s0, pl0, ps0)
ecsc_d06L3.display_parameters()
ecsc_d06L3.display_l0s0(0)
ecsc_d06L3.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d06L3.c0()
ecsc_d06L3.d0()
ecsc_d06L3.cndn()
# the solution
ecsc_d06L3.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [19]:
%%time
nL = o* 0
ndelta = o* 10/100
nbeta = o* 6/10
nA, nhbar, nm = o* 1, o* 1, o* 1
nr0 = o* (nL+1)/nbeta
nA1 = 2*nm*nA/nhbar**2
nA2 = nA1*ndelta
nA3 = nA1*ndelta**3/3
nA4 = nA1*ndelta**4/6
nA5 = nA1*ndelta**5/30
nA6 = nA1*ndelta**7/630
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d10L0 = aim(l0, s0, pl0, ps0)
ecsc_d10L0.display_parameters()
ecsc_d10L0.display_l0s0(0)
ecsc_d10L0.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d10L0.c0()
ecsc_d10L0.d0()
ecsc_d10L0.cndn()
# the solution
ecsc_d10L0.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [20]:
%%time
nL = o* 1
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d10L1 = aim(l0, s0, pl0, ps0)
ecsc_d10L1.display_parameters()
ecsc_d10L1.display_l0s0(0)
ecsc_d10L1.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d10L1.c0()
ecsc_d10L1.d0()
ecsc_d10L1.cndn()
# the solution
ecsc_d10L1.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [21]:
%%time
nL = o* 2
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d10L2 = aim(l0, s0, pl0, ps0)
ecsc_d10L2.display_parameters()
ecsc_d10L2.display_l0s0(0)
ecsc_d10L2.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d10L2.c0()
ecsc_d10L2.d0()
ecsc_d10L2.cndn()
# the solution
ecsc_d10L2.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [22]:
%%time
nL = o* 3
nr0 = o* (nL+1)/nbeta
pl0 = {beta:nbeta, L:nL}
ps0 = {hbar:nhbar, m:nm, delta:ndelta,
beta:nbeta, L:nL, r0:nr0,
A1:nA1, A2:nA2, A3:nA3,
A4:nA4, A5:nA5, A6:nA6}
# pass lambda_0, s_0 and variable values to aim class
ecsc_d10L3 = aim(l0, s0, pl0, ps0)
ecsc_d10L3.display_parameters()
ecsc_d10L3.display_l0s0(0)
ecsc_d10L3.parameters(En, r, nr0, nmax=101, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
ecsc_d10L3.c0()
ecsc_d10L3.d0()
ecsc_d10L3.cndn()
# the solution
ecsc_d10L3.get_arb_roots(showRoots='-r', printFormat="{:22.17f}")
In [ ]: