[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