diff options
Diffstat (limited to 'src/dissipation.c')
-rw-r--r-- | src/dissipation.c | 30 |
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; } |