/* $Header$ */ #ifndef NOISE_H #define NOISE_H #include #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 NOISY_BOUNDARY(doBC, \ iend, jend, kend, \ ii, jj, kk, \ rand) \ { \ if (doBC) \ { \ srandom(time(0)); \ 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; \ } \ } \ } \ } \ } #endif /* !define(NOISE_H) */