aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetSlab/src/slab.h
diff options
context:
space:
mode:
authorschnetter <>2003-11-05 15:18:00 +0000
committerschnetter <>2003-11-05 15:18:00 +0000
commitf1bfa75fa4425d8cf55937fa26b33b2c6ba8f27a (patch)
treedb14971237fb532d89eff53dde64282084b73e6f /Carpet/CarpetSlab/src/slab.h
parent1072312e58ca8b5d10bcb738a117a5fdf9cd6415 (diff)
Many changes that accumulated while Cactus and Carpet diverged.
Many changes that accumulated while Cactus and Carpet diverged. Add processor splitting mechanism "along-dir" that splits along a specified direction. Rename group PostRestrict to bin POSTRESTRICT. Prolongate initial data only when desired. This saves much time. Sorry, Ian. Fix bug in time level cycling of grid arrays. (Note: grid arrays should not have time levels.) Fix time_t bug on IRIX. Make sure that there is no integer overflow when there are many refinement levels. Always put parentheses around (maxreflevelfact/reflevelfact). Fix typo in Carpet verbose output. Add debug output in processor splitting. Communicate in three stages: Irecv, (work), Isend, Wait. This might be more efficient. Much more, potentially. Fix bug in processor layout of grid arrays. Sorry, Ian. Make the interpolator interpolate between time levels. Untested. Fix bug in processor communication in interpolator. Sorry, Ian. Rewrite prolongation operators to make them twice as fast. There you are, Ian. Move prolongation operator kind handling from data to gdata. Add official hyperslabbing interfaces to CarpetSlab. Adapt to new cGH * handling. darcs-hash:20031105151837-07bb3-758a87ff0355dba053269df4b7d7d79bea018669.gz
Diffstat (limited to 'Carpet/CarpetSlab/src/slab.h')
-rw-r--r--Carpet/CarpetSlab/src/slab.h61
1 files changed, 60 insertions, 1 deletions
diff --git a/Carpet/CarpetSlab/src/slab.h b/Carpet/CarpetSlab/src/slab.h
index c72222700..e57205aa0 100644
--- a/Carpet/CarpetSlab/src/slab.h
+++ b/Carpet/CarpetSlab/src/slab.h
@@ -1,4 +1,4 @@
-/* $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetSlab/src/slab.h,v 1.1 2002/10/24 10:53:48 schnetter Exp $ */
+/* $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetSlab/src/slab.h,v 1.2 2003/11/05 16:18:39 schnetter Exp $ */
#ifndef CARPETSLAB_H
#define CARPETSLAB_H
@@ -10,6 +10,65 @@ namespace CarpetSlab {
extern "C" {
#endif
+ CCTK_INT CarpetSlab_Get (cGH const * const cctkGH,
+ CCTK_INT const mapping_handle,
+ CCTK_INT const proc,
+ CCTK_INT const vindex,
+ CCTK_INT const timelevel,
+ CCTK_INT const hdatatype,
+ void * const hdata);
+
+ CCTK_INT CarpetSlab_GetList (cGH const * const cctkGH,
+ CCTK_INT const mapping_handle,
+ CCTK_INT const num_arrays,
+ CCTK_INT const * const procs,
+ CCTK_INT const * const vindices,
+ CCTK_INT const * const timelevels,
+ CCTK_INT const * const hdatatypes,
+ void * const * const hdata,
+ CCTK_INT * const retvals);
+
+ CCTK_INT CarpetSlab_DefineLocalMappingByIndex (cGH const * const cctkGH,
+ CCTK_INT const vindex,
+ CCTK_INT const hdim,
+ CCTK_INT const * const direction,
+ CCTK_INT const * const origin,
+ CCTK_INT const * const extent,
+ CCTK_INT const * const downsample,
+ CCTK_INT const table_handle,
+ CCTK_INT (* const conversion_fn) (CCTK_INT const nelems,
+ CCTK_INT const src_stride,
+ CCTK_INT const dst_stride,
+ CCTK_INT const src_type,
+ CCTK_INT const dst_type,
+ void const * const from,
+ void * const to),
+ CCTK_INT * const hsize_local,
+ CCTK_INT * const hsize_global,
+ CCTK_INT * const hoffset_global);
+
+ CCTK_INT CarpetSlab_DefineGlobalMappingByIndex (cGH const * const cctkGH,
+ CCTK_INT const vindex,
+ CCTK_INT const hdim,
+ CCTK_INT const * const direction,
+ CCTK_INT const * const origin,
+ CCTK_INT const * const extent,
+ CCTK_INT const * const downsample,
+ CCTK_INT const table_handle,
+ CCTK_INT (* const conversion_fn) (CCTK_INT const nelems,
+ CCTK_INT const src_stride,
+ CCTK_INT const dst_stride,
+ CCTK_INT const src_type,
+ CCTK_INT const dst_type,
+ void const * const from,
+ void * const to),
+ CCTK_INT * const hsize);
+
+ CCTK_INT CarpetSlab_FreeMapping (CCTK_INT const mapping_handle);
+
+
+
+ /* Old interface -- don't use */
int Hyperslab_GetHyperslab (cGH* const GH,
const int target_proc,
const int vindex,