aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetTest/src
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@aei.mpg.de>2004-09-18 13:40:00 +0000
committerErik Schnetter <schnetter@aei.mpg.de>2004-09-18 13:40:00 +0000
commitd77e4fb3d67b829ccac829e92d8293c290bed78c (patch)
treebebd3fa7a8b043e8cc153a1c467f2353b3d9f36d /Carpet/CarpetTest/src
parent91ec86281fe4c575df2cbff1ba088c75e01ccced (diff)
Add test routine for hyperslabbing
darcs-hash:20040918134055-891bb-2255e545a38dc4a4a87a2b1f9a135ac8ce905790.gz
Diffstat (limited to 'Carpet/CarpetTest/src')
-rw-r--r--Carpet/CarpetTest/src/make.code.defn2
-rw-r--r--Carpet/CarpetTest/src/slabtest.c55
2 files changed, 56 insertions, 1 deletions
diff --git a/Carpet/CarpetTest/src/make.code.defn b/Carpet/CarpetTest/src/make.code.defn
index 51882d30b..20c679952 100644
--- a/Carpet/CarpetTest/src/make.code.defn
+++ b/Carpet/CarpetTest/src/make.code.defn
@@ -2,7 +2,7 @@
# $Header:$
# Source files in this directory
-SRCS = carpettest_check_sizes.c carpettest_check_arguments.F77
+SRCS = carpettest_check_sizes.c carpettest_check_arguments.F77 slabtest.c
# Subdirectories containing source files
SUBDIRS =
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);
+}