File: stencilf.f

package info (click to toggle)
blitz%2B%2B 1%3A0.10-3.2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 13,276 kB
  • ctags: 12,037
  • sloc: cpp: 70,465; sh: 11,116; fortran: 1,510; python: 1,246; f90: 852; makefile: 701
file content (32 lines) | stat: -rw-r--r-- 758 bytes parent folder | download | duplicates (9)
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
       subroutine stencilf(A, B, N, iters)
       integer N, iters
       double precision A(N,N,N), B(N,N,N)
       integer i,j,k,z
       double precision c
       c = 1 / 7.

       do z=1,iters
       
         do k=2,N-1
           do j=2,N-1
             do i=2,N-1
               A(i,j,k) = c * (B(i,j,k) + B(i+1,j,k) + B(i-1,j,k) 
     .            + B(i,j+1,k) + B(i,j-1,k) + B(i,j,k+1) + B(i,j,k-1))
             enddo
           enddo
         enddo

         do k=2,N-1
           do j=2,N-1
             do i=2,N-1
               B(i,j,k) = c * (A(i,j,k) + A(i+1,j,k) + A(i-1,j,k) 
     .            + A(i,j+1,k) + A(i,j-1,k) + A(i,j,k+1) + A(i,j,k-1))
             enddo
           enddo
         enddo

       enddo

       return
       end