[cig-commits] r11597 - in long/3D/Gale/trunk: . documentation documentation/images

walter at geodynamics.org walter at geodynamics.org
Wed Mar 26 13:58:03 PDT 2008


Author: walter
Date: 2008-03-26 13:58:02 -0700 (Wed, 26 Mar 2008)
New Revision: 11597

Added:
   long/3D/Gale/trunk/documentation/images/Sphere_Error.eps
   long/3D/Gale/trunk/documentation/images/Sphere_Scaled_Error.eps
   long/3D/Gale/trunk/documentation/images/inclusion_r8_p.png
   long/3D/Gale/trunk/documentation/images/inclusion_r8_p_error.png
   long/3D/Gale/trunk/documentation/images/inclusion_r8_p_scaled_error.png
   long/3D/Gale/trunk/documentation/images/sphere_cylinder.eps
   long/3D/Gale/trunk/documentation/images/sphere_cylinder.fig
Removed:
   long/3D/Gale/trunk/documentation/images/circular_inclusion_error.png
Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/documentation/gale.lyx
Log:
 r2050 at earth:  boo | 2008-03-26 11:45:18 -0700
 Finish docs for falling sphere and inclusion



Property changes on: long/3D/Gale/trunk
___________________________________________________________________
Name: svk:merge
   - 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:2049
   + 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:2050

Modified: long/3D/Gale/trunk/documentation/gale.lyx
===================================================================
--- long/3D/Gale/trunk/documentation/gale.lyx	2008-03-26 20:57:56 UTC (rev 11596)
+++ long/3D/Gale/trunk/documentation/gale.lyx	2008-03-26 20:58:02 UTC (rev 11597)
@@ -1,4 +1,4 @@
-#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
+#LyX 1.5.3 created this file. For more info see http://www.lyx.org/
 \lyxformat 276
 \begin_document
 \begin_header
@@ -1407,9 +1407,44 @@
 checkpointEvery
 \family default
  parameter to 0.
- The VTK files do not suffer from this problem.
+ 
 \end_layout
 
+\begin_layout Standard
+The VTK files do not suffer from this problem.
+ However, the VTK files may contain a large amount of data.
+ Writing all of that information to disk may slow down your computation
+ significantly.
+ The easiest way to tell if this is the case is to remove the line
+\end_layout
+
+\begin_layout LyX-Code
+<param>Underworld_VTKOutput</param>
+\end_layout
+
+\begin_layout Standard
+If this makes a big difference, then you can turn off some of the output.
+ For example, if you don't include the 
+\family typewriter
+storeVisc
+\family default
+ and 
+\family typewriter
+storeStress
+\family default
+ lines in your rheologies, then the viscosity and stress on the particles
+ will not be output.
+ Similarly, the 
+\family typewriter
+StressField
+\family default
+ and 
+\family typewriter
+ViscosityField
+\family default
+ components can be deleted without harmful effects.
+\end_layout
+
 \begin_layout Section
 Output and Visualization
 \end_layout
@@ -1472,35 +1507,6 @@
 <param name="dumpEvery">25</param>
 \end_layout
 
-\begin_layout Quote
-
-\color red
-Note:
-\color none
- In order to get viscosity and stress information out, you must add 
-\family typewriter
-StoreVisc
-\family default
- and 
-\family typewriter
-StoreStress
-\family default
- structs to your rheology as in Section 
-\begin_inset LatexCommand ref
-reference "sec:Viscous-Material"
-
-\end_inset
-
- (see also Section 
-\begin_inset LatexCommand ref
-reference "sub:StoreViscosity"
-
-\end_inset
-
-).
- This is already done in all of the example input files.
-\end_layout
-
 \begin_layout Standard
 
 \color none
@@ -2639,59 +2645,6 @@
 
 \end_deeper
 \begin_layout Enumerate
-In order for Gale to include the viscosity and stress in the output, you
- have to store them in separate fields (see Section 
-\begin_inset LatexCommand ref
-reference "sub:StoreViscosity"
-
-\end_inset
-
-).
-\end_layout
-
-\begin_deeper
-\begin_layout LyX-Code
-<struct name="storeViscosity">
-\end_layout
-
-\begin_layout LyX-Code
-  <param name="Type">StoreVisc</param>
-\end_layout
-
-\begin_layout LyX-Code
-  <param name="MaterialPointsSwarm">materialSwarm</param>
-\end_layout
-
-\begin_layout LyX-Code
-</struct>
-\end_layout
-
-\begin_layout LyX-Code
-<struct name="storeStress">
-\end_layout
-
-\begin_layout LyX-Code
-  <param name="Type">StoreStress</param>
-\end_layout
-
-\begin_layout LyX-Code
-  <param name="MaterialPointsSwarm">materialSwarm</param>
-\end_layout
-
-\begin_layout LyX-Code
-</struct>
-\end_layout
-
-\begin_layout Standard
-Here, 
-\family typewriter
-materialswarm
-\family default
- is a collection of particles.
-\end_layout
-
-\end_deeper
-\begin_layout Enumerate
 Finally, you create the material, using the components just created.
 \end_layout
 
@@ -2736,6 +2689,19 @@
 </struct>
 \end_layout
 
+\begin_layout Standard
+The 
+\family typewriter
+storeViscosity
+\family default
+ and 
+\family typewriter
+storeStress
+\family default
+ parameters are standard components that enable you to get the viscosity
+ and stress information on each particle.
+\end_layout
+
 \end_deeper
 \begin_layout Enumerate
 Save this file, as it will be the basis for other examples that follow.
@@ -7779,6 +7745,70 @@
 \end_layout
 
 \begin_layout LyX-Code
+<struct name="StressField">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">StressField</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="StrainRateField">StrainRateField</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Context">context</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="ConstitutiveMatrix">constitutiveMatrix</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Swarm">picIntegrationPoints</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Mesh">mesh-linear</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="IC">stressICs</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct> 
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="ViscosityField">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">ViscosityField</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Context">context</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Swarm">picIntegrationPoints</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Mesh">mesh-linear</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="ConstitutiveMatrix">constitutiveMatrix</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct> 
+\end_layout
+
+\begin_layout LyX-Code
 <struct name="cellLayout">
 \end_layout
 
@@ -8551,9 +8581,37 @@
 \end_layout
 
 \begin_layout LyX-Code
+<struct name="storeViscosity">
+\end_layout
 
+\begin_layout LyX-Code
+  <param name="Type">StoreVisc</param>
 \end_layout
 
+\begin_layout LyX-Code
+  <param name="MaterialPointsSwarm">materialSwarm</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="storeStress">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">StoreStress</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="MaterialPointsSwarm">materialSwarm</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
 \begin_layout Standard
 For almost all simulations, you will not need to change these components.
 \end_layout
@@ -10801,7 +10859,7 @@
 \family typewriter
 StoreStress
 \family default
- components
+ components to the material
 \end_layout
 
 \begin_layout LyX-Code
@@ -14900,13 +14958,10 @@
 status open
 
 \begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
 \align center
 \begin_inset Graphics
 	filename images/inclusion_strain_v.png
+	scale 50
 
 \end_inset
 
@@ -14935,36 +14990,245 @@
 \begin_layout Standard
 Because of the symmetry of the problem, we only have to solve over a quarter
  of the domain.
+ The analytic solution is for an infinite plane, so we moved the boundaries
+ to 80 times the radius of the inclusion.
+ The differences between having the boundaries at 40 versus 80 times the
+ radius are small, so we feel confident that boundary effects are not significan
+t for the resolutions we ran.
 \end_layout
 
 \begin_layout Standard
-We set the viscosity of the inclusion to 10 and the viscosity of the background
- to 1.
- This creates a discontinuity in the viscosity at the surface of the inclusion,
- so the error is concentrated around that surface.
+A characteristic of the analytic solution is that the pressure is zero inside
+ the inclusion, while outside it follows the relation
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+p_{m}=4\dot{\epsilon}\frac{\mu_{m}\left(\mu_{i}-\mu_{m}\right)}{\mu_{i}+\mu_{m}}\frac{r_{i}^{2}}{r^{2}}\cos\left(2\theta\right),\]
+
+\end_inset
+
+where 
+\begin_inset Formula $\dot{\epsilon}=1$
+\end_inset
+
+ is the magnitude of the shear, 
+\begin_inset Formula $r_{i}=0.1$
+\end_inset
+
+ is the radius of the inclusion, 
+\begin_inset Formula $\mu_{i}=2$
+\end_inset
+
+ is the viscosity of the inclusion, and 
+\begin_inset Formula $\mu_{m}=1$
+\end_inset
+
+ is the viscosity of the background media.
+ This pressure discontinuity at the surface of the inclusion creates special
+ difficulties for numerical codes, so the error tends to concentrate around
+ that surface.
  
 \end_layout
 
 \begin_layout Standard
-Figure xxx plots the error in the velocity along the x axis within the inclusion
+Figure 
+\begin_inset LatexCommand ref
+reference "fig:Pressure-inclusion"
+
+\end_inset
+
+ plots the error in the pressure along the line 
+\begin_inset Formula $y=x/2$
+\end_inset
+
  for different resolutions.
- While convergence is good deep inside the inclusion, it is not so good
- near the surface on the inclusion.
+ Inside the inclusion near the surface, the pressure is consistently underestima
+ted.
+ The pressure does not converge with higher resolution, giving us a clue
+ that the numerical scheme is not completely accurate.
 \end_layout
 
 \begin_layout Standard
-Figure xxx plots the error in the pressure along the diagonal for different
- resolutions.
- The errors are large near the boundary between the inclusion and the rest
- of the viscous medium.
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename images/inclusion_r8_p.png
+	width 100col%
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+\begin_inset LatexCommand label
+name "fig:Pressure-inclusion"
+
+\end_inset
+
+Pressure along the line 
+\begin_inset Formula $y=x/2$
+\end_inset
+
+for resolutions of 128x128 (blue), 256x256 (green), and 512x512 (red).
+ The inclusion has a radius 
+\begin_inset Formula $r_{i}=0.1.$
+\end_inset
+
+ Note the that the pressure should be zero inside the inclusion, but the
+ numerical solutions consistently underestimate the pressure.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Outside the inclusion, the error is much better.
+ Figure 
+\begin_inset LatexCommand ref
+reference "fig:Pressure-Error"
+
+\end_inset
+
+ plots the error in the pressure along the line 
+\begin_inset Formula $y=x/2$
+\end_inset
+
+ outside the inclusion for different resolutions.
+ While there are still problems near the surface, away from the surface
+ the solutions are quite good.
+ Figure 
+\begin_inset LatexCommand ref
+reference "fig:Scaled-pressure-error"
+
+\end_inset
+
+ plots the error scaled with resolution, and we can see that the error scales
+ linearly with resolution.
+ This gives us confidence that, at least away from the inclusion, the code
+ is giving the right answer.
+ This kind of result, where the solution is bad close to the surface, but
+ good otherwise, is typical for numerical solutions of this problem 
+\begin_inset LatexCommand cite
+key "FD Stokes"
+
+\end_inset
+
+.
  
 \end_layout
 
 \begin_layout Standard
-As you increase resolution and move the boundary away, the numerical solution
- converges to the analytic solution.
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename images/inclusion_r8_p_error.png
+	width 100col%
+
+\end_inset
+
+
 \end_layout
 
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
+\begin_inset LatexCommand label
+name "fig:Pressure-Error"
+
+\end_inset
+
+Error in the pressure outside the inclusion along the line 
+\begin_inset Formula $y=x/2$
+\end_inset
+
+for resolutions of 128x128 (blue), 256x256 (green), and 512x512 (red).
+ The inclusion has a radius 
+\begin_inset Formula $r_{i}=0.1.$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename images/inclusion_r8_p_scaled_error.png
+	width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
+\begin_inset LatexCommand label
+name "fig:Scaled-pressure-error"
+
+\end_inset
+
+Scaled error in the pressure outside the inclusion along the line 
+\begin_inset Formula $y=x/2$
+\end_inset
+
+for resolutions of 128x128 (blue), 256x256 (green), and 512x512 (red).
+ So the medium resolution error is multiplied by 2 and the high resolution
+ error is multiplied by 4.
+ The inclusion has a radius 
+\begin_inset Formula $r_{i}=0.1.$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Section
 \begin_inset LatexCommand label
 name "sec:Falling-Sphere"
@@ -14975,20 +15239,69 @@
 \end_layout
 
 \begin_layout Standard
-This benchmark simulates a rigid sphere falling through a viscous medium.
- The file 
+This benchmark simulates a rigid sphere falling through a cylinder filled
+ with a viscous medium as in Figure 
+\begin_inset LatexCommand ref
+reference "fig:Sphere-Cylinder"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename images/sphere_cylinder.eps
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
+\begin_inset LatexCommand label
+name "fig:Sphere-Cylinder"
+
+\end_inset
+
+Schematic of a Sphere falling through a Cylinder
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+The file
+\end_layout
+
+\begin_layout LyX-Code
+
 \family typewriter
-input/benchmarks/falling_
-\newline
-sphere/README
-\family default
- has instructions on running this benchmark.
- The analytic solution for the drag on a sphere is
+input/benchmarks/falling_sphere/README
 \end_layout
 
 \begin_layout Standard
+has instructions on running this benchmark.
+ In an infinitely large cylinder, the analytic solution for the drag on
+ a sphere is
+\end_layout
+
+\begin_layout Standard
 \begin_inset Formula \[
-F=6\pi\eta Ru,\]
+F=6\pi\eta ru,\]
 
 \end_inset
 
@@ -14997,7 +15310,7 @@
 \end_inset
 
  is the viscosity of the medium, 
-\begin_inset Formula $R$
+\begin_inset Formula $r$
 \end_inset
 
  is the radius of the sphere, and 
@@ -15010,7 +15323,7 @@
 
 \begin_layout Standard
 \begin_inset Formula \[
-F=\frac{4}{3}\pi R^{3}g\delta\rho,\]
+F=\frac{4}{3}\pi r^{3}g\delta\rho,\]
 
 \end_inset
 
@@ -15028,7 +15341,7 @@
 
 \begin_layout Standard
 \begin_inset Formula \[
-u=\frac{2}{9}R^{2}g\delta\rho/\eta.\]
+u=\frac{2}{9}r^{2}g\delta\rho/\eta.\]
 
 \end_inset
 
@@ -15041,7 +15354,7 @@
 \end_inset
 
 , 
-\begin_inset Formula $R=1$
+\begin_inset Formula $r=1$
 \end_inset
 
 , 
@@ -15069,7 +15382,7 @@
  This allows some internal circulation within the sphere, and so the expression
  for the velocity becomes 
 \begin_inset LatexCommand cite
-key "Intro to Fluid Dynamics"
+key "Landau & Lifschitz"
 
 \end_inset
 
@@ -15078,7 +15391,7 @@
 
 \begin_layout Standard
 \begin_inset Formula \[
-u=\frac{1}{3}\frac{R^{2}g\delta\rho}{\eta}\frac{\eta+\eta'}{\eta+\frac{3}{2}\eta'},\]
+u=\frac{1}{3}\frac{r^{2}g\delta\rho}{\eta}\frac{\eta+\eta'}{\eta+\frac{3}{2}\eta'},\]
 
 \end_inset
 
@@ -15093,40 +15406,232 @@
 \end_layout
 
 \begin_layout Standard
-The analytic solution also assumes an infinitely small Reynolds number.
- Expanding the drag in terms of the Reynolds number gives 
+When the boundaries are not infinitely far away, we can expand the solution
+ in terms of the ratio of the radius of the sphere (
+\begin_inset Formula $r$
+\end_inset
+
+) to the radius of the cylinder (
+\begin_inset Formula $R$
+\end_inset
+
+).
+ One solution by Habermann 
 \begin_inset LatexCommand cite
-key "Landau & Lifschitz"
+key "Stokes Sphere"
 
 \end_inset
 
+ gives a drag force of
+\end_layout
 
+\begin_layout Standard
+\begin_inset Formula \[
+F_{H}=6\pi\eta ru\frac{1-0.75857\cdot\left(\frac{r}{R}\right)^{5}}{1+f_{H}\left(\frac{r}{R}\right)},\]
+
+\end_inset
+
+ where
 \end_layout
 
 \begin_layout Standard
 \begin_inset Formula \[
-F=6\pi\eta Ru\left(1+\frac{3uR}{8\eta}\right)\]
+f_{H}\left(\frac{r}{R}\right)=-2.1050(r/R)+2.0865(r/R)^{3}-1.7068(r/R)^{5}+0.72603(r/R)^{6}.\]
 
 \end_inset
 
- which gives a correction on the order of 0.1%.
- If we had made 
-\begin_inset Formula $\delta\rho$
+
+\end_layout
+
+\begin_layout Standard
+For our case with 
+\begin_inset Formula $r=1$
 \end_inset
 
- or 
-\begin_inset Formula $g$
+, 
+\begin_inset Formula $R=4$
 \end_inset
 
- larger, then this would have become more important.
+, this gives a velocity of
 \end_layout
 
 \begin_layout Standard
-Finally, the solution assumes that the boundaries are infinitely far away.
- So we vary the distance to the boundary to gauge exactly how much the boundarie
-s affect the solution.
+\begin_inset Formula \[
+u=1.122747319\cdot10^{-3}.\]
+
+\end_inset
+
+ The walls reduce the speed by a factor of two.
 \end_layout
 
+\begin_layout Standard
+Another solution by Faxen 
+\begin_inset LatexCommand cite
+key "Stokes Sphere"
+
+\end_inset
+
+ gives a drag force of
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+F_{F}=6\pi\eta ru/\left(1+f_{F}(r/R)\right),\]
+
+\end_inset
+
+ where
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \begin{eqnarray*}
+f_{f}(r/R) & = & -2.10444(r/R)+2.08877(r/R)^{3}-0.94813(r/R)^{5}\\
+ &  & -1.372(r/R)^{6}+3.87(r/R)^{8}-4.19(r/R)^{10}.\end{eqnarray*}
+
+\end_inset
+
+For our case, this gives a speed of 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+u=1.12293603939\cdot10^{-3},\]
+
+\end_inset
+
+which agrees closely with the result from Habermann.
+\end_layout
+
+\begin_layout Standard
+Another possible artifact is that we do not simulate an infinitely long
+ cylinder.
+ This turns out to be a small effect.
+ We use a cylinder with a height of 8, and place the sphere halfway down.
+ We did runs where the cylinder was twice as tall, and the results we got
+ were indistinguishable at the level of accuracy we are looking at.
+\end_layout
+
+\begin_layout Standard
+The error in the computed velocity compared to the Faxen solution are plotted
+ in Figure 
+\begin_inset LatexCommand ref
+reference "fig:Error-in-velocity"
+
+\end_inset
+
+.
+ These were done with resolutions of 16x32x16, 32x64x32, and 64x128x64,
+ corresponding to grid sizes (
+\begin_inset Formula $h$
+\end_inset
+
+) of 0.25, 0.125, and 0.0625.
+ Because of the symmetries of the problem we only have to simulate a quarter
+ of the domain.
+ As we increase the resolution (decrease 
+\begin_inset Formula $h$
+\end_inset
+
+), the error decreases.
+ Since we are simulating a high viscosity sphere rather than a completely
+ rigid sphere, the velocity inside the sphere is not uniform.
+ The errorbars indicate the variation in velocity across the sphere.
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename images/Sphere_Error.eps
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
+\begin_inset LatexCommand label
+name "fig:Error-in-velocity"
+
+\end_inset
+
+Error in computed velocity vs resolution
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+If we scale the error by multiplying the medium resolution error by 2 and
+ the high resolution error by 4, we get Figure 
+\begin_inset LatexCommand ref
+reference "fig:Scaled-error-velocity"
+
+\end_inset
+
+.
+ The error scale linearly with resolution, giving us confidence that we
+ can accurately solve this problem.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename images/Sphere_Scaled_Error.eps
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
+\begin_inset LatexCommand label
+name "fig:Scaled-error-velocity"
+
+\end_inset
+
+Scaled error in computed velocity vs resolution
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Section
 Relaxation of Topography
 \end_layout
@@ -15372,7 +15877,7 @@
 Two benchmarks were set up to validate numerical codes against analogue
  sandbox experiments 
 \begin_inset LatexCommand cite
-key "Schreurs et al Analogue Benchmarks"
+key "Buiter et al Numerical Sandbox"
 
 \end_inset
 
@@ -15427,10 +15932,6 @@
 
 \end_layout
 
-\begin_layout Standard
-
-\end_layout
-
 \end_inset
 
 
@@ -16236,21 +16737,6 @@
 \begin_layout Bibliography
 \begin_inset LatexCommand bibitem
 label "9"
-key "Intro to Fluid Dynamics"
-
-\end_inset
-
- Batchelor, G.
- K (1967), 
-\emph on
-An Introduction to Fluid Dynamics
-\emph default
-, Cambridge University Press, 236.
-\end_layout
-
-\begin_layout Bibliography
-\begin_inset LatexCommand bibitem
-label "10"
 key "Landau & Lifschitz"
 
 \end_inset
@@ -16265,7 +16751,7 @@
 
 \begin_layout Bibliography
 \begin_inset LatexCommand bibitem
-label "11"
+label "10"
 key "Folds"
 
 \end_inset
@@ -16280,30 +16766,7 @@
 
 \begin_layout Bibliography
 \begin_inset LatexCommand bibitem
-label "12"
-key "Schreurs et al Analogue Benchmarks"
-
-\end_inset
-
- Schreurs, G., Buiter, S.J.H., Boutelier, D., Corti, G., Costa, E., Cruden, A.,
- Daniel, J.-M., Hoth, S., Koyi, H., Kukowski, N., Lohrmann, J., Ravaglia, A., Schlische
-, R.W., Withjack, M.O., Yamada, Y., Cavozzi, C., DelVentisette, C., Elder Brady,
- J., Hoffmann-Rothe, A., Mengus, J.-M., Montanari, D., and Nilforoushan, F.
- (2006), Analogue benchmarks of shortening and extension experiments, in
- 
-\emph on
-Analogue and Numerical Modelling of Crustal-Scale Processes
-\emph default
-, vol.
- 253, edited by S.J.H Buiter and G.
- Schreurs, pp.
- 1-27, Geological Society, London, Special Publications, doi: 10.1144/GSL.SP.2006.25
-3.01.01.
-\end_layout
-
-\begin_layout Bibliography
-\begin_inset LatexCommand bibitem
-label "13"
+label "11"
 key "Buiter et al Numerical Sandbox"
 
 \end_inset
@@ -16324,5 +16787,39 @@
 53.01.02.
 \end_layout
 
+\begin_layout Bibliography
+\begin_inset LatexCommand bibitem
+label "12"
+key "Stokes Sphere"
+
+\end_inset
+
+Lindgren, E.
+ R.
+ 1999, The Motion of a Sphere in an Incompressible Viscous Fluid at Reynolds
+ Numbers Considerably Less Than One, in 
+\shape italic
+Physica Scriptae
+\shape default
+, 
+\shape italic
+60
+\shape default
+, 97-110
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset LatexCommand bibitem
+label "13"
+key "FD Stokes"
+
+\end_inset
+
+ Deubelbeiss, Yolanda, and Boris J.
+ P.
+ Kaus, A comparison of finite difference formultions for the Stokes equations
+ in presence of strongly varying viscosity, Poster presented at 2007 AGU.
+\end_layout
+
 \end_body
 \end_document

Added: long/3D/Gale/trunk/documentation/images/Sphere_Error.eps
===================================================================
--- long/3D/Gale/trunk/documentation/images/Sphere_Error.eps	                        (rev 0)
+++ long/3D/Gale/trunk/documentation/images/Sphere_Error.eps	2008-03-26 20:58:02 UTC (rev 11597)
@@ -0,0 +1,615 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: Sphere_Error.eps
+%%Creator: gnuplot 4.2 patchlevel 2 
+%%CreationDate: Thu Mar 20 13:17:23 2008
+%%DocumentFonts: (atend)
+%%BoundingBox: 50 50 410 302
+%%EndComments
+%%BeginProlog
+/gnudict 256 dict def
+gnudict begin
+%
+% The following 6 true/false flags may be edited by hand if required
+% The unit line width may also be changed
+%
+/Color true def
+/Blacktext false def
+/Solid false def
+/Dashlength 1 def
+/Landscape false def
+/Level1 false def
+/Rounded false def
+/TransparentPatterns false def
+/gnulinewidth 5.000 def
+/userlinewidth gnulinewidth def
+%
+/vshift -46 def
+/dl1 {
+  10.0 Dashlength mul mul
+  Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
+} def
+/dl2 {
+  10.0 Dashlength mul mul
+  Rounded { currentlinewidth 0.75 mul add } if
+} def
+/hpt_ 31.5 def
+/vpt_ 31.5 def
+/hpt hpt_ def
+/vpt vpt_ def
+Level1 {} {
+/SDict 10 dict def
+systemdict /pdfmark known not {
+  userdict /pdfmark systemdict /cleartomark get put
+} if
+SDict begin [
+  /Title (Sphere_Error.eps)
+  /Subject (gnuplot plot)
+  /Creator (gnuplot 4.2 patchlevel 2 )
+  /Author (Walter Landry,,,)
+%  /Producer (gnuplot)
+%  /Keywords ()
+  /CreationDate (Thu Mar 20 13:17:23 2008)
+  /DOCINFO pdfmark
+end
+} ifelse
+%
+% Gnuplot Prolog Version 4.2 (August 2006)
+%
+/M {moveto} bind def
+/L {lineto} bind def
+/R {rmoveto} bind def
+/V {rlineto} bind def
+/N {newpath moveto} bind def
+/Z {closepath} bind def
+/C {setrgbcolor} bind def
+/f {rlineto fill} bind def
+/vpt2 vpt 2 mul def
+/hpt2 hpt 2 mul def
+/Lshow {currentpoint stroke M 0 vshift R 
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
+  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
+/DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
+ {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
+/BL {stroke userlinewidth 2 mul setlinewidth
+	Rounded {1 setlinejoin 1 setlinecap} if} def
+/AL {stroke userlinewidth 2 div setlinewidth
+	Rounded {1 setlinejoin 1 setlinecap} if} def
+/UL {dup gnulinewidth mul /userlinewidth exch def
+	dup 1 lt {pop 1} if 10 mul /udl exch def} def
+/PL {stroke userlinewidth setlinewidth
+	Rounded {1 setlinejoin 1 setlinecap} if} def
+% Default Line colors
+/LCw {1 1 1} def
+/LCb {0 0 0} def
+/LCa {0 0 0} def
+/LC0 {1 0 0} def
+/LC1 {0 1 0} def
+/LC2 {0 0 1} def
+/LC3 {1 0 1} def
+/LC4 {0 1 1} def
+/LC5 {1 1 0} def
+/LC6 {0 0 0} def
+/LC7 {1 0.3 0} def
+/LC8 {0.5 0.5 0.5} def
+% Default Line Types
+/LTw {PL [] 1 setgray} def
+/LTb {BL [] LCb DL} def
+/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
+/LT0 {PL [] LC0 DL} def
+/LT1 {PL [4 dl1 2 dl2] LC1 DL} def
+/LT2 {PL [2 dl1 3 dl2] LC2 DL} def
+/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
+/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
+/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
+/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
+/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
+/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
+/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
+/Dia {stroke [] 0 setdash 2 copy vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath stroke
+  Pnt} def
+/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
+  currentpoint stroke M
+  hpt neg vpt neg R hpt2 0 V stroke
+ } def
+/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath stroke
+  Pnt} def
+/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
+  hpt2 vpt2 neg V currentpoint stroke M
+  hpt2 neg 0 R hpt2 vpt2 V stroke} def
+/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath stroke
+  Pnt} def
+/Star {2 copy Pls Crs} def
+/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath fill} def
+/TriUF {stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath fill} def
+/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath stroke
+  Pnt} def
+/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath fill} def
+/DiaF {stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath fill} def
+/Pent {stroke [] 0 setdash 2 copy gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath stroke grestore Pnt} def
+/PentF {stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath fill grestore} def
+/Circle {stroke [] 0 setdash 2 copy
+  hpt 0 360 arc stroke Pnt} def
+/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
+/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
+/C1 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 90 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C2 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 90 180 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C3 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 180 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C4 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 180 270 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C5 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 90 arc
+	2 copy moveto
+	2 copy vpt 180 270 arc closepath fill
+	vpt 0 360 arc} bind def
+/C6 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 90 270 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C7 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 270 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C8 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 270 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C9 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 270 450 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
+	2 copy moveto
+	2 copy vpt 90 180 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C11 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 180 arc closepath fill
+	2 copy moveto
+	2 copy vpt 270 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C12 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 180 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C13 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 90 arc closepath fill
+	2 copy moveto
+	2 copy vpt 180 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C14 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 90 360 arc closepath fill
+	vpt 0 360 arc} bind def
+/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
+	neg 0 rlineto closepath} bind def
+/Square {dup Rec} bind def
+/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
+/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
+/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
+/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
+/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
+/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
+/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
+	exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
+/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
+/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
+	2 copy vpt Square fill Bsquare} bind def
+/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
+/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
+/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
+	Bsquare} bind def
+/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
+	Bsquare} bind def
+/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
+/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+	2 copy vpt Square fill Bsquare} bind def
+/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+	2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
+/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
+/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
+/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
+/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
+/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
+/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
+/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
+/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
+/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
+/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
+/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
+/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
+/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
+/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
+/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
+/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
+/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
+/DiaE {stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath stroke} def
+/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath stroke} def
+/TriUE {stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath stroke} def
+/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath stroke} def
+/PentE {stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath stroke grestore} def
+/CircE {stroke [] 0 setdash 
+  hpt 0 360 arc stroke} def
+/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
+/DiaW {stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V Opaque stroke} def
+/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V Opaque stroke} def
+/TriUW {stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V Opaque stroke} def
+/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V Opaque stroke} def
+/PentW {stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  Opaque stroke grestore} def
+/CircW {stroke [] 0 setdash 
+  hpt 0 360 arc Opaque stroke} def
+/BoxFill {gsave Rec 1 setgray fill grestore} def
+/Density {
+  /Fillden exch def
+  currentrgbcolor
+  /ColB exch def /ColG exch def /ColR exch def
+  /ColR ColR Fillden mul Fillden sub 1 add def
+  /ColG ColG Fillden mul Fillden sub 1 add def
+  /ColB ColB Fillden mul Fillden sub 1 add def
+  ColR ColG ColB setrgbcolor} def
+/BoxColFill {gsave Rec PolyFill} def
+/PolyFill {gsave Density fill grestore grestore} def
+/h {rlineto rlineto rlineto gsave fill grestore} bind def
+%
+% PostScript Level 1 Pattern Fill routine for rectangles
+% Usage: x y w h s a XX PatternFill
+%	x,y = lower left corner of box to be filled
+%	w,h = width and height of box
+%	  a = angle in degrees between lines and x-axis
+%	 XX = 0/1 for no/yes cross-hatch
+%
+/PatternFill {gsave /PFa [ 9 2 roll ] def
+  PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
+  PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
+  gsave 1 setgray fill grestore clip
+  currentlinewidth 0.5 mul setlinewidth
+  /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
+  0 0 M PFa 5 get rotate PFs -2 div dup translate
+  0 1 PFs PFa 4 get div 1 add floor cvi
+	{PFa 4 get mul 0 M 0 PFs V} for
+  0 PFa 6 get ne {
+	0 1 PFs PFa 4 get div 1 add floor cvi
+	{PFa 4 get mul 0 2 1 roll M PFs 0 V} for
+ } if
+  stroke grestore} def
+%
+/languagelevel where
+ {pop languagelevel} {1} ifelse
+ 2 lt
+	{/InterpretLevel1 true def}
+	{/InterpretLevel1 Level1 def}
+ ifelse
+%
+% PostScript level 2 pattern fill definitions
+%
+/Level2PatternFill {
+/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
+	bind def
+/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 
+>> matrix makepattern
+/Pat1 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
+	0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
+>> matrix makepattern
+/Pat2 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
+	8 8 L 8 0 L 0 0 L fill}
+>> matrix makepattern
+/Pat3 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
+	0 12 M 12 0 L stroke}
+>> matrix makepattern
+/Pat4 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
+	0 -4 M 12 8 L stroke}
+>> matrix makepattern
+/Pat5 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
+	0 12 M 8 -4 L 4 12 M 10 0 L stroke}
+>> matrix makepattern
+/Pat6 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
+	0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
+>> matrix makepattern
+/Pat7 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
+	12 0 M -4 8 L 12 4 M 0 10 L stroke}
+>> matrix makepattern
+/Pat8 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
+	-4 0 M 12 8 L -4 4 M 8 10 L stroke}
+>> matrix makepattern
+/Pat9 exch def
+/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
+/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
+/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
+/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
+/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
+/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
+/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
+} def
+%
+%
+%End of PostScript Level 2 code
+%
+/PatternBgnd {
+  TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
+} def
+%
+% Substitute for Level 2 pattern fill codes with
+% grayscale if Level 2 support is not selected.
+%
+/Level1PatternFill {
+/Pattern1 {0.250 Density} bind def
+/Pattern2 {0.500 Density} bind def
+/Pattern3 {0.750 Density} bind def
+/Pattern4 {0.125 Density} bind def
+/Pattern5 {0.375 Density} bind def
+/Pattern6 {0.625 Density} bind def
+/Pattern7 {0.875 Density} bind def
+} def
+%
+% Now test for support of Level 2 code
+%
+Level1 {Level1PatternFill} {Level2PatternFill} ifelse
+%
+/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
+dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
+currentdict end definefont pop
+end
+%%EndProlog
+gnudict begin
+gsave
+50 50 translate
+0.050 0.050 scale
+0 setgray
+newpath
+(Helvetica) findfont 140 scalefont setfont
+1.000 UL
+LTb
+1050 420 M
+63 0 V
+5849 0 R
+-63 0 V
+966 420 M
+( 4e-05) Rshow
+1.000 UL
+LTb
+1050 977 M
+63 0 V
+5849 0 R
+-63 0 V
+966 977 M
+( 6e-05) Rshow
+1.000 UL
+LTb
+1050 1533 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 8e-05) Rshow
+1.000 UL
+LTb
+1050 2090 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.0001) Rshow
+1.000 UL
+LTb
+1050 2646 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00012) Rshow
+1.000 UL
+LTb
+1050 3203 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00014) Rshow
+1.000 UL
+LTb
+1050 3759 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00016) Rshow
+1.000 UL
+LTb
+1050 4316 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00018) Rshow
+1.000 UL
+LTb
+1050 4872 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.0002) Rshow
+1.000 UL
+LTb
+1050 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.05) Cshow
+1.000 UL
+LTb
+2232 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.1) Cshow
+1.000 UL
+LTb
+3415 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.15) Cshow
+1.000 UL
+LTb
+4597 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.2) Cshow
+1.000 UL
+LTb
+5780 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.25) Cshow
+1.000 UL
+LTb
+6962 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.3) Cshow
+1.000 UL
+LTb
+1.000 UL
+LTb
+1050 4872 N
+0 -4452 V
+5912 0 V
+0 4452 V
+-5912 0 V
+Z stroke
+LCb setrgbcolor
+140 2646 M
+currentpoint gsave translate 90 rotate 0 0 M
+(Error) Cshow
+grestore
+LTb
+LCb setrgbcolor
+4006 70 M
+(h) Cshow
+LTb
+1.000 UP
+1.000 UL
+LTb
+1.000 UP
+1.000 UL
+LT0
+5780 4703 M
+0 -695 V
+-31 695 R
+62 0 V
+-62 -695 R
+62 0 V
+2824 2449 M
+0 -556 V
+-31 556 R
+62 0 V
+-62 -556 R
+62 0 V
+1346 1058 M
+0 -556 V
+-31 556 R
+62 0 V
+1315 502 M
+62 0 V
+5780 4355 Pls
+2824 2171 Pls
+1346 780 Pls
+1.000 UL
+LTb
+1050 4872 N
+0 -4452 V
+5912 0 V
+0 4452 V
+-5912 0 V
+Z stroke
+1.000 UP
+1.000 UL
+LTb
+stroke
+grestore
+end
+showpage
+%%Trailer
+%%DocumentFonts: Helvetica

Added: long/3D/Gale/trunk/documentation/images/Sphere_Scaled_Error.eps
===================================================================
--- long/3D/Gale/trunk/documentation/images/Sphere_Scaled_Error.eps	                        (rev 0)
+++ long/3D/Gale/trunk/documentation/images/Sphere_Scaled_Error.eps	2008-03-26 20:58:02 UTC (rev 11597)
@@ -0,0 +1,631 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: Sphere_Scaled_Error.eps
+%%Creator: gnuplot 4.2 patchlevel 2 
+%%CreationDate: Thu Mar 20 13:18:31 2008
+%%DocumentFonts: (atend)
+%%BoundingBox: 50 50 410 302
+%%EndComments
+%%BeginProlog
+/gnudict 256 dict def
+gnudict begin
+%
+% The following 6 true/false flags may be edited by hand if required
+% The unit line width may also be changed
+%
+/Color true def
+/Blacktext false def
+/Solid false def
+/Dashlength 1 def
+/Landscape false def
+/Level1 false def
+/Rounded false def
+/TransparentPatterns false def
+/gnulinewidth 5.000 def
+/userlinewidth gnulinewidth def
+%
+/vshift -46 def
+/dl1 {
+  10.0 Dashlength mul mul
+  Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
+} def
+/dl2 {
+  10.0 Dashlength mul mul
+  Rounded { currentlinewidth 0.75 mul add } if
+} def
+/hpt_ 31.5 def
+/vpt_ 31.5 def
+/hpt hpt_ def
+/vpt vpt_ def
+Level1 {} {
+/SDict 10 dict def
+systemdict /pdfmark known not {
+  userdict /pdfmark systemdict /cleartomark get put
+} if
+SDict begin [
+  /Title (Sphere_Scaled_Error.eps)
+  /Subject (gnuplot plot)
+  /Creator (gnuplot 4.2 patchlevel 2 )
+  /Author (Walter Landry,,,)
+%  /Producer (gnuplot)
+%  /Keywords ()
+  /CreationDate (Thu Mar 20 13:18:31 2008)
+  /DOCINFO pdfmark
+end
+} ifelse
+%
+% Gnuplot Prolog Version 4.2 (August 2006)
+%
+/M {moveto} bind def
+/L {lineto} bind def
+/R {rmoveto} bind def
+/V {rlineto} bind def
+/N {newpath moveto} bind def
+/Z {closepath} bind def
+/C {setrgbcolor} bind def
+/f {rlineto fill} bind def
+/vpt2 vpt 2 mul def
+/hpt2 hpt 2 mul def
+/Lshow {currentpoint stroke M 0 vshift R 
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 
+	Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
+/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
+  /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
+/DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
+ {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
+/BL {stroke userlinewidth 2 mul setlinewidth
+	Rounded {1 setlinejoin 1 setlinecap} if} def
+/AL {stroke userlinewidth 2 div setlinewidth
+	Rounded {1 setlinejoin 1 setlinecap} if} def
+/UL {dup gnulinewidth mul /userlinewidth exch def
+	dup 1 lt {pop 1} if 10 mul /udl exch def} def
+/PL {stroke userlinewidth setlinewidth
+	Rounded {1 setlinejoin 1 setlinecap} if} def
+% Default Line colors
+/LCw {1 1 1} def
+/LCb {0 0 0} def
+/LCa {0 0 0} def
+/LC0 {1 0 0} def
+/LC1 {0 1 0} def
+/LC2 {0 0 1} def
+/LC3 {1 0 1} def
+/LC4 {0 1 1} def
+/LC5 {1 1 0} def
+/LC6 {0 0 0} def
+/LC7 {1 0.3 0} def
+/LC8 {0.5 0.5 0.5} def
+% Default Line Types
+/LTw {PL [] 1 setgray} def
+/LTb {BL [] LCb DL} def
+/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
+/LT0 {PL [] LC0 DL} def
+/LT1 {PL [4 dl1 2 dl2] LC1 DL} def
+/LT2 {PL [2 dl1 3 dl2] LC2 DL} def
+/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
+/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
+/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
+/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
+/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
+/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
+/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
+/Dia {stroke [] 0 setdash 2 copy vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath stroke
+  Pnt} def
+/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
+  currentpoint stroke M
+  hpt neg vpt neg R hpt2 0 V stroke
+ } def
+/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath stroke
+  Pnt} def
+/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
+  hpt2 vpt2 neg V currentpoint stroke M
+  hpt2 neg 0 R hpt2 vpt2 V stroke} def
+/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath stroke
+  Pnt} def
+/Star {2 copy Pls Crs} def
+/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath fill} def
+/TriUF {stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath fill} def
+/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath stroke
+  Pnt} def
+/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath fill} def
+/DiaF {stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath fill} def
+/Pent {stroke [] 0 setdash 2 copy gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath stroke grestore Pnt} def
+/PentF {stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath fill grestore} def
+/Circle {stroke [] 0 setdash 2 copy
+  hpt 0 360 arc stroke Pnt} def
+/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
+/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
+/C1 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 90 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C2 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 90 180 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C3 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 180 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C4 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 180 270 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C5 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 90 arc
+	2 copy moveto
+	2 copy vpt 180 270 arc closepath fill
+	vpt 0 360 arc} bind def
+/C6 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 90 270 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C7 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 270 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C8 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 270 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C9 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 270 450 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
+	2 copy moveto
+	2 copy vpt 90 180 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C11 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 180 arc closepath fill
+	2 copy moveto
+	2 copy vpt 270 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C12 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 180 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C13 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 0 90 arc closepath fill
+	2 copy moveto
+	2 copy vpt 180 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/C14 {BL [] 0 setdash 2 copy moveto
+	2 copy vpt 90 360 arc closepath fill
+	vpt 0 360 arc} bind def
+/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
+	vpt 0 360 arc closepath} bind def
+/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
+	neg 0 rlineto closepath} bind def
+/Square {dup Rec} bind def
+/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
+/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
+/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
+/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
+/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
+/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
+/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
+	exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
+/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
+/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
+	2 copy vpt Square fill Bsquare} bind def
+/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
+/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
+/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
+	Bsquare} bind def
+/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
+	Bsquare} bind def
+/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
+/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+	2 copy vpt Square fill Bsquare} bind def
+/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
+	2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
+/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
+/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
+/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
+/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
+/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
+/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
+/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
+/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
+/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
+/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
+/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
+/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
+/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
+/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
+/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
+/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
+/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
+/DiaE {stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V closepath stroke} def
+/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V closepath stroke} def
+/TriUE {stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V closepath stroke} def
+/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V closepath stroke} def
+/PentE {stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  closepath stroke grestore} def
+/CircE {stroke [] 0 setdash 
+  hpt 0 360 arc stroke} def
+/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
+/DiaW {stroke [] 0 setdash vpt add M
+  hpt neg vpt neg V hpt vpt neg V
+  hpt vpt V hpt neg vpt V Opaque stroke} def
+/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
+  0 vpt2 neg V hpt2 0 V 0 vpt2 V
+  hpt2 neg 0 V Opaque stroke} def
+/TriUW {stroke [] 0 setdash vpt 1.12 mul add M
+  hpt neg vpt -1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt 1.62 mul V Opaque stroke} def
+/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
+  hpt neg vpt 1.62 mul V
+  hpt 2 mul 0 V
+  hpt neg vpt -1.62 mul V Opaque stroke} def
+/PentW {stroke [] 0 setdash gsave
+  translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
+  Opaque stroke grestore} def
+/CircW {stroke [] 0 setdash 
+  hpt 0 360 arc Opaque stroke} def
+/BoxFill {gsave Rec 1 setgray fill grestore} def
+/Density {
+  /Fillden exch def
+  currentrgbcolor
+  /ColB exch def /ColG exch def /ColR exch def
+  /ColR ColR Fillden mul Fillden sub 1 add def
+  /ColG ColG Fillden mul Fillden sub 1 add def
+  /ColB ColB Fillden mul Fillden sub 1 add def
+  ColR ColG ColB setrgbcolor} def
+/BoxColFill {gsave Rec PolyFill} def
+/PolyFill {gsave Density fill grestore grestore} def
+/h {rlineto rlineto rlineto gsave fill grestore} bind def
+%
+% PostScript Level 1 Pattern Fill routine for rectangles
+% Usage: x y w h s a XX PatternFill
+%	x,y = lower left corner of box to be filled
+%	w,h = width and height of box
+%	  a = angle in degrees between lines and x-axis
+%	 XX = 0/1 for no/yes cross-hatch
+%
+/PatternFill {gsave /PFa [ 9 2 roll ] def
+  PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
+  PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
+  gsave 1 setgray fill grestore clip
+  currentlinewidth 0.5 mul setlinewidth
+  /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
+  0 0 M PFa 5 get rotate PFs -2 div dup translate
+  0 1 PFs PFa 4 get div 1 add floor cvi
+	{PFa 4 get mul 0 M 0 PFs V} for
+  0 PFa 6 get ne {
+	0 1 PFs PFa 4 get div 1 add floor cvi
+	{PFa 4 get mul 0 2 1 roll M PFs 0 V} for
+ } if
+  stroke grestore} def
+%
+/languagelevel where
+ {pop languagelevel} {1} ifelse
+ 2 lt
+	{/InterpretLevel1 true def}
+	{/InterpretLevel1 Level1 def}
+ ifelse
+%
+% PostScript level 2 pattern fill definitions
+%
+/Level2PatternFill {
+/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
+	bind def
+/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 
+>> matrix makepattern
+/Pat1 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
+	0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
+>> matrix makepattern
+/Pat2 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
+	8 8 L 8 0 L 0 0 L fill}
+>> matrix makepattern
+/Pat3 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
+	0 12 M 12 0 L stroke}
+>> matrix makepattern
+/Pat4 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
+	0 -4 M 12 8 L stroke}
+>> matrix makepattern
+/Pat5 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
+	0 12 M 8 -4 L 4 12 M 10 0 L stroke}
+>> matrix makepattern
+/Pat6 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
+	0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
+>> matrix makepattern
+/Pat7 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
+	12 0 M -4 8 L 12 4 M 0 10 L stroke}
+>> matrix makepattern
+/Pat8 exch def
+<< Tile8x8
+ /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
+	-4 0 M 12 8 L -4 4 M 8 10 L stroke}
+>> matrix makepattern
+/Pat9 exch def
+/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
+/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
+/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
+/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
+/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
+/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
+/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
+} def
+%
+%
+%End of PostScript Level 2 code
+%
+/PatternBgnd {
+  TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
+} def
+%
+% Substitute for Level 2 pattern fill codes with
+% grayscale if Level 2 support is not selected.
+%
+/Level1PatternFill {
+/Pattern1 {0.250 Density} bind def
+/Pattern2 {0.500 Density} bind def
+/Pattern3 {0.750 Density} bind def
+/Pattern4 {0.125 Density} bind def
+/Pattern5 {0.375 Density} bind def
+/Pattern6 {0.625 Density} bind def
+/Pattern7 {0.875 Density} bind def
+} def
+%
+% Now test for support of Level 2 code
+%
+Level1 {Level1PatternFill} {Level2PatternFill} ifelse
+%
+/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
+dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
+currentdict end definefont pop
+end
+%%EndProlog
+gnudict begin
+gsave
+50 50 translate
+0.050 0.050 scale
+0 setgray
+newpath
+(Helvetica) findfont 140 scalefont setfont
+1.000 UL
+LTb
+1050 420 M
+63 0 V
+5849 0 R
+-63 0 V
+966 420 M
+( 0.00016) Rshow
+1.000 UL
+LTb
+1050 865 M
+63 0 V
+5849 0 R
+-63 0 V
+966 865 M
+( 0.00017) Rshow
+1.000 UL
+LTb
+1050 1310 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00018) Rshow
+1.000 UL
+LTb
+1050 1756 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00019) Rshow
+1.000 UL
+LTb
+1050 2201 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.0002) Rshow
+1.000 UL
+LTb
+1050 2646 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00021) Rshow
+1.000 UL
+LTb
+1050 3091 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00022) Rshow
+1.000 UL
+LTb
+1050 3536 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00023) Rshow
+1.000 UL
+LTb
+1050 3982 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00024) Rshow
+1.000 UL
+LTb
+1050 4427 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00025) Rshow
+1.000 UL
+LTb
+1050 4872 M
+63 0 V
+5849 0 R
+-63 0 V
+-5933 0 R
+( 0.00026) Rshow
+1.000 UL
+LTb
+1050 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.05) Cshow
+1.000 UL
+LTb
+2232 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.1) Cshow
+1.000 UL
+LTb
+3415 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.15) Cshow
+1.000 UL
+LTb
+4597 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.2) Cshow
+1.000 UL
+LTb
+5780 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.25) Cshow
+1.000 UL
+LTb
+6962 420 M
+0 63 V
+0 4389 R
+0 -63 V
+0 -4529 R
+( 0.3) Cshow
+1.000 UL
+LTb
+1.000 UL
+LTb
+1050 4872 N
+0 -4452 V
+5912 0 V
+0 4452 V
+-5912 0 V
+Z stroke
+LCb setrgbcolor
+140 2646 M
+currentpoint gsave translate 90 rotate 0 0 M
+(Scaled Error) Cshow
+grestore
+LTb
+LCb setrgbcolor
+4006 70 M
+(h) Cshow
+LTb
+1.000 UP
+1.000 UL
+LTb
+1.000 UP
+1.000 UL
+LT0
+5780 1931 M
+0 -1113 V
+-31 1113 R
+62 0 V
+5749 818 M
+62 0 V
+2824 3353 M
+0 -1781 V
+-31 1781 R
+62 0 V
+2793 1572 M
+62 0 V
+1346 4504 M
+0 -3561 V
+-31 3561 R
+62 0 V
+1315 943 M
+62 0 V
+5780 1374 Pls
+2824 2462 Pls
+1346 2724 Pls
+1.000 UL
+LTb
+1050 4872 N
+0 -4452 V
+5912 0 V
+0 4452 V
+-5912 0 V
+Z stroke
+1.000 UP
+1.000 UL
+LTb
+stroke
+grestore
+end
+showpage
+%%Trailer
+%%DocumentFonts: Helvetica

Deleted: long/3D/Gale/trunk/documentation/images/circular_inclusion_error.png
===================================================================
(Binary files differ)

Added: long/3D/Gale/trunk/documentation/images/inclusion_r8_p.png
===================================================================
(Binary files differ)


Property changes on: long/3D/Gale/trunk/documentation/images/inclusion_r8_p.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: long/3D/Gale/trunk/documentation/images/inclusion_r8_p_error.png
===================================================================
(Binary files differ)


Property changes on: long/3D/Gale/trunk/documentation/images/inclusion_r8_p_error.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: long/3D/Gale/trunk/documentation/images/inclusion_r8_p_scaled_error.png
===================================================================
(Binary files differ)


Property changes on: long/3D/Gale/trunk/documentation/images/inclusion_r8_p_scaled_error.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: long/3D/Gale/trunk/documentation/images/sphere_cylinder.eps
===================================================================
--- long/3D/Gale/trunk/documentation/images/sphere_cylinder.eps	                        (rev 0)
+++ long/3D/Gale/trunk/documentation/images/sphere_cylinder.eps	2008-03-26 20:58:02 UTC (rev 11597)
@@ -0,0 +1,492 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: sphere_cylinder.fig
+%%Creator: fig2dev Version 3.2 Patchlevel 5
+%%CreationDate: Thu Mar 20 13:31:12 2008
+%%For: boo at earth (Walter Landry,,,)
+%%BoundingBox: 0 0 115 143
+%Magnification: 1.0000
+%%EndComments
+%%BeginProlog
+/MyAppDict 100 dict dup begin def
+/$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
+
+% This junk string is used by the show operators
+/PATsstr 1 string def
+/PATawidthshow { 	% cx cy cchar rx ry string
+  % Loop over each character in the string
+  {  % cx cy cchar rx ry char
+    % Show the character
+    dup				% cx cy cchar rx ry char char
+    PATsstr dup 0 4 -1 roll put	% cx cy cchar rx ry char (char)
+    false charpath		% cx cy cchar rx ry char
+    /clip load PATdraw
+    % Move past the character (charpath modified the
+    % current point)
+    currentpoint			% cx cy cchar rx ry char x y
+    newpath
+    moveto			% cx cy cchar rx ry char
+    % Reposition by cx,cy if the character in the string is cchar
+    3 index eq {			% cx cy cchar rx ry
+      4 index 4 index rmoveto
+    } if
+    % Reposition all characters by rx ry
+    2 copy rmoveto		% cx cy cchar rx ry
+  } forall
+  pop pop pop pop pop		% -
+  currentpoint
+  newpath
+  moveto
+} bind def
+/PATcg {
+  7 dict dup begin
+    /lw currentlinewidth def
+    /lc currentlinecap def
+    /lj currentlinejoin def
+    /ml currentmiterlimit def
+    /ds [ currentdash ] def
+    /cc [ currentrgbcolor ] def
+    /cm matrix currentmatrix def
+  end
+} bind def
+% PATdraw - calculates the boundaries of the object and
+% fills it with the current pattern
+/PATdraw {			% proc
+  save exch
+    PATpcalc			% proc nw nh px py
+    5 -1 roll exec		% nw nh px py
+    newpath
+    PATfill			% -
+  restore
+} bind def
+% PATfill - performs the tiling for the shape
+/PATfill { % nw nh px py PATfill -
+  PATDict /CurrentPattern get dup begin
+    setfont
+    % Set the coordinate system to Pattern Space
+    PatternGState PATsg
+    % Set the color for uncolored pattezns
+    PaintType 2 eq { PATDict /PColor get PATsc } if
+    % Create the string for showing
+    3 index string		% nw nh px py str
+    % Loop for each of the pattern sources
+    0 1 Multi 1 sub {		% nw nh px py str source
+	% Move to the starting location
+	3 index 3 index		% nw nh px py str source px py
+	moveto			% nw nh px py str source
+	% For multiple sources, set the appropriate color
+	Multi 1 ne { dup PC exch get PATsc } if
+	% Set the appropriate string for the source
+	0 1 7 index 1 sub { 2 index exch 2 index put } for pop
+	% Loop over the number of vertical cells
+	3 index 		% nw nh px py str nh
+	{			% nw nh px py str
+	  currentpoint		% nw nh px py str cx cy
+	  2 index oldshow	% nw nh px py str cx cy
+	  YStep add moveto	% nw nh px py str
+	} repeat		% nw nh px py str
+    } for
+    5 { pop } repeat
+  end
+} bind def
+
+% PATkshow - kshow with the current pattezn
+/PATkshow {			% proc string
+  exch bind			% string proc
+  1 index 0 get			% string proc char
+  % Loop over all but the last character in the string
+  0 1 4 index length 2 sub {
+				% string proc char idx
+    % Find the n+1th character in the string
+    3 index exch 1 add get	% string proc char char+1
+    exch 2 copy			% strinq proc char+1 char char+1 char
+    % Now show the nth character
+    PATsstr dup 0 4 -1 roll put	% string proc chr+1 chr chr+1 (chr)
+    false charpath		% string proc char+1 char char+1
+    /clip load PATdraw
+    % Move past the character (charpath modified the current point)
+    currentpoint newpath moveto
+    % Execute the user proc (should consume char and char+1)
+    mark 3 1 roll		% string proc char+1 mark char char+1
+    4 index exec		% string proc char+1 mark...
+    cleartomark			% string proc char+1
+  } for
+  % Now display the last character
+  PATsstr dup 0 4 -1 roll put	% string proc (char+1)
+  false charpath		% string proc
+  /clip load PATdraw
+  neewath
+  pop pop			% -
+} bind def
+% PATmp - the makepattern equivalent
+/PATmp {			% patdict patmtx PATmp patinstance
+  exch dup length 7 add		% We will add 6 new entries plus 1 FID
+  dict copy			% Create a new dictionary
+  begin
+    % Matrix to install when painting the pattern
+    TilingType PATtcalc
+    /PatternGState PATcg def
+    PatternGState /cm 3 -1 roll put
+    % Check for multi pattern sources (Level 1 fast color patterns)
+    currentdict /Multi known not { /Multi 1 def } if
+    % Font dictionary definitions
+    /FontType 3 def
+    % Create a dummy encoding vector
+    /Encoding 256 array def
+    3 string 0 1 255 {
+      Encoding exch dup 3 index cvs cvn put } for pop
+    /FontMatrix matrix def
+    /FontBBox BBox def
+    /BuildChar {
+	mark 3 1 roll		% mark dict char
+	exch begin
+	Multi 1 ne {PaintData exch get}{pop} ifelse  % mark [paintdata]
+	  PaintType 2 eq Multi 1 ne or
+	  { XStep 0 FontBBox aload pop setcachedevice }
+	  { XStep 0 setcharwidth } ifelse
+	  currentdict		% mark [paintdata] dict
+	  /PaintProc load	% mark [paintdata] dict paintproc
+	end
+	gsave
+	  false PATredef exec true PATredef
+	grestore
+	cleartomark		% -
+    } bind def
+    currentdict
+  end				% newdict
+  /foo exch			% /foo newlict
+  definefont			% newfont
+} bind def
+% PATpcalc - calculates the starting point and width/height
+% of the tile fill for the shape
+/PATpcalc {	% - PATpcalc nw nh px py
+  PATDict /CurrentPattern get begin
+    gsave
+	% Set up the coordinate system to Pattern Space
+	% and lock down pattern
+	PatternGState /cm get setmatrix
+	BBox aload pop pop pop translate
+	% Determine the bounding box of the shape
+	pathbbox			% llx lly urx ury
+    grestore
+    % Determine (nw, nh) the # of cells to paint width and height
+    PatHeight div ceiling		% llx lly urx qh
+    4 1 roll				% qh llx lly urx
+    PatWidth div ceiling		% qh llx lly qw
+    4 1 roll				% qw qh llx lly
+    PatHeight div floor			% qw qh llx ph
+    4 1 roll				% ph qw qh llx
+    PatWidth div floor			% ph qw qh pw
+    4 1 roll				% pw ph qw qh
+    2 index sub cvi abs			% pw ph qs qh-ph
+    exch 3 index sub cvi abs exch	% pw ph nw=qw-pw nh=qh-ph
+    % Determine the starting point of the pattern fill
+    %(px, py)
+    4 2 roll				% nw nh pw ph
+    PatHeight mul			% nw nh pw py
+    exch				% nw nh py pw
+    PatWidth mul exch			% nw nh px py
+  end
+} bind def
+
+% Save the original routines so that we can use them later on
+/oldfill	/fill load def
+/oldeofill	/eofill load def
+/oldstroke	/stroke load def
+/oldshow	/show load def
+/oldashow	/ashow load def
+/oldwidthshow	/widthshow load def
+/oldawidthshow	/awidthshow load def
+/oldkshow	/kshow load def
+
+% These defs are necessary so that subsequent procs don't bind in
+% the originals
+/fill	   { oldfill } bind def
+/eofill	   { oldeofill } bind def
+/stroke	   { oldstroke } bind def
+/show	   { oldshow } bind def
+/ashow	   { oldashow } bind def
+/widthshow { oldwidthshow } bind def
+/awidthshow { oldawidthshow } bind def
+/kshow 	   { oldkshow } bind def
+/PATredef {
+  MyAppDict begin
+    {
+    /fill { /clip load PATdraw newpath } bind def
+    /eofill { /eoclip load PATdraw newpath } bind def
+    /stroke { PATstroke } bind def
+    /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
+    /ashow { 0 0 null 6 3 roll PATawidthshow }
+    bind def
+    /widthshow { 0 0 3 -1 roll PATawidthshow }
+    bind def
+    /awidthshow { PATawidthshow } bind def
+    /kshow { PATkshow } bind def
+  } {
+    /fill   { oldfill } bind def
+    /eofill { oldeofill } bind def
+    /stroke { oldstroke } bind def
+    /show   { oldshow } bind def
+    /ashow  { oldashow } bind def
+    /widthshow { oldwidthshow } bind def
+    /awidthshow { oldawidthshow } bind def
+    /kshow  { oldkshow } bind def
+    } ifelse
+  end
+} bind def
+false PATredef
+% Conditionally define setcmykcolor if not available
+/setcmykcolor where { pop } {
+  /setcmykcolor {
+    1 sub 4 1 roll
+    3 {
+	3 index add neg dup 0 lt { pop 0 } if 3 1 roll
+    } repeat
+    setrgbcolor - pop
+  } bind def
+} ifelse
+/PATsc {		% colorarray
+  aload length		% c1 ... cn length
+    dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor
+  } ifelse } ifelse
+} bind def
+/PATsg {		% dict
+  begin
+    lw setlinewidth
+    lc setlinecap
+    lj setlinejoin
+    ml setmiterlimit
+    ds aload pop setdash
+    cc aload pop setrgbcolor
+    cm setmatrix
+  end
+} bind def
+
+/PATDict 3 dict def
+/PATsp {
+  true PATredef
+  PATDict begin
+    /CurrentPattern exch def
+    % If it's an uncolored pattern, save the color
+    CurrentPattern /PaintType get 2 eq {
+      /PColor exch def
+    } if
+    /CColor [ currentrgbcolor ] def
+  end
+} bind def
+% PATstroke - stroke with the current pattern
+/PATstroke {
+  countdictstack
+  save
+  mark
+  {
+    currentpoint strokepath moveto
+    PATpcalc				% proc nw nh px py
+    clip newpath PATfill
+    } stopped {
+	(*** PATstroke Warning: Path is too complex, stroking
+	  with gray) =
+    cleartomark
+    restore
+    countdictstack exch sub dup 0 gt
+	{ { end } repeat } { pop } ifelse
+    gsave 0.5 setgray oldstroke grestore
+  } { pop restore pop } ifelse
+  newpath
+} bind def
+/PATtcalc {		% modmtx tilingtype PATtcalc tilematrix
+  % Note: tiling types 2 and 3 are not supported
+  gsave
+    exch concat					% tilingtype
+    matrix currentmatrix exch			% cmtx tilingtype
+    % Tiling type 1 and 3: constant spacing
+    2 ne {
+	% Distort the pattern so that it occupies
+	% an integral number of device pixels
+	dup 4 get exch dup 5 get exch		% tx ty cmtx
+	XStep 0 dtransform
+	round exch round exch			% tx ty cmtx dx.x dx.y
+	XStep div exch XStep div exch		% tx ty cmtx a b
+	0 YStep dtransform
+	round exch round exch			% tx ty cmtx a b dy.x dy.y
+	YStep div exch YStep div exch		% tx ty cmtx a b c d
+	7 -3 roll astore			% { a b c d tx ty }
+    } if
+  grestore
+} bind def
+/PATusp {
+  false PATredef
+  PATDict begin
+    CColor PATsc
+  end
+} bind def
+
+% this is the pattern fill program from the Second edition Reference Manual
+% with changes to call the above pattern fill
+% left30
+11 dict begin
+/PaintType 1 def
+/PatternType 1 def
+/TilingType 1 def
+/BBox [0 0 1 1] def
+/XStep 1 def
+/YStep 1 def
+/PatWidth 1 def
+/PatHeight 1 def
+/Multi 2 def
+/PaintData [
+  { clippath } bind
+  { 32 16 true [ 32 0 0 -16 0 16 ]
+	{<c000c000300030000c000c000300030000c000c000300030
+	000c000c00030003c000c000300030000c000c0003000300
+	00c000c000300030000c000c00030003>}
+     imagemask } bind
+] def
+/PaintProc {
+	pop
+	exec fill
+} def
+currentdict
+end
+/P1 exch def
+
+/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
+ /DrawEllipse {
+	/endangle exch def
+	/startangle exch def
+	/yrad exch def
+	/xrad exch def
+	/y exch def
+	/x exch def
+	/savematrix mtrx currentmatrix def
+	x y tr xrad yrad sc 0 0 1 startangle endangle arc
+	closepath
+	savematrix setmatrix
+	} def
+
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+/pageheader {
+save
+newpath 0 143 moveto 0 0 lineto 115 0 lineto 115 143 lineto closepath clip newpath
+-211.8 298.1 translate
+1 -1 scale
+$F2psBegin
+10 setmiterlimit
+0 slj 0 slc
+ 0.06299 0.06299 sc
+} bind def
+/pagefooter {
+$F2psEnd
+restore
+} bind def
+%%EndProlog
+pageheader
+%
+% Fig objects follow
+%
+% 
+% here starts figure with depth 50
+% Ellipse
+7.500 slw
+n 4275 2700 900 225 0 360 DrawEllipse gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
+15.00 15.00 sc P1 [16 0 0 -8 225.00 165.00] PATmp PATsp ef gr PATusp gs col0 s gr
+
+% Ellipse
+n 4275 3600 225 225 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
+
+% Ellipse
+n 4275 4500 900 225 0 360 DrawEllipse gs /PC [[1.00 1.00 1.00] [0.00 0.00 0.00]] def
+15.00 15.00 sc P1 [16 0 0 -8 225.00 285.00] PATmp PATsp ef gr PATusp gs col0 s gr
+
+% Polyline
+0 slj
+0 slc
+n 3375 2700 m
+ 3375 4500 l gs col0 s gr 
+% Polyline
+n 5175 2700 m
+ 5175 4500 l gs col0 s gr 
+% Polyline
+gs  clippath
+4215 3912 m 4215 4065 l 4335 4065 l 4335 3912 l 4335 3912 l 4275 4032 l 4215 3912 l cp
+eoclip
+n 4275 3825 m
+ 4275 4050 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 4215 3912 m 4275 4032 l 4335 3912 l  col0 s
+% here ends figure;
+pagefooter
+showpage
+%%Trailer
+end
+%EOF

Added: long/3D/Gale/trunk/documentation/images/sphere_cylinder.fig
===================================================================
--- long/3D/Gale/trunk/documentation/images/sphere_cylinder.fig	                        (rev 0)
+++ long/3D/Gale/trunk/documentation/images/sphere_cylinder.fig	2008-03-26 20:58:02 UTC (rev 11597)
@@ -0,0 +1,19 @@
+#FIG 3.2  Produced by xfig version 3.2.5
+Landscape
+Center
+Metric
+A4      
+100.00
+Single
+-2
+1200 2
+1 1 0 1 0 7 50 -1 41 0.000 1 0.0000 4275 2700 900 225 4275 2700 5175 2700
+1 3 0 1 0 4 50 -1 20 0.000 1 0.0000 4275 3600 225 225 4275 3600 4500 3600
+1 1 0 1 0 7 50 -1 41 0.000 1 0.0000 4275 4500 900 225 4275 4500 5175 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 3375 2700 3375 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 5175 2700 5175 4500
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	0 0 2.00 120.00 120.00
+	 4275 3825 4275 4050



More information about the cig-commits mailing list