diff options
author | jthorn <jthorn@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2002-03-06 19:08:30 +0000 |
---|---|---|
committer | jthorn <jthorn@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2002-03-06 19:08:30 +0000 |
commit | b0b4bc3ad00b3c63beeebf74fe67438a20e8adec (patch) | |
tree | 7b6704ae4f5e58aa3630cb458f2abc1cfe77bbff /doc/UsersGuide/ThornWriters.tex | |
parent | 8c01d091fa7b030ae8ee50e1aeb8fd036ba721b5 (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.tex | 72 |
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. |