F Yasuk, M Karakoc and I Boztosun, Physica Scripta, Volume 78, 045010, 2008.
https://iopscience.iop.org/article/10.1088/0031-8949/78/04/045010/meta
In [1]:
# Python program to use AIM tools
from asymptotic import *
In [2]:
# variables, l0, and s0
En, m, hbar, c, J, r, r0 = se.symbols("En, m, hbar, c, J, r, r0")
w, q = se.symbols('w, q')
beta1, beta2, A0, A1, A2, A3, A4 = se.symbols("beta1, beta2, A0, A1, A2, A3, A4")
In [3]:
l0 = 2*beta1 + 4*beta2*r - 2/r
s00 = -beta1**2 + 6*beta2 + 2*beta1/r - 4*beta1*beta2*r - 4*beta1**2*r**2
s01 = -(En**2 + A0 - A1/r**2 - A2*r**2 + A3*r**4 - A4*r**6)/(hbar**2*c**2)
s0 = s00 + s01
In [4]:
nhbar, nm, nc = o* 1, o* 1, o* 1
nJ = o* 0
nq, nw = o* 1/10, o* 1/10
nbeta1, nbeta2 = o* 2, o* 2
nr0 = -o* (nbeta1 - se.sqrt(nbeta1**2 + 8*nbeta2))/(4*nbeta2)
nA0 = nm*nc**2*(3*nhbar*nw-nm*nc**2)
nA1 = nhbar**2*nc**2*nJ*(nJ+1)
nA2 = nc**2*(nm**2*nw**2+5*nhbar*nq)
nA3 = 2*nm*nc**2*nq*nw
nA4 = nq**2*nc**2
# parameters of lambda_0 (pl0) and s_0 (ps0)
pl0 = {beta1:nbeta1, beta2:nbeta2}
ps0 = {beta1:nbeta1, beta2:nbeta2, r0:nr0, A0:nA0, A1:nA1, A2:nA2, A3:nA3, A4:nA4, hbar:nhbar, c:nc}
In [5]:
%%time
# pass lambda_0, s_0 and variable values to aim class
sexticOsc_J0 = aim(l0, s0, pl0, ps0)
sexticOsc_J0.display_parameters()
sexticOsc_J0.display_l0s0(2)
sexticOsc_J0.parameters(En, r, nr0, nmax=201, nstep=10, dprec=500, tol=1e-101)
In [6]:
%%time
# create coefficients for improved AIM
sexticOsc_J0.c0()
sexticOsc_J0.d0()
sexticOsc_J0.cndn()
In [7]:
%%time
sexticOsc_J0.get_arb_roots(showRoots='+r', printFormat="{:25.17f}")
In [8]:
%%time
nJ = o* 1
nA1 = nhbar**2*nc**2*nJ*(nJ+1)
# parameters of lambda_0 (pl0) and s_0 (ps0)
pl0 = {beta1:nbeta1, beta2:nbeta2}
ps0 = {beta1:nbeta1, beta2:nbeta2, r0:nr0, A0:nA0, A1:nA1, A2:nA2, A3:nA3, A4:nA4, hbar:nhbar, c:nc}
# pass lambda_0, s_0 and variable values to aim class
sexticOsc_J1 = aim(l0, s0, pl0, ps0)
sexticOsc_J1.display_parameters()
sexticOsc_J1.display_l0s0(2)
sexticOsc_J1.parameters(En, r, nr0, nmax=201, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
sexticOsc_J1.c0()
sexticOsc_J1.d0()
sexticOsc_J1.cndn()
# the solution
sexticOsc_J1.get_arb_roots(showRoots='+r', printFormat="{:25.17f}")
In [9]:
%%time
nJ = o* 2
nA1 = nhbar**2*nc**2*nJ*(nJ+1)
# parameters of lambda_0 (pl0) and s_0 (ps0)
pl0 = {beta1:nbeta1, beta2:nbeta2}
ps0 = {beta1:nbeta1, beta2:nbeta2, r0:nr0, A0:nA0, A1:nA1, A2:nA2, A3:nA3, A4:nA4, hbar:nhbar, c:nc}
# pass lambda_0, s_0 and variable values to aim class
sexticOsc_J2 = aim(l0, s0, pl0, ps0)
sexticOsc_J2.display_parameters()
sexticOsc_J2.display_l0s0(2)
sexticOsc_J2.parameters(En, r, nr0, nmax=201, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
sexticOsc_J2.c0()
sexticOsc_J2.d0()
sexticOsc_J2.cndn()
# the solution
sexticOsc_J2.get_arb_roots(showRoots='+r', printFormat="{:25.17f}")
In [10]:
%%time
nJ = o* 3
nA1 = nhbar**2*nc**2*nJ*(nJ+1)
# parameters of lambda_0 (pl0) and s_0 (ps0)
pl0 = {beta1:nbeta1, beta2:nbeta2}
ps0 = {beta1:nbeta1, beta2:nbeta2, r0:nr0, A0:nA0, A1:nA1, A2:nA2, A3:nA3, A4:nA4, hbar:nhbar, c:nc}
# pass lambda_0, s_0 and variable values to aim class
sexticOsc_J3 = aim(l0, s0, pl0, ps0)
sexticOsc_J3.display_parameters()
sexticOsc_J3.display_l0s0(2)
sexticOsc_J3.parameters(En, r, nr0, nmax=201, nstep=10, dprec=500, tol=1e-101)
# create coefficients for improved AIM
sexticOsc_J3.c0()
sexticOsc_J3.d0()
sexticOsc_J3.cndn()
# the solution
sexticOsc_J3.get_arb_roots(showRoots='+r', printFormat="{:25.17f}")
In [ ]: