aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetTest/src/slabtest.c
diff options
context:
space:
mode:
Diffstat (limited to 'Carpet/CarpetTest/src/slabtest.c')
-rw-r--r--Carpet/CarpetTest/src/slabtest.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/Carpet/CarpetTest/src/slabtest.c b/Carpet/CarpetTest/src/slabtest.c
new file mode 100644
index 000000000..7b94a08ad
--- /dev/null
+++ b/Carpet/CarpetTest/src/slabtest.c
@@ -0,0 +1,55 @@
+/* $Header$ */
+
+#include <assert.h>
+#include <stdlib.h>
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+
+void
+carpettest_slabtest (CCTK_ARGUMENTS)
+{
+ DECLARE_CCTK_ARGUMENTS;
+
+ int vi;
+
+ CCTK_INT directions[3][3];
+ CCTK_INT origin[3];
+ CCTK_INT extent[3];
+ CCTK_INT hsize[3];
+
+ int mapping;
+
+ int d, dd;
+
+ int ierr;
+
+
+
+ assert (CCTK_nProcs(cctkGH) == 1);
+
+ vi = CCTK_VarIndex ("grid::y");
+ assert (vi >= 0);
+
+ for (d=0; d<3; ++d) {
+ for (dd=0; d<3; ++dd) {
+ directions[d][dd] = d == dd;
+ }
+ origin[d] = cctk_lbnd[d];
+ extent[d] = cctk_lsh[d];
+ }
+
+ mapping = Hyperslab_GlobalMappingByIndex
+ (cctkGH, vi, 3, &directions[0][0], origin, extent, NULL, -1, NULL, hsize);
+ assert (mapping >= 0);
+
+ for (d=0; d<3; ++d) {
+ assert (hsize[d] == cctk_lsh[d]);
+ }
+
+ ierr = Hyperslab_Get (cctkGH, mapping, -1, vi, 0, CCTK_VARIABLE_REAL, yy);
+ assert (! ierr);
+
+ ierr = Hyperslab_FreeMapping (mapping);
+ assert (! ierr);
+}