1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| subroutine grille
implicit real*8(a-h,o-z)
parameter (n1=16,n2=16,n3=16)!ok
parameter (skmin=4.d-3,skmax=100.d0)
dimension dlogsk(n1)
integer ios
common /cgrille/xk1(n1),alphak1(n1),sk(n1),z(n2),phi(n3),
*xk2(n2),alphak2(n2),
*xk3(n3),alphak3(n3)
open(91,file='gauss16s1.dat')
open(92,file='gauss16s2.dat')
open(93,file='gauss16s3.dat')
pi=dacos(-1.d0)
do isk=1,n1
read(91,*,iostat=ios)xk1(isk),alphak1(isk)
if (ios .ne. 0) exit
end do
do isk=1,n1
c=dlog(skmax)-dlog(skmin)
d=dlog(skmax)+dlog(skmin)
dlogsk(isk)=c*xk1(isk)/2.d0+d/2.d0
sk(isk)=dexp(dlogsk(isk))
write(1,*)isk,sk(k)
end do
do izt=1,n2
read(92,*,iostat=ios)xk2(izt),alphak2(izt)
if (ios .ne. 0) exit
z(izt)=xk2(izt)
write(2,*)izt,z(izt)
end do
do iphi=1,n3
read(93,*,iostat=ios)xk3(iphi),alphak3(iphi)
if (ios .ne. 0) exit
phi(iphi)=2.d0*(pi*xk3(iphi)+pi)
write(3,*)iphi,phi(iphi)
end do
close(91) ; close(92) ; close(93)
end |
Partager