diff options
Diffstat (limited to 'src/SetGrid.c')
-rw-r--r-- | src/SetGrid.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/SetGrid.c b/src/SetGrid.c index 954d301..28ff2f7 100644 --- a/src/SetGrid.c +++ b/src/SetGrid.c @@ -9,10 +9,12 @@ @version $Id$ @@*/ +#include <math.h> #include <stdio.h> #include <string.h> #include "cctk.h" +#include "cctk_Arguments.h" #include "cctk_Parameter.h" #include "cctk_Parameters.h" @@ -267,3 +269,29 @@ int Cartoon2D_SetGrid(void) return 0; } + +void Cartoon2D_setup_coord(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + +#pragma omp parallel for + for (int k = 0; k < cctkGH->cctk_lsh[2]; k++) + for (int j = 0; j < cctkGH->cctk_lsh[1]; j++) + for (int i = 0; i < cctkGH->cctk_lsh[0]; i++) { + int idx = CCTK_GFINDEX3D(cctkGH, i, j, k); + CCTK_REAL x_val = x[idx], y_val = y[idx]; + rho[idx] = sqrt(x_val * x_val + y_val * y_val); + zero[idx] = 0.0; + + rxx[idx] = x_val / rho[idx]; + ryx[idx] = y_val / rho[idx]; + rxy[idx] = -ryx[idx]; + ryy[idx] = rxx[idx]; + + sxx[idx] = ryy[idx]; + syx[idx] = -ryx[idx]; + sxy[idx] = -rxy[idx]; + syy[idx] = rxx[idx]; + } +} |