aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschnetter <schnetter@850bcc8b-0e4f-0410-8c26-8d28fbf1eda9>2004-05-16 20:52:30 +0000
committerschnetter <schnetter@850bcc8b-0e4f-0410-8c26-8d28fbf1eda9>2004-05-16 20:52:30 +0000
commitee2bb42cece14c3a96f872d1644d34fb836aa999 (patch)
treea805a4e3b8f25e62b50cad9788ac1908e64657e2
parent3c4c7191cc89fc255f5ac66156eec06a84c77f9d (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.ccl6
-rw-r--r--src/apply_dissipation.F778
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))