diff options
Diffstat (limited to 'src/noise.h')
-rw-r--r-- | src/noise.h | 51 |
1 files changed, 22 insertions, 29 deletions
diff --git a/src/noise.h b/src/noise.h index 7cb839a..749b411 100644 --- a/src/noise.h +++ b/src/noise.h @@ -3,50 +3,43 @@ #ifndef NOISE_H #define NOISE_H +#include <assert.h> #include <stdlib.h> +#include <string.h> #include <time.h> #include "cctk.h" /* constants */ -#define TRUE 1 -#define FALSE 0 - #define MAXDIM 3 -# + /* macros */ -#define RAND_VAL random()*amplitude - offset - -#define INDEX_3D(lsh, i, j, k) ((i) + (lsh)[0]*((j) + (lsh)[1]*(k))) - - -#define BOUNDARY_NOISE(doBC, \ - iend, jend, kend, \ - ii, jj, kk) \ -{ \ -if (doBC) \ - { \ - for (k = 0; k < kend; k++) \ - { \ - for (j = 0; j < jend; j++) \ - { \ - for (i = 0; i < iend; i++) \ - { \ - int _index = CCTK_GFINDEX3D(GH, ii, jj, kk); \ - CCTK_REAL* v= (CCTK_REAL *) GH->data[var][timelvl] + _index; \ - v[0] += RAND_VAL; \ - } \ +#define RAND_VAL ((random()*(1.0/RAND_MAX)-0.5)*amplitude) + +#define BOUNDARY_NOISE(doBC, \ + iend, jend, kend, \ + ii, jj, kk) \ +{ \ + if (doBC) \ + { \ + CCTK_REAL* v= CCTK_VarDataPtrI(GH, timelvl, var); \ + for (k = 0; k < kend; k++) \ + { \ + for (j = 0; j < jend; j++) \ + { \ + for (i = 0; i < iend; i++) \ + { \ + const int _index = CCTK_GFINDEX3D(GH, (ii), (jj), (kk)); \ + v[_index] += RAND_VAL; \ + } \ } \ } \ - } \ + } \ } #endif /* !define(NOISE_H) */ - - - |