diff options
author | goodale <goodale@4451c3c6-1034-4891-99ea-21147727ccdf> | 2000-03-28 07:04:06 +0000 |
---|---|---|
committer | goodale <goodale@4451c3c6-1034-4891-99ea-21147727ccdf> | 2000-03-28 07:04:06 +0000 |
commit | a457121df89fc3569421ccf68534a74838877c1f (patch) | |
tree | c3354ac29b3cf70484386c3bab9c31ceb4bf6ef4 /src | |
parent | 9e3cd4562586e8e5a14e73f0e2f8e06c0f41e6f0 (diff) |
60% more MFlop/s
Tom
git-svn-id: http://svn.cactuscode.org/arrangements/CactusWave/WaveToyF77/trunk@49 4451c3c6-1034-4891-99ea-21147727ccdf
Diffstat (limited to 'src')
-rw-r--r-- | src/WaveToy.F77 | 23 |
1 files 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 |