summaryrefslogtreecommitdiff
path: root/doc/UsersGuide/ThornWriters.tex
diff options
context:
space:
mode:
authorjthorn <jthorn@17b73243-c579-4c4c-a9d2-2d5706c11dac>2002-03-06 19:08:30 +0000
committerjthorn <jthorn@17b73243-c579-4c4c-a9d2-2d5706c11dac>2002-03-06 19:08:30 +0000
commitb0b4bc3ad00b3c63beeebf74fe67438a20e8adec (patch)
tree7b6704ae4f5e58aa3630cb458f2abc1cfe77bbff /doc/UsersGuide/ThornWriters.tex
parent8c01d091fa7b030ae8ee50e1aeb8fd036ba721b5 (diff)
ThornWriters.tex
section B8.3 "Interpolation Operators" * clarify description of how interpolation operators are registered * add descriptions of new proposed interpolation APIs for grid arrays and for local "nonuniform" and "warped" grids, all commented-out (see below) FunctionReference.tex * add descriptions of new proposed interpolation APIs for grid arrays and for local "nonuniform" and "warped" grids, all commented-out (see below) With this checkin, there are now 4 new interpolation APIs documented here, but 3 of them are commented out in the latex source with the string %notyet^I (that's a %notyet at the start of the line followed by a tab character). This way the typeset manual doesn't describe not-yet-implemented APIs. At the moment this is the only place where the string "notyet" appears in *.tex in this directory, so grepping for this string will find all the commented-out text. The new interpolation APIs and their commented-out-or-not status are: %notyet CCTK_InterpGridArrays CCTK_InterpLocalUniform %notyet CCTK_InterpLocalNonUniform %notyet CCTK_InterpLocalWarped I will be away for the next 2 weeks; talk to Thomas Radke or Tom Goodale or Ian Hawke for more info about the new interpolators. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2635 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'doc/UsersGuide/ThornWriters.tex')
-rw-r--r--doc/UsersGuide/ThornWriters.tex72
1 files changed, 52 insertions, 20 deletions
diff --git a/doc/UsersGuide/ThornWriters.tex b/doc/UsersGuide/ThornWriters.tex
index 739918be..84537070 100644
--- a/doc/UsersGuide/ThornWriters.tex
+++ b/doc/UsersGuide/ThornWriters.tex
@@ -2185,43 +2185,75 @@ invocation of interpolation operators.
There are several different flesh APIs for interpolation, depending
on whether the data arrays are Cactus grid arrays or processor-local
``ordinary programming-language'' arrays, and on what assumptions
-are made about the topology and spacing of the grid:
+are made about the topology and spacing of the grid (these descriptions
+are for 3-D, but the generalizations to other numbers of dimensions
+should be obvious):
\begin{Lentry}
\item[{\tt CCTK\_InterpGV()}]
- Interpolates Cactus grid arrays
+ Interpolates Cactus grid arrays, with the topology of the
+ grid implicitly specified by a Cactus coordinate system.
+ (old API, being phased out as of early 2002)
+%notyet \item[{\tt CCTK\_InterpGridArrays()}]
+%notyet Interpolates Cactus grid arrays, with the topology of the
+%notyet grid implicitly specified by a Cactus coordinate system.
\item[{\tt CCTK\_InterpLocal()}]
Interpolate processor-local arrays
(old API, being phased out as of early 2002)
\item[{\tt CCTK\_InterpLocalUniform()}]
- Interpolates processor-local arrays,
- with uniformly spaced data points
- (new API, just being implemented as of early 2002)
+ Interpolates processor-local arrays with {\em uniformly\/}
+ spaced data points, \ie{} where the coordinates~$xyz$
+ are related to the integer array subscripts~\verb|ijk| by
+ {\em linear\/} functions
+ \begin{flushleft}
+ $x = \verb|origin|_x + \verb|delta|_x \verb|i|$ \\
+ $y = \verb|origin|_y + \verb|delta|_y \verb|j|$ \\
+ $z = \verb|origin|_z + \verb|delta|_z \verb|k|$ %%%\\
+ \end{flushleft}
+ where the caller specifies the \verb|origin| and \verb|delta|
+ values.
+%notyet \item[{\tt CCTK\_InterpLocalNonUniform()}]
+%notyet Interpolates processor-local arrays with {\em nonuniformly\/}
+%notyet spaced data points, \ie{} where the coordinates~$xyz$
+%notyet are related to the integer array subscripts~\verb|ijk| by
+%notyet {\em nonlinear\/} (but still single-variable) functions
+%notyet \begin{flushleft}
+%notyet $x = x(\verb|i|)$ \\
+%notyet $y = y(\verb|j|)$ \\
+%notyet $z = z(\verb|k|)$ %%%\\
+%notyet \end{flushleft}
+%notyet where the caller specifies the functions $x$, $y$, and $z$
+%notyet by providing 1-D arrays giving their values at the grid points.
+%notyet \item[{\tt CCTK\_InterpLocalWarped()}]
+%notyet Interpolates processor-local arrays with {\em curvilinearly
+%notyet warped\/} data points, \ie{} where the coordinates~$xyz$
+%notyet are related to the integer array subscripts~\verb|ijk| by
+%notyet generic {\em nonlinear\/} functions
+%notyet \begin{flushleft}
+%notyet $x = x(\verb|i|, \verb|j|, \verb|k|)$ \\
+%notyet $y = y(\verb|i|, \verb|j|, \verb|k|)$ \\
+%notyet $z = z(\verb|i|, \verb|j|, \verb|k|)$ %%%\\
+%notyet \end{flushleft}
+%notyet where the caller specifies the functions $x$, $y$, and $z$
+%notyet by providing 3-D arrays giving their values at the grid points.
\end{Lentry}
There are separate flesh routines to register operators for each of
-the APIs:
+the APIs (note the calling sequences differ slightly from one registration
+routine to another!):
\begin{Lentry}
\item[{\tt CCTK\_InterpRegisterOperatorGV()}]
Register a \verb|CCTK_InterpGV()| interpolation operator
+%notyet \item[{\tt CCTK\_InterpRegisterOpGridArrays()}]
+%notyet Register a \verb|CCTK_InterpGridArrays()| interpolation operator
\item[{\tt CCTK\_InterpRegisterOperatorLocal()}]
Register a \verb|CCTK_InterpLocal()| interpolation operator
(old API, being phased out as of early 2002)
\item[{\tt CCTK\_InterpRegisterOpLocalUniform()}]
Register a \verb|CCTK_InterpLocalUniform()| interpolation operator
- (note this has a different calling sequence than the
- other registration APIs!)
-\end{Lentry}
-and to invoke the operators:
-\begin{Lentry}
-\item[{\tt CCTK\_InterpGV()}]
- Calls the \verb|CCTK_InterpGV()| interpolation operator
- associated with the given handle
-\item[{\tt CCTK\_InterpLocal()}]
- Calls the \verb|CCTK_InterpLocal()| interpolation operator
- associated with the given handle
-\item[{\tt CCTK\_InterpLocalUniform()}]
- Calls the \verb|CCTK_InterpLocalUniform()| interpolation operator
- associated with the given handle
+%notyet \item[{\tt CCTK\_InterpRegisterOpLocalNonUniform()}]
+%notyet Register a \verb|CCTK_InterpLocalNonUniform()| interpolation operator
+%notyet \item[{\tt CCTK\_InterpRegisterOpLocalWarped()}]
+%notyet Register a \verb|CCTK_InterpLocalWarped()| interpolation operator
\end{Lentry}
These are described in detail in part~\ref{part-FunctionReference}
of this manual.