acou3df.f   acou3df.f 
! INTEGER N, iters
! REAL check
! N = 112
! iters = 210
! CALL acoustic3d_f77(N,iters,check)
! PRINT *, check
! END
SUBROUTINE acoustic3d_f77(N, niters, check) SUBROUTINE acoustic3d_f77(N, niters, check)
INTEGER N, niters, iter INTEGER N, niters, iter
REAL check REAL check
REAL P1(N,N,N), P2(N,N,N), P3(N,N,N), C(N,N,N) REAL P1(N,N,N), P2(N,N,N), P3(N,N,N), C(N,N,N)
INTEGER i, j INTEGER i, j, k
CALL acoust3d_f77_setup(P1, P2, P3, C, N) CALL acoust3d_f77_setup(P1, P2, P3, C, N)
DO iter=1, niters DO iter=1, niters
DO k=2,N-1 DO k=2,N-1
DO j=2,N-1 DO j=2,N-1
DO i=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) 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,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)) . + P2(i+1,j,k) + P2(i,j,k-1) + P2(i,j,k+1))
skipping to change at line 49 skipping to change at line 58
INTEGER i, j, k INTEGER i, j, k
INTEGER cavityLeft, cavityRight, cavityFront, cavityBack, INTEGER cavityLeft, cavityRight, cavityFront, cavityBack,
. cavityTop, cavityBottom, cavityTop2, cavityBottom2 . cavityTop, cavityBottom, cavityTop2, cavityBottom2
REAL ci, cj, ck, s2 REAL ci, cj, ck, s2
! Set up velocity field ! Set up velocity field
DO k=1,N DO k=1,N
DO j=1,N DO j=1,N
DO i=1,N/2 DO i=1,N/2
c(i,j,k) = 0.05; c(i,j,k) = 0.05
END DO END DO
DO i=N/2+1,N DO i=N/2+1,N
c(i,j,k) = 0.3; c(i,j,k) = 0.3
END DO END DO
END DO END DO
END DO END DO
! Cavities ! Cavities
cavityLeft = 3 * N / 7.0 cavityLeft = 3 * N / 7.0
cavityRight = 4 * N / 7.0 cavityRight = 4 * N / 7.0
cavityFront = 3 * N / 7.0 cavityFront = 3 * N / 7.0
cavityBack = 4 * N / 7.0 cavityBack = 4 * N / 7.0
cavityTop = 5 * N / 7.0 cavityTop = 5 * N / 7.0
cavityBottom = 6 * N / 7.0 cavityBottom = 6 * N / 7.0
cavityTop2 = 1 * N / 7.0 cavityTop2 = 1 * N / 7.0
cavityBottom2 = 2 * N / 7.0 cavityBottom2 = 2 * N / 7.0
DO k=cavityFront, cavityBack DO k=cavityFront, cavityBack
DO j=cavityLeft, cavityRight DO j=cavityLeft, cavityRight
DO i=cavityTop, cavityBottom DO i=cavityTop, cavityBottom
c(i,j,k) = 0.02; c(i,j,k) = 0.02
END DO END DO
DO i=cavityTop2, cavityBottom2 DO i=cavityTop2, cavityBottom2
c(i,j,k) = 0.001 c(i,j,k) = 0.001
END DO END DO
END DO END DO
END DO END DO
! Initial pressure distribution ! Initial pressure distribution
ci = N/2.0 ci = N/2.0
cj = N/2.0 cj = N/2.0
ck = N/2.0 ck = N/2.0
s2 = 64.0 * 9.0 / ((N/2.0) ** 2); s2 = 64.0 * 9.0 / ((N/2.0) ** 2)
DO k=1,N DO k=1,N
DO j=1,N DO j=1,N
DO i=1,N DO i=1,N
P1(i,j,k) = 0.0 P1(i,j,k) = 0.0
P2(i,j,k) = exp(- ((i-ci)**2+(j-cj)**2+(k-ck)**2) * s2) P2(i,j,k) = exp(- ((i-ci)**2+(j-cj)**2+(k-ck)**2) * s2)
P3(i,j,k) = 0.0 P3(i,j,k) = 0.0
END DO END DO
END DO END DO
END DO END DO
 End of changes. 6 change blocks. 
5 lines changed or deleted 14 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/