aboutsummaryrefslogtreecommitdiff
path: root/src/apply_dissipation.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/apply_dissipation.c')
-rw-r--r--src/apply_dissipation.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/apply_dissipation.c b/src/apply_dissipation.c
index 6953757..6920ef5 100644
--- a/src/apply_dissipation.c
+++ b/src/apply_dissipation.c
@@ -34,6 +34,19 @@ void apply_dissipation(const cGH *gh, const double *var, double *rhs, double dx[
// + (var(i,j-3,k) - 6*var(i,j-2,k) + 15*var(i,j-1,k) - 20*var(i,j,k) + 15*var(i,j+1,k) - 6*var(i,j+2,k) + var(i,j+3,k) ) * idx(2)
}
break;
+ case 9:
+#pragma omp parallel for
+ for (int k = 5; k < nk - 5; k++)
+ for (int i = 5; i < nk - 5; i++) {
+ int idx = CCTK_GFINDEX3D(gh, i, y_idx, k);
+ rhs[idx] += epsdis[idx] / 1024 *
+ ((var[idx - 5] - 10 * var[idx - 4] + 45 * var[idx - 3] - 120 * var[idx - 2] + 210 * var[idx - 1] - 252 * var[idx] +
+ var[idx + 5] - 10 * var[idx + 4] + 45 * var[idx + 3] - 120 * var[idx + 2] + 210 * var[idx + 1]) * inv_dx[0] +
+ (var[idx - 5 * ni * nj] - 10 * var[idx - 4 * ni * nj] + 45 * var[idx - 3 * ni * nj] - 120 * var[idx - 2 * ni * nj] + 210 * var[idx - 1 * ni * nj] - 252 * var[idx] +
+ var[idx + 5 * ni * nj] - 10 * var[idx + 4 * ni * nj] + 45 * var[idx + 3 * ni * nj] - 120 * var[idx + 2 * ni * nj] + 210 * var[idx + 1 * ni * nj]) * inv_dx[2]);
+//$ + (var(i,j-5,k) - 10*var(i,j-4,k) + 45*var(i,j-3,k) - 120*var(i,j-2,k) + 210*var(i,j-1,k) - 252*var(i,j,k) + 210*var(i,j+1,k) - 120*var(i,j+2,k) + 45*var(i,j+3,k) - 10*var(i,j+4,k) + var(i,j+5,k)) * idx(2)
+ }
+ break;
default:
CCTK_WARN(0, "internal error");
}