57 CHARACTER(CHRLEN) :: RCSIdentString = &
58 '$RCSfile: RFLU_ModBessel.F90,v $ $Revision: 1.4 $'
107 DOUBLE PRECISION,
INTENT(IN) ::
x
108 DOUBLE PRECISION,
INTENT(OUT) :: bjn,djn,fjn,byn,dyn,fyn
115 DOUBLE PRECISION :: bs,ec,e0,f,f0,
f1,su,s1
116 DOUBLE PRECISION :: bj(102),
by(102)
123 mt=int(0.5*log10(6.28*nt)-nt*log10(1.36*dabs(
x)/nt))
134 f=2.0d0*(
k+1.0d0)*
f1/
x-f0
138 IF (
k.EQ.2*int(
k/2))
THEN
141 su=su+(-1)**(
k/2)*f/
k
148 bj(
k+1)=bj(
k+1)/(bs-f)
151 ec=0.5772156649015329d0
152 e0=0.3183098861837907d0
153 s1=2.0d0*e0*(dlog(
x/2.0d0)+ec)*bj(1)
154 f0=s1-8.0d0*e0*su/(bs-f)
155 f1=(bj(2)*f0-2.0d0*e0/
x)/bj(1)
159 f=2.0d0*(
k-1.0d0)*
f1/
x-f0
165 djn=-bj(
n+2)+
n*bj(
n+1)/
x
167 fjn=(
n*
n/(
x*
x)-1.0d0)*bjn-djn/
x
168 fyn=(
n*
n/(
x*
x)-1.0d0)*byn-dyn/
x
213 DOUBLE PRECISION,
INTENT(OUT) :: rj0(nt),rj1(nt),ry0(nt),ry1(nt)
220 DOUBLE PRECISION :: bjn,byn,djn,dyn,fjn,fyn,
x,x0
229 x=
n+1.85576*
n**0.33333+1.03315/
n**0.33333
235 IF (dabs(
x-x0).GT.1.0
d-9) go to 10
238 x=
x+3.1416+(0.0972+0.0679*
n-0.000354*
n**2)/l
239 IF (l.LT.nt) go to 10
243 x=
n+0.80861*
n**0.33333+0.07249/
n**0.33333
250 IF (dabs(
x-x0).GT.1.0
d-9) go to 15
253 x=
x+3.1416+(0.4955+0.0915*
n-0.000435*
n**2)/l
254 IF (l.LT.nt) go to 15
258 x=
n+0.93158*
n**0.33333+0.26035/
n**0.33333
264 IF (dabs(
x-x0).GT.1.0
d-9) go to 20
267 x=
x+3.1416+(0.312+0.0852*
n-0.000403*
n**2)/l
268 IF (l.LT.nt) go to 20
272 x=
n+1.8211*
n**0.33333+0.94001/
n**0.33333
278 IF (dabs(
x-x0).GT.1.0
d-9) go to 25
281 x=
x+3.1416+(0.197+0.0643*
n-0.000286*
n**2)/l
282 IF (l.LT.nt) go to 25
328 DOUBLE PRECISION,
INTENT(OUT) :: rj0m,rj1m,ry0m,ry1m
334 DOUBLE PRECISION :: bjn,byn,djn,dyn,fjn,fyn,
x,x0
335 DOUBLE PRECISION :: rj0(
m),rj1(
m),ry0(
m),ry1(
m)
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed by
subroutine, public rflu_jyndd(N, X, BJN, DJN, FJN, BYN, DYN, FYN)
subroutine, public rflu_jyzom(N, M, RJ0M, RJ1M, RY0M, RY1M)
subroutine, public rflu_jyzo(N, NT, RJ0, RJ1, RY0, RY1)