diff options
author | schnetter <schnetter@850bcc8b-0e4f-0410-8c26-8d28fbf1eda9> | 2004-05-16 20:52:30 +0000 |
---|---|---|
committer | schnetter <schnetter@850bcc8b-0e4f-0410-8c26-8d28fbf1eda9> | 2004-05-16 20:52:30 +0000 |
commit | ee2bb42cece14c3a96f872d1644d34fb836aa999 (patch) | |
tree | a805a4e3b8f25e62b50cad9788ac1908e64657e2 | |
parent | 3c4c7191cc89fc255f5ac66156eec06a84c77f9d (diff) |
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
-rw-r--r-- | param.ccl | 6 | ||||
-rw-r--r-- | src/apply_dissipation.F77 | 8 |
2 files changed, 7 insertions, 7 deletions
@@ -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)) |