aboutsummaryrefslogtreecommitdiff
path: root/src/dissipation.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dissipation.c')
-rw-r--r--src/dissipation.c30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/dissipation.c b/src/dissipation.c
index 48f7ba4..8f85d32 100644
--- a/src/dissipation.c
+++ b/src/dissipation.c
@@ -6,6 +6,7 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
+#include "cctk_Functions.h"
#include "util_ErrorCodes.h"
#include "util_Table.h"
@@ -19,6 +20,8 @@ void CCTK_FCALL CCTK_FNAME(dissipation_4_3_opt) (const CCTK_REAL *var,
const CCTK_REAL *dx,
const CCTK_REAL *epsdis,
const CCTK_REAL *diss_fraction,
+ const CCTK_INT *npatches,
+ const CCTK_INT *patch,
CCTK_REAL *rhs);
void CCTK_FCALL CCTK_FNAME(dissipation_4_3_alt) (const CCTK_REAL *var,
const CCTK_INT *lsh,
@@ -29,6 +32,8 @@ void CCTK_FCALL CCTK_FNAME(dissipation_4_3_alt) (const CCTK_REAL *var,
const CCTK_REAL *dx,
const CCTK_REAL *epsdis,
const CCTK_REAL *diss_fraction,
+ const CCTK_INT *npatches,
+ const CCTK_INT *patch,
CCTK_REAL *rhs);
void CCTK_FCALL CCTK_FNAME(dissipation_6_5_opt) (const CCTK_REAL *var,
const CCTK_INT *ni,
@@ -39,6 +44,8 @@ void CCTK_FCALL CCTK_FNAME(dissipation_6_5_opt) (const CCTK_REAL *var,
const CCTK_REAL *dx,
const CCTK_REAL *epsdis,
const CCTK_REAL *diss_fraction,
+ const CCTK_INT *npatches,
+ const CCTK_INT *patch,
CCTK_REAL *rhs);
void CCTK_FCALL CCTK_FNAME(dissipation_6_5_alt) (const CCTK_REAL *var,
const CCTK_INT *ni,
@@ -49,6 +56,8 @@ void CCTK_FCALL CCTK_FNAME(dissipation_6_5_alt) (const CCTK_REAL *var,
const CCTK_REAL *dx,
const CCTK_REAL *epsdis,
const CCTK_REAL *diss_fraction,
+ const CCTK_INT *npatches,
+ const CCTK_INT *patch,
CCTK_REAL *rhs);
void CCTK_FCALL CCTK_FNAME(dissipation_2_1) (const CCTK_REAL *var,
const CCTK_INT *ni,
@@ -153,11 +162,12 @@ apply (int const varindex, char const * const optstring, void * const arg)
int ierr;
CCTK_INT symtable, pen_sym_handle;
CCTK_INT symbnd[6];
+ CCTK_INT npatches, patch;
assert (varindex >= 0);
for (d=0; d<3; ++d) {
- dx[d] = CCTK_DELTA_SPACE(d);
+ dx[d] = CCTK_DELTA_SPACE(d)*h_scaling[d];
gsize[d] = cctk_nghostzones[d];
}
@@ -280,28 +290,30 @@ apply (int const varindex, char const * const optstring, void * const arg)
assert(0);
}
} else {
+ npatches = MultiPatch_GetMaps ( cctkGH );
+ patch = MultiPatch_GetMap ( cctkGH ) + 1;
switch(order) {
case 4: {
if ( CCTK_Equals(dissipation_type,"Mattson-Svard-Nordstrom") ) {
CCTK_FNAME(dissipation_4_3_opt)
- (varptr, cctk_lsh, cctk_gsh, cctk_lbnd,
- bbox, gsize, dx, &epsdis, &diss_fraction, rhsptr);
+ (varptr, cctk_lsh, cctk_gsh, cctk_lbnd, bbox, gsize,
+ dx, &epsdis, diss_fraction, &npatches, &patch, rhsptr);
} else {
CCTK_FNAME(dissipation_4_3_alt)
- (varptr, cctk_lsh, cctk_gsh, cctk_lbnd,
- bbox, gsize, dx, &epsdis, &diss_fraction, rhsptr);
+ (varptr, cctk_lsh, cctk_gsh, cctk_lbnd, bbox, gsize,
+ dx, &epsdis, diss_fraction, &npatches, &patch, rhsptr);
}
break;
}
case 6: {
if ( CCTK_Equals(dissipation_type,"Mattson-Svard-Nordstrom") ) {
CCTK_FNAME(dissipation_6_5_opt)
- (varptr, cctk_lsh, cctk_gsh, cctk_lbnd,
- bbox, gsize, dx, &epsdis, &diss_fraction, rhsptr);
+ (varptr, cctk_lsh, cctk_gsh, cctk_lbnd, bbox, gsize,
+ dx, &epsdis, diss_fraction, &npatches, &patch, rhsptr);
} else {
CCTK_FNAME(dissipation_6_5_alt)
- (varptr, cctk_lsh, cctk_gsh, cctk_lbnd,
- bbox, gsize, dx, &epsdis, &diss_fraction, rhsptr);
+ (varptr, cctk_lsh, cctk_gsh, cctk_lbnd, bbox, gsize,
+ dx, &epsdis, diss_fraction, &npatches, &patch, rhsptr);
}
break;
}