You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.0 KiB
72 lines
2.0 KiB
double complex function HPL3atm1(n1,n2,n3)
|
|
implicit none
|
|
integer n1,n2,n3,j
|
|
double complex ris,myi
|
|
double precision pi, zeta2, zeta3,ll2
|
|
|
|
pi=3.1415926535897932385D0
|
|
zeta3=1.20205690315959428539973816151d0
|
|
zeta2=pi**2/6d0
|
|
myi = dcmplx(0d0,1d0)
|
|
ll2 = dlog(2d0)
|
|
|
|
j=1+(n3+1)*1+(n2+1)*3+(n1+1)*9
|
|
ris = dcmplx(0d0,0d0)
|
|
|
|
if(j.ge.10) then
|
|
select case (j)
|
|
case (10)
|
|
ris = zeta3
|
|
case (11)
|
|
ris = 2*zeta3 - myi*pi*zeta2
|
|
case(12)
|
|
ris = pi**2*ll2/4d0 - zeta3
|
|
case(13)
|
|
ris = -zeta3
|
|
case(14)
|
|
ris = -myi*pi*zeta2
|
|
case(15)
|
|
ris = -3*zeta3/4d0
|
|
case(16)
|
|
ris = -pi**2*ll2/4d0 + 13d0*zeta3/8d0
|
|
case(17)
|
|
ris = 3*zeta3/2d0 - myi*pi**3/12d0
|
|
case(18)
|
|
ris = zeta3/8d0
|
|
case(19)
|
|
ris = 0.5d0*zeta2*ll2 - ll2**3/6d0
|
|
& - 7d0*zeta3/8d0
|
|
case(20)
|
|
ris = 0.5d0*zeta2*ll2 + myi*pi*(0.5d0*zeta2
|
|
& - 0.5d0*ll2**2) - zeta3
|
|
case(21)
|
|
ris = -0.5d0*zeta2*ll2 + ll2**3/6d0
|
|
& + zeta3/4d0
|
|
case(22)
|
|
ris = zeta2*ll2 - 5d0*zeta3/8d0
|
|
case(23)
|
|
ris = 0.5d0*myi*pi*zeta2 + pi**2*ll2/2d0
|
|
& - 3*zeta3/4d0
|
|
case(24)
|
|
ris = 0.5d0*zeta2*ll2 - zeta3/4d0
|
|
case(25)
|
|
ris = ll2**3/6d0 - zeta3/8d0
|
|
case(26)
|
|
ris = -0.5d0*zeta2*ll2 + zeta3/8d0
|
|
& + 0.5d0*myi*pi*ll2**2
|
|
case(27)
|
|
ris = -1d0/6d0*ll2**3
|
|
end select
|
|
else
|
|
print*, ""
|
|
print*, "****************"
|
|
print*, "ERROR in HPL3: "
|
|
print*, "HPL3(",n1,",",n2,",",n3
|
|
& ,",-1) is divergent!"
|
|
print*, "Aborting..."
|
|
print*,"****************"
|
|
stop
|
|
endif
|
|
HPL3atm1=ris
|
|
return
|
|
end function
|