From 90cc3406685472af510d6d810f154ccc6f8220fe Mon Sep 17 00:00:00 2001 From: schnetter Date: Wed, 19 Oct 2005 14:45:53 +0000 Subject: Correct third derivative operators git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinUtils/TGRtensor/trunk@32 b716e942-a2de-43ad-8f52-f3dfe468e4e7 --- src/derivs.F90 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/derivs.F90 b/src/derivs.F90 index 1413f7d..22351a8 100644 --- a/src/derivs.F90 +++ b/src/derivs.F90 @@ -47,23 +47,22 @@ contains CCTK_REAL, intent(out) :: f(3,3,3) integer, intent(in) :: pos, off(3) CCTK_REAL, intent(in) :: dx(3) - integer :: i f(1,1,1) = (- a(pos+2*off(1)) + 2*a(pos+off(1)) - 2*a(pos-off(1)) + a(pos-2*off(1))) / (2*dx(1)**3) f(2,1,1) = (a(pos+off(1)+off(2)) - 2*a(pos+off(2)) + a(pos-off(1)+off(2)) - a(pos+off(1)-off(2)) + 2*a(pos-off(2)) - a(pos-off(1)-off(2))) / (2*dx(1)*dx(1)*dx(2)) f(3,1,1) = (a(pos+off(1)+off(3)) - 2*a(pos+off(3)) + a(pos-off(1)+off(3)) - a(pos+off(1)-off(3)) + 2*a(pos-off(3)) - a(pos-off(1)-off(3))) / (2*dx(1)*dx(1)*dx(3)) f(1,2,1) = f(2,1,1) f(2,2,1) = (a(pos+off(1)+off(2)) - 2*a(pos+off(1)) + a(pos+off(1)-off(2)) - a(pos-off(1)+off(2)) + 2*a(pos-off(1)) - a(pos-off(1)-off(2))) / (2*dx(1)*dx(2)*dx(2)) - f(3,2,1) = (a(pos+off(1)+off(2)+1) - a(pos-off(1)+off(2)+1) - a(pos+off(1)-off(2)+1) + a(pos-off(1)-off(2)+1) - a(pos+off(1)+off(2)-1) + a(pos-off(1)+off(2)-1) + a(pos+off(1)-off(2)-1) - a(pos-off(1)-off(2)-1)) * (8*dx(1)*dx(2)*dx(3)) + f(3,2,1) = (a(pos+off(1)+off(2)+off(3)) - a(pos-off(1)+off(2)+off(3)) - a(pos+off(1)-off(2)+off(3)) + a(pos-off(1)-off(2)+off(3)) - a(pos+off(1)+off(2)-off(3)) + a(pos-off(1)+off(2)-off(3)) + a(pos+off(1)-off(2)-off(3)) - a(pos-off(1)-off(2)-off(3))) * (8*dx(1)*dx(2)*dx(3)) f(1,3,1) = f(3,3,1) f(2,3,1) = f(3,2,1) f(3,3,1) = (a(pos+off(1)+off(3)) - 2*a(pos+off(1)) + a(pos+off(1)-off(3)) - a(pos-off(1)+off(3)) + 2*a(pos-off(1)) - a(pos-off(1)-off(3))) / (2*dx(1)*dx(3)*dx(3)) f(:,1,2) = f(:,2,1) f(1,2,2) = f(2,2,1) f(2,2,2) = (- a(pos+2*off(2)) + 2*a(pos+off(2)) - 2*a(pos-off(2)) + a(pos-2*off(2))) / (2*dx(2)**3) - f(3,2,2) = (a(pos+off(2)+1) - 2*a(pos+off(3)) + a(pos-off(2)+1) - a(pos+off(2)-1) + 2*a(pos-off(3)) - a(pos-off(2)-1)) / (2*dx(2)*dx(2)*dx(3)) + f(3,2,2) = (a(pos+off(2)+off(3)) - 2*a(pos+off(3)) + a(pos-off(2)+off(3)) - a(pos+off(2)-off(3)) + 2*a(pos-off(3)) - a(pos-off(2)-off(3))) / (2*dx(2)*dx(2)*dx(3)) f(1,3,2) = f(3,2,1) f(2,3,2) = f(3,2,2) - f(3,3,2) = (a(pos+off(2)+1) - 2*a(pos+off(2)) + a(pos+off(2)-1) - a(pos-off(2)+1) + 2*a(pos-off(2)) - a(pos-off(2)-1)) / (2*dx(2)*dx(3)*dx(3)) + f(3,3,2) = (a(pos+off(2)+off(3)) - 2*a(pos+off(2)) + a(pos+off(2)-off(3)) - a(pos-off(2)+off(3)) + 2*a(pos-off(2)) - a(pos-off(2)-off(3))) / (2*dx(2)*dx(3)*dx(3)) f(:,1,3) = f(:,3,1) f(:,2,3) = f(:,3,2) f(1,3,3) = f(3,3,1) -- cgit v1.2.3