aboutsummaryrefslogtreecommitdiff
path: root/src/SetGrid.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/SetGrid.c')
-rw-r--r--src/SetGrid.c28
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];
+ }
+}