From ee2bb42cece14c3a96f872d1644d34fb836aa999 Mon Sep 17 00:00:00 2001 From: schnetter Date: Sun, 16 May 2004 20:52:30 +0000 Subject: Rename order from 2,4 to 1,3. Re-introduce factor 1/16 for 3rd order dissipation. Correct sign error in 1st order dissipation. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/Dissipation/trunk@5 850bcc8b-0e4f-0410-8c26-8d28fbf1eda9 --- param.ccl | 6 +++--- src/apply_dissipation.F77 | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/param.ccl b/param.ccl index 5640ea1..ca4cbcb 100644 --- a/param.ccl +++ b/param.ccl @@ -7,9 +7,9 @@ BOOLEAN verbose "produce log output" STEERABLE=always INT order "Dissipation order" STEERABLE=always { - 2 :: "second order dissipation (first order accurate)" - 4 :: "fourth order dissipation (third order accurate)" -} 4 + 1 :: "first order accurate dissipation (using a second derivative)" + 3 :: "third order accurate dissipation (using a fourth derivative)" +} 3 REAL epsdis "Dissipation strength" STEERABLE=always { diff --git a/src/apply_dissipation.F77 b/src/apply_dissipation.F77 index ab78713..38d55f7 100644 --- a/src/apply_dissipation.F77 +++ b/src/apply_dissipation.F77 @@ -13,13 +13,13 @@ c $Header$ integer i, j, k - if (order .eq. 2) then + if (order .eq. 1) then do k = 2, nk-1 do j = 2, nj-1 do i = 2, ni-1 - rhs(i,j,k) = rhs(i,j,k) - epsdis + rhs(i,j,k) = rhs(i,j,k) + epsdis $ * (+ (var(i-1,j,k) - 2*var(i,j,k) - var(i+1,j,k)) / dx(1) $ + (var(i,j-1,k) - 2*var(i,j,k) - var(i,j+1,k)) / dx(2) $ + (var(i,j,k-1) - 2*var(i,j,k) - var(i,j,k+1)) / dx(3)) @@ -28,13 +28,13 @@ c $Header$ end do end do - else if (order .eq. 4) then + else if (order .eq. 3) then do k = 3, nk-2 do j = 3, nj-2 do i = 3, ni-2 - rhs(i,j,k) = rhs(i,j,k) - epsdis + rhs(i,j,k) = rhs(i,j,k) - epsdis / 16 $ * (+ (var(i-2,j,k) - 4*var(i-1,j,k) + 6*var(i,j,k) - 4*var(i+1,j,k) + var(i+2,j,k)) / dx(1) $ + (var(i,j-2,k) - 4*var(i,j-1,k) + 6*var(i,j,k) - 4*var(i,j+1,k) + var(i,j+2,k)) / dx(2) $ + (var(i,j,k-2) - 4*var(i,j,k-1) + 6*var(i,j,k) - 4*var(i,j,k+1) + var(i,j,k+2)) / dx(3)) -- cgit v1.2.3