From 42249ac12e400518bba3799bc9472e6fd887568c Mon Sep 17 00:00:00 2001 From: schnetter Date: Wed, 20 Feb 2008 22:56:10 +0000 Subject: Update documentation git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/Slab/trunk@55 2e825fa2-fb71-486d-8b7f-a5ff3f0f6cb8 --- doc/documentation.tex | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/doc/documentation.tex b/doc/documentation.tex index 0f05f0d..b76d9f4 100644 --- a/doc/documentation.tex +++ b/doc/documentation.tex @@ -105,7 +105,7 @@ processor distribution of the arrays can be specified freely, so that the Slab thorn can be used to interface to non-Cactus libraries with different data layouts. -The Slab thorn is driver independent, i.e.\ not tied to PUGH or +The Slab thorn is driver independent, i.e., not tied to PUGH or Carpet, and does not require MPI for single-processor configurations. \end{abstract} @@ -123,7 +123,7 @@ subscript triplets'', which represent the same thing. In BLAS, the are sometimes also called ``array views'' in object oriented applications. Slabs are rectangular in shape, and can be rotated with regard to their containing array by multiples of 90 degrees. They can -also be mirrored, i.e.\ the direction of axes can be inverted. +also be mirrored, i.e., the direction of axes can be inverted. It is often necessary to copy slabs from one array into other arrays, or to copy one slab of an array to another slab of the same array. @@ -192,7 +192,7 @@ Number of dimensions of the arrays and slabs. Must be nonnegative. \end{Parameter} \begin{Parameter}{xferinfo[dim]} -Describes the layout of the slab transfer, i.e.\ the shape and +Describes the layout of the slab transfer, i.e., the shape and distribution of the source and destination arrays, and the locations of the source and destination slabs, and a possible transformation between the slabs. Each dimension is described separately. See the @@ -210,7 +210,7 @@ Describes the destination array and destination slab. See the \end{Parameter} \begin{Parameter}{xferinfo[d].xpose} -Describes how to transpose the slab, i.e.\ possibly permuting the slab +Describes how to transpose the slab, i.e., possibly permuting the slab axes, as in $(x,y) \rightarrow (y,x)$. \texttt{xferinfo[d].xpose} contains an integer value in the range \texttt{0\ldots dim-1}, specifying the source axis corresponding to the destination axis @@ -220,10 +220,10 @@ same. \end{Parameter} \begin{Parameter}{xferinfo[d].flip} -Describes how to mirror the slab, i.e.\ possibly inverting the slab +Describes how to mirror the slab, i.e., possibly inverting the slab axes, as in $(x) \rightarrow (-x)$. \texttt{xferinfo[d].flip} containes a boolean value specifying whether the axis in direction -\texttt{d} should be inverted, i.e.\ either \texttt{0} or \texttt{1}, +\texttt{d} should be inverted, i.e., either \texttt{0} or \texttt{1}, where \texttt{0} indicates no inversion, and \texttt{1} indicates inversion. @@ -290,8 +290,13 @@ non-unit stride. Must be nonnegative. \end{Parameter} \begin{Parameter}{options} -Handle of an option table. Currently there are no options defined. -Pass either $-1$ or a handle to an empty table. +Handle of an option table. Two options are understood, +\texttt{CCTK\_INT useghosts} and \texttt{CCTK\_POINTER comm}. +\texttt{useghosts} (see below) specifies whether values in ghost zones +may be used in the source array. \texttt{comm} is a pointer to an MPI +communicator that should be used instead of \texttt{MPI\_COMM\_WORLD} +or the communicator returned by the aliased function +\texttt{GetMPICommWorld}. \end{Parameter} \begin{Parameter}{srctype} @@ -322,10 +327,11 @@ the slab can also be specified freely, and the slab can be rotated (by multiples of 90 degrees) or inverted before it is copied. The source and destination slab are allowed to overlap. -\texttt{Slab\_Transfer} is conservative with regard to +By default, \texttt{Slab\_Transfer} is conservative with regard to synchronisation. It assumes that the ghost zones of the source array are not valid, but will correctly fill in the ghost zones in the -destination slab. +destination slab. This can be changed by setting the option +\texttt{useghosts} in the option table. There are currently some restrictions, which can be remedied if the need arises: The dimension must be 3 (lower dimensions can easily be @@ -347,7 +353,7 @@ The hyperslabbing thorn of the driver CactusPUGH. \begin{SeeAlso}{New hyperslabbing API} The web page \texttt{http://www.cactuscode.org/Development/Current.html} contains a -hyperlink to the new proposed hyperslabbing API. This API is slightly +hyperlink to the new proposed hyperslabbing API\@. This API is slightly different from the one used here. \end{SeeAlso} \end{SeeAlsoSection} -- cgit v1.2.3