diff options
Diffstat (limited to 'src/setup_epsdis.c')
-rw-r--r-- | src/setup_epsdis.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/setup_epsdis.c b/src/setup_epsdis.c index a3db48b..498f8c3 100644 --- a/src/setup_epsdis.c +++ b/src/setup_epsdis.c @@ -14,6 +14,7 @@ #include "util_Table.h" #define MAXDIM 3 +#define REFLEVEL ((int)(0.1 + log10((CCTK_REAL)(cctk_levfac[0]))/log10(2.0))) void setup_epsdis (CCTK_ARGUMENTS) @@ -35,6 +36,7 @@ setup_epsdis (CCTK_ARGUMENTS) const CCTK_INT MAXSURFNUM=100; /* XXX hard limit */ CCTK_INT doBC[2*MAXDIM],symbnd[2*MAXDIM]; CCTK_INT symtable; + int reflvl = REFLEVEL; if (verbose) { CCTK_VInfo(CCTK_THORNSTRING,"Setting up spatially varying dissipation at T=%g", @@ -45,9 +47,12 @@ setup_epsdis (CCTK_ARGUMENTS) nj=cctk_lsh[1]; nk=cctk_lsh[2]; - for (i=0;i<ni*nj*nk;i++) { - epsdisA[i]=epsdis; - } + if (epsdis_for_level[reflvl] > 0.0) + for (i=0; i<ni*nj*nk; ++i) + epsdisA[i] = epsdis_for_level[reflvl]; + else + for (i=0;i<ni*nj*nk;i++) + epsdisA[i]=epsdis; if (extra_dissipation_at_outerbound) { |