diff options
author | Anton Khirnov <anton@khirnov.net> | 2018-10-03 14:43:15 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2018-10-03 14:43:15 +0200 |
commit | b212d1e5048f48d3e5146ccdac8386f075e8aee7 (patch) | |
tree | 9a93fc3b0436c194591e4afac0912319351abbbe | |
parent | bf3002ba5787f22666faac0ab7178005d9432c70 (diff) |
Add 3rd order dissipation.
-rw-r--r-- | src/apply_dissipation.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/apply_dissipation.c b/src/apply_dissipation.c index 6920ef5..ce6e223 100644 --- a/src/apply_dissipation.c +++ b/src/apply_dissipation.c @@ -23,6 +23,16 @@ void apply_dissipation(const cGH *gh, const double *var, double *rhs, double dx[ } switch (order) { + case 3: +#pragma omp parallel for + for (int k = 2; k < nk - 2; k++) + for (int i = 2; i < nk - 2; i++) { + int idx = CCTK_GFINDEX3D(gh, i, y_idx, k); + rhs[idx] += epsdis[idx] / 16.0 * + ((var[idx - 2] - 4.0 * var[idx - 1] + 6.0 * var[idx] - 4.0 * var[idx + 1] + var[idx + 2]) * inv_dx[0] + + (var[idx - 2 * ni * nj] - 4.0 * var[idx - 1 * ni * nj] + 6.0 * var[idx] - 4.0 * var[idx + 1 * ni * nj] + var[idx + 2 * ni * nj]) * inv_dx[2]); + } + break; case 5: #pragma omp parallel for for (int k = 3; k < nk - 3; k++) |