27 lines
800 B
FortranFixed
27 lines
800 B
FortranFixed
!creating uniform grids
|
|
program test
|
|
implicit none
|
|
integer i,j,k,msect,nparams,ip(10),n,m
|
|
msect=4
|
|
nparams=3
|
|
do i=1,msect**nparams
|
|
do j=1,nparams
|
|
!the size of the larger repeated unit is msect**(nparams-j+1)
|
|
k=i/(msect**(nparams-j+1))
|
|
n=mod(i,(msect**(nparams-j+1)))
|
|
if(n.eq.0)k=k-1
|
|
!k is the number of repeated units before i (not include the unit i is in)
|
|
k=i-k*(msect**(nparams-j+1))
|
|
!now k is the position in the larger repeated unit
|
|
!
|
|
!the size of the smaller repeated unit is (msect**(nparams-j+1))/msect
|
|
m=(msect**(nparams-j+1))/msect
|
|
n=k/m
|
|
if(mod(k,m).ne.0)n=n+1
|
|
ip(j)=n
|
|
enddo
|
|
write(1,210)(ip(j),j=1,nparams)
|
|
enddo
|
|
210 format(1x,10i3)
|
|
end
|