SUBROUTINE acoustic3d_f77(N, niters, check) INTEGER N, niters, iter REAL check REAL P1(N,N,N), P2(N,N,N), P3(N,N,N), C(N,N,N) INTEGER i, j CALL acoust3d_f77_setup(P1, P2, P3, C, N) DO iter=1, niters DO k=2,N-1 DO j=2,N-1 DO i=2,N-1 P3(i,j,k) = (2-6*C(i,j,k))*P2(i,j,k) + C(i,j,k) . * (P2(i,j-1,k) + P2(i,j+1,k) + P2(i-1,j,k) . + P2(i+1,j,k) + P2(i,j,k-1) + P2(i,j,k+1)) . - P1(i,j,k) END DO END DO END DO DO k=1,N DO j=1,N DO i=1,N P1(i,j,k) = P2(i,j,k) P2(i,j,k) = P3(i,j,k) END DO END DO END DO END DO check = P1(N/2,N/2,N/2) RETURN END