From 19976d44889bef91b64c74f91bc8543be52af7f1 Mon Sep 17 00:00:00 2001 From: swhite Date: Fri, 12 Aug 2005 16:05:22 +0000 Subject: Picture illustrating SymBase recursion git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/SymBase/trunk@22 906471b6-c639-44d1-9ea0-3e3d6879f074 --- doc/documentation.tex | 16 ++++ doc/fig/recursion.eps | 245 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/fig/recursion.fig | 78 ++++++++++++++++ 3 files changed, 339 insertions(+) create mode 100644 doc/fig/recursion.eps create mode 100644 doc/fig/recursion.fig diff --git a/doc/documentation.tex b/doc/documentation.tex index 956a10e..9efc3ad 100644 --- a/doc/documentation.tex +++ b/doc/documentation.tex @@ -345,6 +345,22 @@ works as follows: \item The chain of recursive calls unravels until the call to \texttt{CCTK\_InterpGridArrays} returns. \end{enumerate} +\begin{figure}[tb] +\begin{center} +\includegraphics[scale=.833,clip=true]{fig/recursion.eps} +\end{center} +\caption[Symmetry interpolation] { + The recursive calls involved in symmety interpolation. + Values of grid functions $a$ at global cartesian coordinates $x$ are + calculated by nested calls to the symmetry interpolators, which first + apply the symmetry transformation to the coordinates. When all + the symmetries have been applied, the local interpolator is called, + producing the interpolation of grid function values in the local basis. + As the symmetry interpolators return, they apply the inverse basis + transformation to the interpolated grid function values. +} +\label{SymBase_recursion} +\end{figure} This mechanism has thus four players: \begin{itemize} diff --git a/doc/fig/recursion.eps b/doc/fig/recursion.eps new file mode 100644 index 0000000..3433d45 --- /dev/null +++ b/doc/fig/recursion.eps @@ -0,0 +1,245 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: recursion.fig +%%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5 +%%CreationDate: Fri Aug 12 17:13:16 2005 +%%For: swhite@Xi (Steve White,,,) +%%BoundingBox: 0 0 433 262 +%Magnification: 1.0000 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +newpath 0 262 moveto 0 0 lineto 433 0 lineto 433 262 lineto closepath clip newpath +0.9 261.7 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +10 setmiterlimit +0 slj 0 slc + 0.06299 0.06299 sc +% +% Fig objects follow +% +% +% here starts figure with depth 50 +% Polyline +0 slj +0 slc +7.500 slw +gs clippath +3118 1597 m 3255 1597 l 3255 1552 l 3118 1552 l 3118 1552 l 3208 1575 l 3118 1597 l cp +eoclip +n 2925 1575 m + 3240 1575 l gs col0 s gr gr + +% arrowhead +n 3118 1597 m 3208 1575 l 3118 1552 l 3118 1597 l cp gs 0.00 setgray ef gr col0 s +/Times-Italic ff 190.50 scf sf +3285 1620 m +gs 1 -1 sc (x'') col0 sh gr +/Times-Italic ff 190.50 scf sf +2790 1620 m +gs 1 -1 sc (x' ) col0 sh gr +% Polyline +gs clippath +1498 1102 m 1635 1102 l 1635 1057 l 1498 1057 l 1498 1057 l 1588 1080 l 1498 1102 l cp +eoclip +n 1305 1080 m + 1620 1080 l gs col0 s gr gr + +% arrowhead +n 1498 1102 m 1588 1080 l 1498 1057 l 1498 1102 l cp gs 0.00 setgray ef gr col0 s +/Times-Italic ff 190.50 scf sf +1170 1125 m +gs 1 -1 sc (x ) col0 sh gr +/Times-Italic ff 190.50 scf sf +1665 1125 m +gs 1 -1 sc (x') col0 sh gr +% Polyline +gs clippath +3137 3127 m 3000 3127 l 3000 3172 l 3137 3172 l 3137 3172 l 3047 3150 l 3137 3127 l cp +eoclip +n 3330 3150 m + 3015 3150 l gs col0 s gr gr + +% arrowhead +n 3137 3127 m 3047 3150 l 3137 3172 l 3137 3127 l cp gs 0.00 setgray ef gr col0 s +/Times-Italic ff 190.50 scf sf +2880 3195 m +gs 1 -1 sc (a' ) col0 sh gr +/Times-Italic ff 190.50 scf sf +3375 3195 m +gs 1 -1 sc (a'') col0 sh gr +% Polyline +gs clippath +1427 3577 m 1290 3577 l 1290 3622 l 1427 3622 l 1427 3622 l 1337 3600 l 1427 3577 l cp +eoclip +n 1620 3600 m + 1305 3600 l gs col0 s gr gr + +% arrowhead +n 1427 3577 m 1337 3600 l 1427 3622 l 1427 3577 l cp gs 0.00 setgray ef gr col0 s +/Times-Italic ff 190.50 scf sf +1665 3645 m +gs 1 -1 sc (a') col0 sh gr +/Times-Italic ff 190.50 scf sf +1170 3645 m +gs 1 -1 sc (a ) col0 sh gr +% Polyline + [60] 0 sd +n 0 2340 m + 6840 2340 l gs col7 0.00 shd ef gr gs col0 s gr [] 0 sd +% Polyline +n 4140 1395 m 6120 1395 l 6120 3015 l 4140 3015 l + cp gs col0 s gr +% Polyline +gs clippath +4522 2398 m 4522 2535 l 4567 2535 l 4567 2398 l 4567 2398 l 4545 2488 l 4522 2398 l cp +eoclip +n 4545 2205 m + 4545 2520 l gs col0 s gr gr + +% arrowhead +n 4522 2398 m 4545 2488 l 4567 2398 l 4522 2398 l cp gs 0.00 setgray ef gr col0 s +% Polyline +n 2475 900 m 6435 900 l 6435 3510 l 2475 3510 l + cp gs col0 s gr +% Polyline +n 855 405 m 6750 405 l 6750 4005 l 855 4005 l + cp gs col0 s gr +% Polyline +n 3690 1800 m 4005 1800 l 4005 1710 l 4275 1845 l 4005 1980 l 4005 1890 l + 3690 1890 l + 3690 1800 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 4275 2790 m 3960 2790 l 3960 2700 l 3690 2835 l 3960 2970 l 3960 2880 l + 4275 2880 l + 4275 2790 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 2610 3285 m 2295 3285 l 2295 3195 l 2025 3330 l 2295 3465 l 2295 3375 l + 2610 3375 l + 2610 3285 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 990 3780 m 675 3780 l 675 3690 l 405 3825 l 675 3960 l 675 3870 l + 990 3870 l + 990 3780 l cp gs col7 1.00 shd ef gr gs col0 s gr +% Polyline +n 405 810 m 720 810 l 720 720 l 990 855 l 720 990 l 720 900 l + 405 900 l + 405 810 l cp gs col7 1.00 shd ef gr gs col0 s gr +/Times-Roman ff 190.50 scf sf +45 180 m +gs 1 -1 sc (global) col0 sh gr +/Times-Italic ff 190.50 scf sf +45 675 m +gs 1 -1 sc (x ) col0 sh gr +/Times-Roman ff 190.50 scf sf +1170 675 m +gs 1 -1 sc (symmetry) col0 sh gr +/Times-Italic ff 190.50 scf sf +2025 675 m +gs 1 -1 sc (A) col0 sh gr +/Times-Roman ff 190.50 scf sf +2790 1170 m +gs 1 -1 sc (symmetry) col0 sh gr +/Times-Italic ff 190.50 scf sf +3645 1170 m +gs 1 -1 sc (B) col0 sh gr +/Times-Italic ff 190.50 scf sf +0 4140 m +gs 1 -1 sc (a ) col0 sh gr +/Times-Roman ff 190.50 scf sf +4455 1710 m +gs 1 -1 sc (local interpolation) col0 sh gr +/Times-Italic ff 190.50 scf sf +4500 2160 m +gs 1 -1 sc (x'' ) col0 sh gr +/Times-Italic ff 190.50 scf sf +4500 2700 m +gs 1 -1 sc (a'') col0 sh gr +% here ends figure; +% +% here starts figure with depth 0 +% Polyline +0 slj +0 slc +7.500 slw +n 2025 1305 m 2340 1305 l 2340 1215 l 2610 1350 l 2340 1485 l 2340 1395 l + 2025 1395 l + 2025 1305 l cp gs col7 1.00 shd ef gr gs col0 s gr +% here ends figure; +$F2psEnd +rs +showpage +%%Trailer +%EOF diff --git a/doc/fig/recursion.fig b/doc/fig/recursion.fig new file mode 100644 index 0000000..a91f6ad --- /dev/null +++ b/doc/fig/recursion.fig @@ -0,0 +1,78 @@ +#FIG 3.2 Produced by xfig version 3.2.5-alpha5 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 0 0 6840 4140 +6 2790 1440 3510 1620 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 45.00 90.00 + 2925 1575 3240 1575 +4 0 0 50 -1 1 12 0.0000 4 150 195 3285 1620 x''\001 +4 0 0 50 -1 1 12 0.0000 4 150 195 2790 1620 x' \001 +-6 +6 1170 945 1845 1125 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 45.00 90.00 + 1305 1080 1620 1080 +4 0 0 50 -1 1 12 0.0000 4 105 150 1170 1125 x \001 +4 0 0 50 -1 1 12 0.0000 4 150 150 1665 1125 x'\001 +-6 +6 2880 3015 3600 3195 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 45.00 90.00 + 3330 3150 3015 3150 +4 0 0 50 -1 1 12 0.0000 4 150 195 2880 3195 a' \001 +4 0 0 50 -1 1 12 0.0000 4 150 195 3375 3195 a''\001 +-6 +6 1170 3465 1845 3645 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 45.00 90.00 + 1620 3600 1305 3600 +4 0 0 50 -1 1 12 0.0000 4 150 150 1665 3645 a'\001 +4 0 0 50 -1 1 12 0.0000 4 105 150 1170 3645 a \001 +-6 +2 1 0 1 0 7 0 -1 20 0.000 0 0 7 0 0 8 + 2025 1305 2340 1305 2340 1215 2610 1350 2340 1485 2340 1395 + 2025 1395 2025 1305 +2 1 1 1 0 7 50 -1 0 4.000 0 0 -1 0 0 2 + 0 2340 6840 2340 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 4140 1395 6120 1395 6120 3015 4140 3015 4140 1395 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 45.00 90.00 + 4545 2205 4545 2520 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 2475 900 6435 900 6435 3510 2475 3510 2475 900 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 855 405 6750 405 6750 4005 855 4005 855 405 +2 1 0 1 0 7 50 -1 20 0.000 0 0 -1 0 0 8 + 3690 1800 4005 1800 4005 1710 4275 1845 4005 1980 4005 1890 + 3690 1890 3690 1800 +2 1 0 1 0 7 50 -1 20 0.000 0 0 -1 0 0 8 + 4275 2790 3960 2790 3960 2700 3690 2835 3960 2970 3960 2880 + 4275 2880 4275 2790 +2 1 0 1 0 7 50 -1 20 0.000 0 0 -1 0 0 8 + 2610 3285 2295 3285 2295 3195 2025 3330 2295 3465 2295 3375 + 2610 3375 2610 3285 +2 1 0 1 0 7 50 -1 20 0.000 0 0 -1 0 0 8 + 990 3780 675 3780 675 3690 405 3825 675 3960 675 3870 + 990 3870 990 3780 +2 1 0 1 0 7 50 -1 20 0.000 0 0 7 0 0 8 + 405 810 720 810 720 720 990 855 720 990 720 900 + 405 900 405 810 +4 0 0 50 -1 0 12 0.0000 4 195 510 45 180 global\001 +4 0 0 50 -1 1 12 0.0000 4 105 150 45 675 x \001 +4 0 0 50 -1 0 12 0.0000 4 165 870 1170 675 symmetry\001 +4 0 0 50 -1 1 12 0.0000 4 150 135 2025 675 A\001 +4 0 0 50 -1 0 12 0.0000 4 165 870 2790 1170 symmetry\001 +4 0 0 50 -1 1 12 0.0000 4 150 120 3645 1170 B\001 +4 0 0 50 -1 1 12 0.0000 4 105 150 0 4140 a \001 +4 0 0 50 -1 0 12 0.0000 4 195 1515 4455 1710 local interpolation\001 +4 0 0 50 -1 1 12 0.0000 4 150 240 4500 2160 x'' \001 +4 0 0 50 -1 1 12 0.0000 4 150 195 4500 2700 a''\001 +-6 -- cgit v1.2.3