diff options
Diffstat (limited to 'Carpet/CarpetTest/src/slabtest.c')
-rw-r--r-- | Carpet/CarpetTest/src/slabtest.c | 55 |
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); +} |