From a457121df89fc3569421ccf68534a74838877c1f Mon Sep 17 00:00:00 2001 From: goodale Date: Tue, 28 Mar 2000 07:04:06 +0000 Subject: 60% more MFlop/s Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusWave/WaveToyF77/trunk@49 4451c3c6-1034-4891-99ea-21147727ccdf --- src/WaveToy.F77 | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/WaveToy.F77 b/src/WaveToy.F77 index 13e1fad..6130447 100644 --- a/src/WaveToy.F77 +++ b/src/WaveToy.F77 @@ -42,6 +42,8 @@ c Declare variables in argument list INTEGER i,j,k,ierr INTEGER istart, jstart, kstart, iend, jend, kend CCTK_REAL dx,dy,dz,dt + CCTK_REAL dx2,dy2,dz2,dt2 + CCTK_REAL dx2i,dy2i,dz2i c Set up shorthands c ----------------- @@ -50,6 +52,15 @@ c ----------------- dz = CCTK_DELTA_SPACE(3) dt = CCTK_DELTA_TIME + dx2 = dx*dx + dy2 = dy*dy + dz2 = dz*dz + dt2 = dt*dt + + dx2i = 1.0/dx2 + dy2i = 1.0/dy2 + dz2i = 1.0/dz2 + istart = 2 jstart = 2 kstart = 2 @@ -65,12 +76,12 @@ c ---------------- do i = istart, iend phi_next(i,j,k) = - & 2.0*(1.0 - (dt**2)*(1.0/dx**2 + - & 1.0/dy**2 +1.0/dz**2))*phi(i,j,k) - - & phi_old(i,j,k) + (dt**2) * - & ((phi(i+1,j,k)+phi(i-1,j,k))/dx**2 - & +(phi(i,j+1,k)+phi(i,j-1,k))/dy**2 - & +(phi(i,j,k+1)+phi(i,j,k-1))/dz**2) + & 2.0*(1.0 - (dt2)*(dx2i + + & dy2i +dz2i))*phi(i,j,k) - + & phi_old(i,j,k) + (dt2) * + & ((phi(i+1,j,k)+phi(i-1,j,k))*dx2i + & +(phi(i,j+1,k)+phi(i,j-1,k))*dy2i + & +(phi(i,j,k+1)+phi(i,j,k-1))*dz2i) end do end do -- cgit v1.2.3