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

walter at geodynamics.org walter at geodynamics.org
Wed Jun 13 10:41:18 PDT 2007


Author: walter
Date: 2007-06-13 10:41:17 -0700 (Wed, 13 Jun 2007)
New Revision: 7204

Added:
   long/3D/Gale/trunk/documentation/images/Paraview_thermal.png
   long/3D/Gale/trunk/input/cookbook/thermal.xml
Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/documentation/gale.lyx
   long/3D/Gale/trunk/input/cookbook/multi_material.xml
   long/3D/Gale/trunk/input/cookbook/viscous.xml
   long/3D/Gale/trunk/input/cookbook/viscous_extension.xml
   long/3D/Gale/trunk/input/cookbook/viscous_inflow.xml
   long/3D/Gale/trunk/input/cookbook/viscous_sinusoid.xml
   long/3D/Gale/trunk/input/cookbook/viscous_split.xml
   long/3D/Gale/trunk/input/cookbook/viscous_stressbc.xml
   long/3D/Gale/trunk/input/cookbook/yielding.xml
   long/3D/Gale/trunk/input/extension.xml
   long/3D/Gale/trunk/input/shortening.xml
   long/3D/Gale/trunk/input/sinusoid.xml
   long/3D/Gale/trunk/input/subduction.xml
Log:
 r1828 at earth:  boo | 2007-06-13 10:38:03 -0700
 Make Gurnis happy.  Add in documentation for thermal models and new output format with stress, density, alpha, and diffusivity.



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

Modified: long/3D/Gale/trunk/documentation/gale.lyx
===================================================================
--- long/3D/Gale/trunk/documentation/gale.lyx	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/documentation/gale.lyx	2007-06-13 17:41:17 UTC (rev 7204)
@@ -1,4 +1,4 @@
-#LyX 1.4.3 created this file. For more info see http://www.lyx.org/
+#LyX 1.4.4 created this file. For more info see http://www.lyx.org/
 \lyxformat 245
 \begin_document
 \begin_header
@@ -1307,11 +1307,17 @@
 \color red
 Note:
 \color none
- In order to get viscosity information out, you must add a 
+ In order to get viscosity and stress information out, you must add 
 \family typewriter
-StoreViscosity
+StoreVisc
 \family default
- struct to your rheology as in Section 
+ and 
+\family typewriter
+\color inherit
+StoreStress
+\family default
+\color none
+ structs to your rheology as in Section 
 \begin_inset LatexCommand \ref{sec:Viscous-Material}
 
 \end_inset
@@ -2388,8 +2394,8 @@
 
 \end_deeper
 \begin_layout Enumerate
-In order for Gale to include the viscosity in the output, we have to store
- the viscosity in a separate field (see Section 
+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{sub:StoreViscosity}
 
 \end_inset
@@ -2414,6 +2420,22 @@
 </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
@@ -2457,6 +2479,10 @@
 \end_layout
 
 \begin_layout LyX-Code
+    <param>storeStress</param>
+\end_layout
+
+\begin_layout LyX-Code
   </list>
 \end_layout
 
@@ -3673,6 +3699,11 @@
 
 \begin_layout Section
 Multiple Viscous Materials
+\begin_inset LatexCommand \label{sec:Multiple-Viscous-Materials}
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Standard
@@ -3820,6 +3851,10 @@
 \end_layout
 
 \begin_layout LyX-Code
+    <param>storeStress</param>
+\end_layout
+
+\begin_layout LyX-Code
   </list>
 \end_layout
 
@@ -4149,6 +4184,10 @@
 \end_layout
 
 \begin_layout LyX-Code
+    <param>storeStress</param>
+\end_layout
+
+\begin_layout LyX-Code
   </list>
 \end_layout
 
@@ -4191,6 +4230,10 @@
 \end_layout
 
 \begin_layout LyX-Code
+    <param>storeStress</param>
+\end_layout
+
+\begin_layout LyX-Code
   </list>
 \end_layout
 
@@ -4331,6 +4374,585 @@
 
 \end_layout
 
+\begin_layout Section
+Thermal Convection
+\end_layout
+
+\begin_layout Standard
+Temperature can play a decisive role in geophyisical processes.
+ This example takes the multiple viscous material example from Section 
+\begin_inset LatexCommand \ref{sec:Multiple-Viscous-Materials}
+
+\end_inset
+
+ and heats it on the bottom.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Copy 
+\family typewriter
+mymulti_material.xml
+\family default
+ to 
+\family typewriter
+mythermal.xml
+\end_layout
+
+\begin_layout Enumerate
+Add in the thermal components from Section 
+\begin_inset LatexCommand \ref{sec:Temperature-components}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Add in temperature boundary conditions after the velocity boundary conditions
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<struct name="temperatureBCs">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="type">CompositeVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <list name="vcList">
+\end_layout
+
+\begin_layout LyX-Code
+    <struct>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="type">WallVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="wall">bottom</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <list name="variables">
+\end_layout
+
+\begin_layout LyX-Code
+        <struct>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="name">temperature</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="type">double</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="value">1.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+        </struct>
+\end_layout
+
+\begin_layout LyX-Code
+      </list>
+\end_layout
+
+\begin_layout LyX-Code
+    </struct>
+\end_layout
+
+\begin_layout LyX-Code
+    <struct>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="type">WallVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="wall">left</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <list name="variables">
+\end_layout
+
+\begin_layout LyX-Code
+        <struct>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="name">temperature</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="type">double</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="value">0.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+        </struct>
+\end_layout
+
+\begin_layout LyX-Code
+      </list>
+\end_layout
+
+\begin_layout LyX-Code
+    </struct>
+\end_layout
+
+\begin_layout LyX-Code
+    <struct>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="type">WallVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="wall">right</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <list name="variables">
+\end_layout
+
+\begin_layout LyX-Code
+        <struct>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="name">temperature</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="type">double</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="value">0.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+        </struct>
+\end_layout
+
+\begin_layout LyX-Code
+      </list>
+\end_layout
+
+\begin_layout LyX-Code
+    </struct>
+\end_layout
+
+\begin_layout LyX-Code
+    <struct>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="type">WallVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="wall">top</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <list name="variables">
+\end_layout
+
+\begin_layout LyX-Code
+        <struct>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="name">temperature</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="type">double</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="value">0.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+        </struct>
+\end_layout
+
+\begin_layout LyX-Code
+      </list>
+\end_layout
+
+\begin_layout LyX-Code
+    </struct> 
+\end_layout
+
+\begin_layout LyX-Code
+    <struct>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="type">WallVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="wall">front</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <list name="variables">
+\end_layout
+
+\begin_layout LyX-Code
+        <struct>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="name">temperature</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="type">double</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="value">0.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+        </struct>
+\end_layout
+
+\begin_layout LyX-Code
+      </list>
+\end_layout
+
+\begin_layout LyX-Code
+    </struct> 
+\end_layout
+
+\begin_layout LyX-Code
+    <struct>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="type">WallVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="wall">back</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <list name="variables">
+\end_layout
+
+\begin_layout LyX-Code
+        <struct>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="name">temperature</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="type">double</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="value">0.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+        </struct>
+\end_layout
+
+\begin_layout LyX-Code
+      </list>
+\end_layout
+
+\begin_layout LyX-Code
+    </struct> 
+\end_layout
+
+\begin_layout LyX-Code
+  </list>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Add in initial conditions for the temperature after the boundary conditions
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<struct name="temperatureICs">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="type">CompositeVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <list name="vcList">
+\end_layout
+
+\begin_layout LyX-Code
+    <struct>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="type">AllNodesVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <list name="variables">
+\end_layout
+
+\begin_layout LyX-Code
+        <struct>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="name">temperature</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="type">double</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="value">0.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+        </struct>
+\end_layout
+
+\begin_layout LyX-Code
+      </list>
+\end_layout
+
+\begin_layout LyX-Code
+    </struct> 
+\end_layout
+
+\begin_layout LyX-Code
+  </list>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Specify the background material's coefficient of thermal expansivity and
+ diffusivity by adding after
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<struct name="viscous">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">RheologyMaterial</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Shape">boxShape</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="density">1.0</param>
+\end_layout
+
+\begin_layout Standard
+the lines
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="alpha">1.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="diffusivity">1.0</param>
+\end_layout
+
+\begin_layout Standard
+For the sphere, after the lines
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="sphereViscous">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">RheologyMaterial</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Shape">sphereShape</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="density">1.0</param>
+\end_layout
+
+\begin_layout Standard
+add the lines
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="alpha">10.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="diffusivity">10.0</param>
+\end_layout
+
+\begin_layout Standard
+This makes the sphere more expansive and conductive.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Tell the buoyancy force term about the temperature field by adding after
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<struct name="buoyancyForceTerm">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">BuoyancyForceTerm</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="ForceVector">mom_force</param>
+\end_layout
+
+\begin_layout Standard
+the line
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="TemperatureField">TemperatureField</param>
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Finally, to highlight the effects of temperature, make the boundary move
+ more slowly by changing the line after
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<param name="type">WallVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+<param name="wall">right</param>
+\end_layout
+
+\begin_layout LyX-Code
+<list name="variables">
+\end_layout
+
+\begin_layout LyX-Code
+  <struct>
+\end_layout
+
+\begin_layout LyX-Code
+    <param name="name">vx</param>
+\end_layout
+
+\begin_layout LyX-Code
+    <param name="type">double</param>
+\end_layout
+
+\begin_layout Standard
+from
+\end_layout
+
+\begin_layout LyX-Code
+    <param name="value">1.0</param>
+\end_layout
+
+\begin_layout Standard
+to
+\end_layout
+
+\begin_layout LyX-Code
+    <param name="value">0.0001</param> 
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+A worked example is in 
+\family typewriter
+thermal.xml
+\family default
+.
+ A visualization of the temperature and velocity is shown in Figure 
+\begin_inset LatexCommand \ref{fig:Temperature-and-velocity}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\begin_inset Graphics
+	filename images/Paraview_thermal.png
+	lyxscale 75
+	scale 75
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+\begin_inset LatexCommand \label{fig:Temperature-and-velocity}
+
+\end_inset
+
+Temperature and velocities for thermal convection example
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
 \begin_layout Chapter
 Modifying Gale
 \begin_inset LatexCommand \label{cha:Modifying-Gale}
@@ -5159,17 +5781,27 @@
 \end_layout
 
 \begin_layout Subsection
-Velocity Boundary Conditions
+Initial and Boundary Conditions
 \end_layout
 
 \begin_layout Standard
-This section specifies what the boundary conditions on the velocity will
- be.
- See Section 
+These sections specify the boundary conditions on the velocity, and the
+ initial and boundary conditions for the temperature.
+ See Sections 
 \begin_inset LatexCommand \ref{sub:Velocity-Boundary-Conditions}
 
 \end_inset
 
+, 
+\begin_inset LatexCommand \ref{sub:Temperature-Boundary-Conditions}
+
+\end_inset
+
+, and 
+\begin_inset LatexCommand \ref{sec:Temperature-Initial-Conditions}
+
+\end_inset
+
  for more details.
 \end_layout
 
@@ -6642,6 +7274,411 @@
 \end_layout
 
 \begin_layout Section
+Temperature components
+\begin_inset LatexCommand \label{sec:Temperature-components}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+To have Gale use and evolve the temperature, you need to add the following
+ components
+\end_layout
+
+\begin_layout LyX-Code
+<!-- Temperature components -->
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="temperature">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">MeshVariable</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Rank">Scalar</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="DataType">Double</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="mesh">mesh-linear</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="temperatureBCs">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">CompositeVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Data">mesh-linear</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="temperatureICs">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">CompositeVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Data">mesh-linear</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="temperatureDofLayout">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">DofLayout</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="mesh">mesh-linear</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <list name="BaseVariables">
+\end_layout
+
+\begin_layout LyX-Code
+    <param>temperature</param>
+\end_layout
+
+\begin_layout LyX-Code
+  </list>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="TemperatureField">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">FeVariable</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="FEMesh">mesh-linear</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="DofLayout">temperatureDofLayout</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="BC">temperatureBCs</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="IC">temperatureICs</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="LinkedDofInfo">temperatureLinkedDofs</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="TemperatureGradientsField">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">OperatorFeVariable</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Operator">Gradient</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="FeVariable">TemperatureField</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+  
+\end_layout
+
+\begin_layout LyX-Code
+<!-- Energy Equation -->
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="residual">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">ForceVector</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="FeVariable">TemperatureField</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="massMatrix">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">ForceVector</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="FeVariable">TemperatureField</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="predictorMulticorrector">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">AdvDiffMulticorrector</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="EnergyEqn">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">AdvectionDiffusionSLE</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="SLE_Solver">predictorMulticorrector</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Context">context</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="PhiField">TemperatureField</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Residual">residual</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="MassMatrix">massMatrix</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="courantFactor">0.25</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="lumpedMassMatrixForceTerm">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">LumpedMassMatrixForceTerm</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Swarm">gaussSwarm</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="ForceVector">massMatrix</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="defaultResidualForceTerm">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">AdvDiffResidualForceTerm</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Swarm">gaussSwarm</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="ForceVector">residual</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="ExtraInfo">EnergyEqn</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="VelocityField">VelocityField</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="defaultDiffusivity">defaultDiffusivity</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="UpwindXiFunction">Exact</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout Standard
+You should never need to modify these components.
+\end_layout
+
+\begin_layout Standard
+You need to specify the thermal diffusivity.
+ You can specify a single diffusivity for all materials by adding a line
+ like 
+\end_layout
+
+\begin_layout LyX-Code
+<param name="defaultDiffusivity">1</param>
+\end_layout
+
+\begin_layout Standard
+to the list of variables.
+ You can also override this default for each material (see Section 
+\begin_inset LatexCommand \ref{sec:Materials}
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Standard
+You will also need to add in initial and boundary conditions (see Sections
+ 
+\begin_inset LatexCommand \ref{sub:Temperature-Boundary-Conditions}
+
+\end_inset
+
+ and 
+\begin_inset LatexCommand \ref{sec:Temperature-Initial-Conditions}
+
+\end_inset
+
+).
+ Finally, you may want to set material properties for the buoyancy forces
+ (see Section 
+\begin_inset LatexCommand \ref{sec:Buoyancy-Forces}
+
+\end_inset
+
+)
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="2" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Defaults
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+defaultDiffusivity
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+1
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
 Shapes
 \begin_inset LatexCommand \label{sec:Shapes}
 
@@ -8386,11 +9423,16 @@
 \end_layout
 
 \begin_layout Standard
-To output the effective isotropic viscosity, you have to add a 
+To output the effective isotropic viscosity and stress, you have to add
+ 
 \family typewriter
 StoreVisc
 \family default
- component
+ and 
+\family typewriter
+StoreStress
+\family default
+ components
 \end_layout
 
 \begin_layout LyX-Code
@@ -8409,8 +9451,24 @@
 </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
-and then add that to the material
+and then add them to the material
 \end_layout
 
 \begin_layout LyX-Code
@@ -8434,6 +9492,10 @@
 \end_layout
 
 \begin_layout LyX-Code
+    <param>storeStress</param>
+\end_layout
+
+\begin_layout LyX-Code
     <param>viscousRheology</param>
 \end_layout
 
@@ -8449,8 +9511,123 @@
 </struct>
 \end_layout
 
+\begin_layout Standard
+You can also specify a density, a coefficient of thermal expansivity (
+\begin_inset Formula $\alpha$
+\end_inset
+
+), and a thermal diffusivity for each material.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="4" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Defaults
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+density
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+0
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+alpha
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+0
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+diffusivity
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+1
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\newline
+The density and expansivity are used by the BuoyancyForceTerm component
+ (see Section 
+\begin_inset LatexCommand \ref{sub:BouyancyForceTerm}
+
+\end_inset
+
+) to create buoyancy forces.
+ The diffusivity is used by the temperature solver (see Section 
+\begin_inset LatexCommand \ref{sec:Temperature-components}
+
+\end_inset
+
+).
+\end_layout
+
 \begin_layout Subsection
-StoreVisc
+StoreVisc and StoreStress
 \begin_inset LatexCommand \label{sub:StoreViscosity}
 
 \end_inset
@@ -8459,13 +9636,13 @@
 \end_layout
 
 \begin_layout Standard
-This is not a rheology per se, but rather it is an extra field where Gale
- saves the effective isotropic viscosity.
- For pure viscous materials, this will be the same as the viscosity you
- supply.
+These are not rheologies per se, but rather extra fields where Gale saves
+ the effective isotropic viscosity and components of the stress tensor.
+ For pure viscous materials, the effective viscosity will be the same as
+ the viscosity you supply.
  For yielding rheologies, the effective viscosity will change as the particle
  yields.
- This component needs a 
+ These components needs a 
 \family typewriter
 MaterialPointsSwarm
 \family default
@@ -8516,7 +9693,7 @@
 \begin_inset Text
 
 \begin_layout Standard
-1
+none
 \end_layout
 
 \end_inset
@@ -9753,6 +10930,11 @@
 
 \begin_layout Section
 Boundary Conditions
+\begin_inset LatexCommand \label{sec:Boundary-Conditions}
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Standard
@@ -10327,7 +11509,616 @@
 <param name="GaussianDim">0</param>
 \end_layout
 
+\begin_layout Subsection
+Temperature Boundary Conditions
+\begin_inset LatexCommand \label{sub:Temperature-Boundary-Conditions}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Setting the boundary conditions on the temperature works almost exactly
+ the same as velocity boundary conditions (see Section 
+\begin_inset LatexCommand \ref{sub:Velocity-Boundary-Conditions}
+
+\end_inset
+
+).
+ You need only change 
+\family typewriter
+velocityBCs
+\family default
+ to 
+\family typewriter
+temperatureBCs
+\family default
+ and the velocity variable (e.g.
+ 
+\family typewriter
+vx
+\family default
+) to 
+\family typewriter
+temperature
+\family default
+.
+ For example, to set the bottom temperature to 1, you would add
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="temperatureBCs">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="type">CompositeVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <list name="vcList">
+\end_layout
+
+\begin_layout LyX-Code
+    <struct>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="type">WallVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="wall">bottom</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <list name="variables">
+\end_layout
+
+\begin_layout LyX-Code
+        <struct>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="name">temperature</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="type">double</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="value">1.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+        </struct>
+\end_layout
+
+\begin_layout LyX-Code
+      </list>
+\end_layout
+
+\begin_layout LyX-Code
+    </struct> 
+\end_layout
+
+\begin_layout LyX-Code
+  </list>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
 \begin_layout Section
+Temperature Initial Conditions
+\begin_inset LatexCommand \label{sec:Temperature-Initial-Conditions}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+For temperature dependent problems, you need to set initial conditions for
+ the temperature.
+ Because we are ignoring inertial effects, the interior velocity is completely
+ determined by the boundary conditions.
+ Setting initial conditions is similar to setting boundary conditions.
+ The only difference is to change the condition type from 
+\family typewriter
+WallVC
+\family default
+ to 
+\family typewriter
+AllNodesVC
+\family default
+.
+ As an example, to set the initial temperature everywhere to 1, you would
+ add
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="temperatureICs">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="type">CompositeVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <list name="vcList">
+\end_layout
+
+\begin_layout LyX-Code
+    <struct>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="type">AllNodesVC</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <param name="wall">bottom</param>
+\end_layout
+
+\begin_layout LyX-Code
+      <list name="variables">
+\end_layout
+
+\begin_layout LyX-Code
+        <struct>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="name">temperature</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="type">double</param>
+\end_layout
+
+\begin_layout LyX-Code
+          <param name="value">1.0</param>
+\end_layout
+
+\begin_layout LyX-Code
+        </struct>
+\end_layout
+
+\begin_layout LyX-Code
+      </list>
+\end_layout
+
+\begin_layout LyX-Code
+    </struct> 
+\end_layout
+
+\begin_layout LyX-Code
+  </list>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout Section
+Buoyancy Forces
+\begin_inset LatexCommand \label{sec:Buoyancy-Forces}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Gales supports two types of Buoyancy forces.
+\end_layout
+
+\begin_layout Subsection
+BouyancyForceTerm
+\begin_inset LatexCommand \label{sub:BouyancyForceTerm}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+If you add this component, then there will be a force on each particle of
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+F=-\rho g.\]
+
+\end_inset
+
+If you specify a 
+\family typewriter
+TemperatureField
+\family default
+, then the force becomes 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+F=-\rho g\left(1-\alpha T\right).\]
+
+\end_inset
+
+ The density (
+\begin_inset Formula $\rho$
+\end_inset
+
+) and coefficient of thermal expansivity (
+\begin_inset Formula $\alpha$
+\end_inset
+
+) are taken from the material properties (see Section 
+\begin_inset LatexCommand \ref{sec:Materials}
+
+\end_inset
+
+).
+ The vector 
+\family typewriter
+gravityDirection
+\family default
+ determines the direction of the force.
+ In the sample input files, 
+\family typewriter
+ForceVector
+\family default
+ is always 
+\family typewriter
+mom_force
+\family default
+, and 
+\family typewriter
+Swarm
+\family default
+ is always 
+\family typewriter
+picIntegrationPoints
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Defaults
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+gravity
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+0
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+gravityDirection
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+(0,1,0)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+TemperatureField
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+none
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+ForceVector
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+none
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Swarm
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+none
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+BuoyancyForceTermThermoChem
+\begin_inset LatexCommand \label{sub:BuoyancyForceTermThermoChem}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+If you add this component, then there will be a vertical force on each particle
+ of
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+F=-\rho Ra_{C}.\]
+
+\end_inset
+
+If you specify a 
+\family typewriter
+TemperatureField
+\family default
+, then the force becomes 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \[
+F=Ra_{T}T-\rho Ra_{C}.\]
+
+\end_inset
+
+ The thermal (
+\begin_inset Formula $Ra_{T}$
+\end_inset
+
+) and chemical (
+\begin_inset Formula $Ra_{C}$
+\end_inset
+
+) Rayleigh numbers are the same for all materials.
+ In contrast to 
+\family typewriter
+BuoyanceForceTerm
+\family default
+, the force is always in the vertical (y) direction.
+ In the sample input files, 
+\family typewriter
+ForceVector
+\family default
+ is always 
+\family typewriter
+mom_force
+\family default
+, and 
+\family typewriter
+Swarm
+\family default
+ is always 
+\family typewriter
+picIntegrationPoints
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Defaults
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+RaC
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+0
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+RaT
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+0
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+TemperatureField
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+none
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+ForceVector
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+none
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Swarm
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+none
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
 Deformed Upper Boundary
 \begin_inset LatexCommand \label{sec:Deformed-Upper-Boundary}
 
@@ -11101,7 +12892,9 @@
 
 \begin_layout Standard
 There will also be a timeInfo file, which records the start time and dt
- for that time step, and materialSwarm which is described in Section 
+ for that time step.
+ So to get the time at the end of the step, you need to add the two numbers.
+ The materialSwarm files are described in Section 
 \begin_inset LatexCommand \ref{sec:.dat-Binary-Files}
 
 \end_inset
@@ -11181,7 +12974,7 @@
  This line is already in the example input files.
  The default is to output the ASCII files 
 \family typewriter
-yielding.*.txt
+particles.*.txt
 \family default
 .
  The format of the file is
@@ -11190,12 +12983,24 @@
 \begin_layout LyX-Code
 m x y z
 \family typewriter
- yielded viscosity
+ yielded viscosity density alpha diffusivity stress_xx stress_xy stress_yy
 \end_layout
 
 \begin_layout Standard
-where 
+in 2D and 
+\end_layout
+
+\begin_layout LyX-Code
+m x y z
 \family typewriter
+ yielded viscosity density alpha diffusivity stress_xx stress_xy stress_xz
+ stress_yy stress_yz stress_zz
+\end_layout
+
+\begin_layout Standard
+in 3D.
+ In that file, 
+\family typewriter
 m
 \family default
  is a unique number for the material, 
@@ -11210,11 +13015,27 @@
 \family typewriter
 1
 \family default
- indicating how much a material point has failed, and 
+ indicating how much a material point has failed, 
 \family typewriter
 viscosity
 \family default
- is material's isotropic viscosity.
+ is the material's isotropic viscosity, 
+\family typewriter
+density
+\family default
+ is the material's density, 
+\family typewriter
+alpha
+\family default
+ is the material's coefficient of thermal expansivity, 
+\family typewriter
+diffusivity
+\family default
+ is the material thermal diffusivity, and 
+\family typewriter
+stress
+\family default
+ is the components of the stress at that material point.
  If the material does not yield (e.g.
  is purely viscous), then yielded is always zero.
  

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


Property changes on: long/3D/Gale/trunk/documentation/images/Paraview_thermal.png
___________________________________________________________________
Name: svn:mime-type
   + image/x-png

Modified: long/3D/Gale/trunk/input/cookbook/multi_material.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/multi_material.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/cookbook/multi_material.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -342,6 +342,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
 
 
     <struct name="sphereShape">
@@ -366,6 +370,7 @@
       <list name="Rheology">
         <param>backgroundViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
 
@@ -381,6 +386,7 @@
       <list name="Rheology">
         <param>sphereViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
 

Added: long/3D/Gale/trunk/input/cookbook/thermal.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/thermal.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/cookbook/thermal.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -0,0 +1,679 @@
+<?xml version="1.0"?>
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+  <struct name="components">
+    <struct name="conditionFunctions">
+      <param name="Type">StgFEM_StandardConditionFunctions</param>
+    </struct>
+    <struct name="mesh-constant">
+      <param name="Type">FeMesh</param>
+      <param name="elementType">constant</param>
+    </struct>
+    <struct name="constantMesh-generator">
+      <param name="Type">C0Generator</param>
+      <param name="mesh">mesh-constant</param>
+      <param name="elementMesh">mesh-linear</param>
+    </struct>
+    <struct name="mesh-linear">
+      <param name="Type">FeMesh</param>
+      <param name="elementType">linear</param>
+    </struct>
+    <struct name="linearMesh-generator">
+      <param name="Type">CartesianGenerator</param>
+      <param name="mesh">mesh-linear</param>
+      <param name="dim">dim</param>
+      <param name="shadowDepth">shadowDepth</param>
+      <list name="size">
+        <param>elementResI</param>
+        <param>elementResJ</param>
+        <param>elementResK</param>
+      </list>
+      <list name="minCoord">
+        <param>minX</param>
+        <param>minY</param>
+        <param>minZ</param>
+      </list>
+      <list name="maxCoord">
+        <param>maxX</param>
+        <param>maxY</param>
+        <param>maxZ</param>
+      </list>
+    </struct>
+    <struct name="velocity">
+      <param name="Type">MeshVariable</param>
+      <param name="mesh">mesh-linear</param>
+      <param name="Rank">Vector</param>
+      <param name="DataType">Double</param>
+      <param name="VectorComponentCount">dim</param>
+      <list name="names">
+        <param>vx</param>
+        <param>vy</param>
+        <param>vz</param>
+      </list>
+    </struct>
+    <struct name="velocityBCs">
+      <param name="Type">CompositeVC</param>
+      <param name="Data">mesh-linear</param>
+    </struct>
+    <struct name="velocityICs">
+      <param name="Type">CompositeVC</param>
+      <param name="Data">mesh-linear</param>
+    </struct>
+    <struct name="velocityDofLayout">
+      <param name="Type">DofLayout</param>
+      <param name="mesh">mesh-linear</param>
+      <param name="BaseVariableCount">dim</param>
+      <list name="BaseVariables">
+        <param>vx</param>
+        <param>vy</param>
+        <param>vz</param>
+      </list>
+    </struct>
+    <struct name="VelocityField">
+      <param name="Type">FeVariable</param>
+      <param name="FEMesh">mesh-linear</param>
+      <param name="DofLayout">velocityDofLayout</param>
+      <param name="BC">velocityBCs</param>
+      <param name="IC">velocityICs</param>
+      <param name="LinkedDofInfo">velocityLinkedDofs</param>
+    </struct>
+    <struct name="VelocityMagnitudeField">
+      <param name="Type">OperatorFeVariable</param>
+      <param name="Operator">Magnitude</param>
+      <param name="FeVariable">VelocityField</param>
+    </struct>
+    <struct name="VelocityGradientsField">
+      <param name="Type">OperatorFeVariable</param>
+      <param name="Operator">Gradient</param>
+      <param name="FeVariable">VelocityField</param>
+    </struct>
+    <struct name="VelocityGradientsInvariantField">
+      <param name="Type">OperatorFeVariable</param>
+      <param name="Operator">TensorInvariant</param>
+      <param name="FeVariable">VelocityGradientsField</param>
+    </struct>
+    <struct name="StrainRateField">
+      <param name="Type">OperatorFeVariable</param>
+      <param name="Operator">TensorSymmetricPart</param>
+      <param name="FeVariable">VelocityGradientsField</param>
+    </struct>
+    <struct name="VorticityField">
+      <param name="Type">OperatorFeVariable</param>
+      <param name="Operator">TensorAntisymmetricPart</param>
+      <param name="FeVariable">VelocityGradientsField</param>
+    </struct>
+    <struct name="StrainRateInvariantField">
+      <param name="Type">OperatorFeVariable</param>
+      <param name="Operator">SymmetricTensor_Invariant</param>
+      <param name="FeVariable">StrainRateField</param>
+    </struct>
+    <struct name="pressure">
+      <param name="Type">MeshVariable</param>
+      <param name="mesh">mesh-constant</param>
+      <param name="Rank">Scalar</param>
+      <param name="DataType">Double</param>
+    </struct>
+    <struct name="pressureDofLayout">
+      <param name="Type">DofLayout</param>
+      <param name="mesh">mesh-constant</param>
+      <list name="BaseVariables">
+        <param>pressure</param>
+      </list>
+    </struct>
+    <struct name="PressureField">
+      <param name="Type">FeVariable</param>
+      <param name="FEMesh">mesh-constant</param>
+      <param name="DofLayout">pressureDofLayout</param>
+      <param name="LinkedDofInfo">pressureLinkedDofs</param>
+    </struct>
+    <struct name="cellLayout">
+      <param name="Type">SingleCellLayout</param>
+    </struct>
+    <struct name="particleLayout">
+      <param name="Type">GaussParticleLayout</param>
+    </struct>
+    <struct name="gaussSwarm">
+      <param name="Type">IntegrationPointsSwarm</param>
+      <param name="CellLayout">cellLayout</param>
+      <param name="ParticleLayout">particleLayout</param>
+      <param name="FeMesh">mesh-linear</param>
+      <param name="TimeIntegrator">timeIntegrator</param>
+      <param name="IntegrationPointMapper">gaussMapper</param>
+    </struct>
+    <struct name="gaussMapper">
+      <param name="Type">GaussMapper</param>
+      <param name="IntegrationPointsSwarm">gaussSwarm</param>
+      <param name="MaterialPointsSwarm">gaussMaterialSwarm</param>
+    </struct>
+    <struct name="backgroundLayout">
+      <param name="Type">BackgroundParticleLayout</param>
+    </struct>
+    <struct name="gaussMaterialSwarm">
+      <param name="Type">MaterialPointsSwarm</param>
+      <param name="CellLayout">cellLayout</param>
+      <param name="ParticleLayout">backgroundLayout</param>
+      <param name="FeMesh">mesh-linear</param>
+    </struct>
+    <struct name="timeIntegrator">
+      <param name="Type">TimeIntegrator</param>
+      <param name="order">1</param>
+      <param name="simultaneous">t</param>
+      <param name="Context">context</param>
+    </struct>
+    <struct name="elementCellLayout">
+      <param name="Type">ElementCellLayout</param>
+      <param name="Mesh">mesh-linear</param>
+    </struct>
+    <struct name="weights">
+      <param name="Type">PCDVC</param>
+      <param name="resolutionX">10</param>
+      <param name="resolutionY">10</param>
+      <param name="resolutionZ">10</param>
+      <param name="lowerT">0.6</param>
+      <param name="upperT">25</param>
+      <param name="maxDeletions">3</param>
+      <param name="maxSplits">3</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
+    <struct name="localLayout">
+      <param name="Type">MappedParticleLayout</param>
+    </struct>
+    <struct name="picIntegrationPoints">
+      <param name="Type">IntegrationPointsSwarm</param>
+      <param name="CellLayout">elementCellLayout</param>
+      <param name="ParticleLayout">localLayout</param>
+      <param name="FeMesh">mesh-linear</param>
+      <param name="WeightsCalculator">weights</param>
+      <param name="TimeIntegrator">timeIntegrator</param>
+      <param name="IntegrationPointMapper">mapper</param>
+    </struct>
+    <struct name="mapper">
+      <param name="Type">CoincidentMapper</param>
+      <param name="IntegrationPointsSwarm">picIntegrationPoints</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
+    <struct name="materialSwarmParticleLayout">
+      <param name="Type">MeshParticleLayout</param>
+      <param name="mesh">mesh-linear</param>
+      <param name="cellParticleCount">particlesPerCell</param>
+    </struct>
+    <struct name="materialSwarm">
+      <param name="Type">MaterialPointsSwarm</param>
+      <param name="CellLayout">elementCellLayout</param>
+      <param name="ParticleLayout">materialSwarmParticleLayout</param>
+      <param name="FeMesh">mesh-linear</param>
+      <param name="SplittingRoutine">splittingRoutine</param>
+      <param name="RemovalRoutine">removalRoutine</param>
+      <param name="EscapedRoutine">escapedRoutine</param>
+    </struct>
+    <struct name="materialSwarmAdvector">
+      <param name="Type">SwarmAdvector</param>
+      <param name="Swarm">materialSwarm</param>
+      <param name="TimeIntegrator">timeIntegrator</param>
+      <param name="VelocityField">VelocityField</param>
+      <param name="PeriodicBCsManager">periodicBCsManager</param>
+      <param name="allowFallbackToFirstOrder">True</param>
+    </struct>
+    <struct name="splittingRoutine">
+      <param name="Type">ReseedSplitting</param>
+      <param name="idealParticleCount">particlesPerCell</param>
+    </struct>
+    <struct name="solutionVelocity">
+      <param name="Type">SolutionVector</param>
+      <param name="FeVariable">VelocityField</param>
+    </struct>
+    <struct name="solutionPressure">
+      <param name="Type">SolutionVector</param>
+      <param name="FeVariable">PressureField</param>
+    </struct>
+    <struct name="mom_force">
+      <param name="Type">ForceVector</param>
+      <param name="FeVariable">VelocityField</param>
+      <param name="ExtraInfo">context</param>
+    </struct>
+    <struct name="cont_force">
+      <param name="Type">ForceVector</param>
+      <param name="FeVariable">PressureField</param>
+      <param name="ExtraInfo">context</param>
+    </struct>
+    <struct name="k_matrix">
+      <param name="Type">StiffnessMatrix</param>
+      <param name="RowVariable">VelocityField</param>
+      <param name="ColumnVariable">VelocityField</param>
+      <param name="RHS">mom_force</param>
+      <param name="allowZeroElementContributions">False</param>
+    </struct>
+    <struct name="constitutiveMatrix">
+      <param name="Type">ConstitutiveMatrixCartesian</param>
+      <param name="Swarm">picIntegrationPoints</param>
+      <param name="StiffnessMatrix">k_matrix</param>
+    </struct>
+    <struct name="g_matrix">
+      <param name="Type">StiffnessMatrix</param>
+      <param name="RowVariable">VelocityField</param>
+      <param name="ColumnVariable">PressureField</param>
+      <param name="RHS">cont_force</param>
+      <param name="allowZeroElementContributions">False</param>
+    </struct>
+    <struct name="gradientStiffnessMatrixTerm">
+      <param name="Type">GradientStiffnessMatrixTerm</param>
+      <param name="Swarm">gaussSwarm</param>
+      <param name="StiffnessMatrix">g_matrix</param>
+    </struct>
+    <struct name="preconditioner">
+      <param name="Type">StiffnessMatrix</param>
+      <param name="RowVariable">PressureField</param>
+      <param name="ColumnVariable">PressureField</param>
+      <param name="RHS">cont_force</param>
+      <param name="allowZeroElementContributions">True</param>
+    </struct>
+    <struct name="preconditionerTerm">
+      <param name="Type">UzawaPreconditionerTerm</param>
+      <param name="Swarm">picIntegrationPoints</param>
+      <param name="StiffnessMatrix">preconditioner</param>
+    </struct>
+    <struct name="uzawa">
+      <param name="Type">Stokes_SLE_UzawaSolver</param>
+      <param name="Preconditioner">preconditioner</param>
+      <param name="tolerance">1.0e-5</param>
+      <param name="maxIterations">5000</param>
+    </struct>
+    <struct name="stokesEqn">
+      <param name="Type">Stokes_SLE</param>
+      <param name="SLE_Solver">uzawa</param>
+      <param name="Context">context</param>
+      <param name="StressTensorMatrix">k_matrix</param>
+      <param name="GradientMatrix">g_matrix</param>
+      <param name="DivergenceMatrix"></param>
+      <param name="CompressibilityMatrix">c_matrix</param>
+      <param name="VelocityVector">solutionVelocity</param>
+      <param name="PressureVector">solutionPressure</param>
+      <param name="ForceVector">mom_force</param>
+      <param name="ContinuityForceVector">cont_force</param>
+      <param name="killNonConvergent">false</param>
+      <param name="nonLinearMaxIterations">nonLinearMaxIterations</param>
+      <param name="nonLinearTolerance">nonLinearTolerance</param>
+      <param name="makeConvergenceFile">false</param>
+    </struct>
+    <struct name="buoyancyForceTerm">
+      <param name="Type">BuoyancyForceTerm</param>
+      <param name="ForceVector">mom_force</param>
+      <param name="TemperatureField">TemperatureField</param>
+      <param name="Swarm">picIntegrationPoints</param>
+      <param name="gravity">1.0</param>
+    </struct>
+    <struct name="background">
+      <param name="Type">Everywhere</param>
+    </struct>
+    <struct name="escapedRoutine">
+      <param name="Type">EscapedRoutine</param>
+      <param name="idealParticleCount">0</param>
+    </struct>
+    <struct name="velocityRemesher">
+      <param name="Type">StripRemesher</param>
+      <param name="mesh">mesh-linear</param>
+      <param name="meshType">regular</param>
+      <list name="dim">
+        <param>true</param>
+        <param>true</param>
+        <param>true</param>
+      </list>
+    </struct>
+    <struct name="pressureRemesher">
+      <param name="Type">CellRemesher</param>
+      <param name="mesh">mesh-constant</param>
+      <param name="meshType">regular</param>
+      <param name="dim">3</param>
+      <param name="cellMesh">mesh-linear</param>
+    </struct>
+
+    <struct name="boxShape">
+      <param name="Type">Box</param>
+      <param name="startX">minX</param>
+      <param name="endX">maxX</param>
+      <param name="startY">minY</param>
+      <param name="endY">maxY</param>
+      <param name="startZ">minZ</param>
+      <param name="endZ">maxZ</param>
+    </struct>
+    <struct name="backgroundViscosity">
+      <param name="Type">MaterialViscosity</param>
+      <param name="eta0">1.0</param>
+    </struct>
+    <struct name="storeViscosity">
+      <param name="Type">StoreVisc</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
+
+
+    <struct name="sphereShape">
+      <param name="Type">Sphere</param>
+      <param name="CentreX">1.0</param>
+      <param name="CentreY">0.15</param>
+      <param name="radius">0.1</param>
+    </struct>
+
+    <struct name="nonSphereShape">
+      <param name="Type">Intersection</param>
+      <list name="shapes">
+        <param>boxShape</param>
+        <param>!sphereShape</param>
+      </list>
+    </struct>
+
+    <struct name="viscous">
+      <param name="Type">RheologyMaterial</param>
+      <param name="Shape">nonSphereShape</param>
+      <param name="density">1.0</param>
+      <param name="alpha">1.0</param>
+      <param name="diffusivity">1.0</param>
+      <list name="Rheology">
+        <param>backgroundViscosity</param>
+        <param>storeViscosity</param>
+        <param>storeStress</param>
+      </list>
+    </struct>
+
+    <struct name="sphereViscosity">
+      <param name="Type">MaterialViscosity</param>
+      <param name="eta0">10.0</param>
+    </struct>
+
+    <struct name="sphereViscous">
+      <param name="Type">RheologyMaterial</param>
+      <param name="Shape">sphereShape</param>
+      <param name="density">1.0</param>
+      <param name="alpha">10.0</param>
+      <param name="diffusivity">10.0</param>
+      <list name="Rheology">
+        <param>sphereViscosity</param>
+        <param>storeViscosity</param>
+        <param>storeStress</param>
+      </list>
+    </struct>
+
+
+    <!-- Temperature components -->
+    <struct name="temperature">
+      <param name="Type">MeshVariable</param>
+      <param name="Rank">Scalar</param>
+      <param name="DataType">Double</param>
+      <param name="mesh">mesh-linear</param>
+    </struct>
+    <struct name="temperatureBCs">
+      <param name="Type">CompositeVC</param>
+      <param name="Data">mesh-linear</param>
+    </struct>
+    <struct name="temperatureICs">
+      <param name="Type">CompositeVC</param>
+      <param name="Data">mesh-linear</param>
+    </struct>
+    <struct name="temperatureDofLayout">
+      <param name="Type">DofLayout</param>
+      <param name="mesh">mesh-linear</param>
+      <list name="BaseVariables">
+        <param>temperature</param>
+      </list>
+    </struct>
+    <struct name="TemperatureField">
+      <param name="Type">FeVariable</param>
+      <param name="FEMesh">mesh-linear</param>
+      <param name="DofLayout">temperatureDofLayout</param>
+      <param name="BC">temperatureBCs</param>
+      <param name="IC">temperatureICs</param>
+      <param name="LinkedDofInfo">temperatureLinkedDofs</param>
+    </struct>
+    <struct name="TemperatureGradientsField">
+      <param name="Type">OperatorFeVariable</param>
+      <param name="Operator">Gradient</param>
+      <param name="FeVariable">TemperatureField</param>
+    </struct>
+
+    <!-- Energy Equation -->
+
+    <struct name="residual">
+      <param name="Type">ForceVector</param>
+      <param name="FeVariable">TemperatureField</param>
+    </struct>
+    <struct name="massMatrix">
+      <param name="Type">ForceVector</param>
+      <param name="FeVariable">TemperatureField</param>
+    </struct>
+    <struct name="predictorMulticorrector">
+      <param name="Type">AdvDiffMulticorrector</param>
+    </struct>
+    <struct name="EnergyEqn">
+      <param name="Type">AdvectionDiffusionSLE</param>
+      <param name="SLE_Solver">predictorMulticorrector</param>
+      <param name="Context">context</param>
+      <param name="PhiField">TemperatureField</param>
+      <param name="Residual">residual</param>
+      <param name="MassMatrix">massMatrix</param>
+      <param name="courantFactor">0.25</param>
+    </struct>
+    <struct name="lumpedMassMatrixForceTerm">
+      <param name="Type">LumpedMassMatrixForceTerm</param>
+      <param name="Swarm">gaussSwarm</param>
+      <param name="ForceVector">massMatrix</param>
+    </struct>
+    <struct name="defaultResidualForceTerm">
+      <param name="Type">AdvDiffResidualForceTerm</param>
+      <param name="Swarm">gaussSwarm</param>
+      <param name="ForceVector">residual</param>
+      <param name="ExtraInfo">EnergyEqn</param>
+      <param name="VelocityField">VelocityField</param>
+      <param name="defaultDiffusivity">defaultDiffusivity</param>
+      <param name="UpwindXiFunction">Exact</param>
+    </struct>
+
+
+  </struct>
+  <list name="plugins">
+    <param>Underworld_EulerDeform</param>
+    <param>Underworld_DumpSwarm</param>
+    <param>Underworld_VTKOutput</param>
+  </list>
+  <param name="maxTimeSteps">10</param>
+  <param name="outputEvery">1</param>
+  <param name="dumpEvery">1</param>
+  <param name="outputPath">./output.template</param>
+  <param name="dim">2</param>
+  <param name="shadowDepth">1</param>
+  <param name="minX">0.0f</param>
+  <param name="minY">0.0f</param>
+  <param name="minZ">0.0f</param>
+  <param name="maxX">2.0f</param>
+  <param name="maxY">0.35f</param>
+  <param name="maxZ">0.3f</param>
+  <param name="elementResI">32</param>
+  <param name="elementResJ">16</param>
+  <param name="elementResK">4</param>
+  <param name="allowUnbalancing">True</param>
+  <param name="buildNodeNeighbourTbl">True</param>
+  <param name="buildElementNeighbourTbl">True</param>
+  <param name="particlesPerCell">30</param>
+  <param name="seed">13</param>
+  <param name="gaussParticlesX">2</param>
+  <param name="gaussParticlesY">2</param>
+  <param name="gaussParticlesZ">2</param>
+  <param name="particlesPerCell">30</param>
+  <struct name="EulerDeform">
+    <list name="systems">
+      <struct>
+        <param name="mesh">mesh-constant</param>
+        <param name="remesher">pressureRemesher</param>
+        <param name="velocityField">VelocityField</param>
+        <list name="fields">
+          <struct>
+            <param name="field">PressureField</param>
+            <param name="variable">pressure</param>
+          </struct>
+        </list>
+      </struct>
+      <struct>
+        <param name="mesh">mesh-linear</param>
+        <param name="remesher">velocityRemesher</param>
+        <param name="velocityField">VelocityField</param>
+        <param name="wrapTop">True</param>
+        <list name="fields">
+          <struct>
+            <param name="field">VelocityField</param>
+            <param name="variable">velocity</param>
+          </struct>
+        </list>
+      </struct>
+    </list>
+  </struct>
+  <struct name="velocityBCs">
+    <param name="type">CompositeVC</param>
+    <list name="vcList">
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">front</param>
+        <list name="variables">
+          <struct>
+            <param name="name">vz</param>
+            <param name="type">double</param>
+            <param name="value">0</param>
+          </struct>
+        </list>
+      </struct>
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">back</param>
+        <list name="variables">
+          <struct>
+            <param name="name">vz</param>
+            <param name="type">double</param>
+            <param name="value">0</param>
+          </struct>
+        </list>
+      </struct>
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">left</param>
+        <list name="variables">
+          <struct>
+            <param name="name">vx</param>
+            <param name="type">double</param>
+            <param name="value">0.0</param>
+          </struct>
+        </list>
+      </struct>
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">right</param>
+        <list name="variables">
+          <struct>
+            <param name="name">vx</param>
+            <param name="type">double</param>
+            <param name="value">0.0001</param>
+          </struct>
+        </list>
+      </struct>
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">bottom</param>
+        <list name="variables">
+          <struct>
+            <param name="name">vy</param>
+            <param name="type">double</param>
+            <param name="value">0.0</param>
+          </struct>
+        </list>
+      </struct>
+    </list>
+  </struct>
+
+  <struct name="temperatureBCs">
+    <param name="type">CompositeVC</param>
+    <list name="vcList">
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">bottom</param>
+        <list name="variables">
+          <struct>
+            <param name="name">temperature</param>
+            <param name="type">double</param>
+            <param name="value">1.0</param>
+          </struct>
+        </list>
+      </struct>
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">left</param>
+        <list name="variables">
+          <struct>
+            <param name="name">temperature</param>
+            <param name="type">double</param>
+            <param name="value">0.0</param>
+          </struct>
+        </list>
+      </struct>
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">right</param>
+        <list name="variables">
+          <struct>
+            <param name="name">temperature</param>
+            <param name="type">double</param>
+            <param name="value">0.0</param>
+          </struct>
+        </list>
+      </struct>
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">top</param>
+        <list name="variables">
+          <struct>
+            <param name="name">temperature</param>
+            <param name="type">double</param>
+            <param name="value">0.0</param>
+          </struct>
+        </list>
+      </struct> 
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">front</param>
+        <list name="variables">
+          <struct>
+            <param name="name">temperature</param>
+            <param name="type">double</param>
+            <param name="value">0.0</param>
+          </struct>
+        </list>
+      </struct> 
+      <struct>
+        <param name="type">WallVC</param>
+        <param name="wall">back</param>
+        <list name="variables">
+          <struct>
+            <param name="name">temperature</param>
+            <param name="type">double</param>
+            <param name="value">0.0</param>
+          </struct>
+        </list>
+      </struct> 
+    </list>
+  </struct>
+  
+  <struct name="temperatureICs">
+    <param name="type">CompositeVC</param>
+    <list name="vcList">
+      <struct>
+        <param name="type">AllNodesVC</param>
+        <list name="variables">
+          <struct>
+            <param name="name">temperature</param>
+            <param name="type">double</param>
+            <param name="value">0.0</param>
+          </struct>
+        </list>
+      </struct> 
+    </list>
+  </struct>
+  <param name="checkpointEvery">1</param>
+</StGermainData>

Modified: long/3D/Gale/trunk/input/cookbook/viscous.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/viscous.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/cookbook/viscous.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -342,6 +342,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
     <struct name="viscous">
       <param name="Type">RheologyMaterial</param>
       <param name="Shape">boxShape</param>
@@ -349,6 +353,7 @@
       <list name="Rheology">
         <param>backgroundViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
 

Modified: long/3D/Gale/trunk/input/cookbook/viscous_extension.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/viscous_extension.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/cookbook/viscous_extension.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -342,6 +342,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
     <struct name="viscous">
       <param name="Type">RheologyMaterial</param>
       <param name="Shape">boxShape</param>
@@ -349,6 +353,7 @@
       <list name="Rheology">
         <param>backgroundViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
 

Modified: long/3D/Gale/trunk/input/cookbook/viscous_inflow.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/viscous_inflow.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/cookbook/viscous_inflow.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -353,6 +353,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
     <struct name="viscous">
       <param name="Type">RheologyMaterial</param>
       <param name="Shape">boxShape</param>
@@ -360,6 +364,7 @@
       <list name="Rheology">
         <param>backgroundViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
 

Modified: long/3D/Gale/trunk/input/cookbook/viscous_sinusoid.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/viscous_sinusoid.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/cookbook/viscous_sinusoid.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -342,6 +342,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
     <struct name="viscous">
       <param name="Type">RheologyMaterial</param>
       <param name="Shape">boxShape</param>
@@ -349,6 +353,7 @@
       <list name="Rheology">
         <param>backgroundViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
 

Modified: long/3D/Gale/trunk/input/cookbook/viscous_split.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/viscous_split.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/cookbook/viscous_split.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -342,6 +342,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
     <struct name="viscous">
       <param name="Type">RheologyMaterial</param>
       <param name="Shape">boxShape</param>
@@ -349,6 +353,7 @@
       <list name="Rheology">
         <param>backgroundViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
 

Modified: long/3D/Gale/trunk/input/cookbook/viscous_stressbc.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/viscous_stressbc.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/cookbook/viscous_stressbc.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -342,6 +342,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
     <struct name="viscous">
       <param name="Type">RheologyMaterial</param>
       <param name="Shape">boxShape</param>
@@ -349,6 +353,7 @@
       <list name="Rheology">
         <param>backgroundViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
 

Modified: long/3D/Gale/trunk/input/cookbook/yielding.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/yielding.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/cookbook/yielding.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -342,6 +342,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
 
     <struct name="sphereShape">
       <param name="Type">Sphere</param>
@@ -362,6 +366,7 @@
       <list name="Rheology">
         <param>sphereViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
 
@@ -403,6 +408,7 @@
         <param>backgroundViscosity</param>
         <param>yielding</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
 

Modified: long/3D/Gale/trunk/input/extension.xml
===================================================================
--- long/3D/Gale/trunk/input/extension.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/extension.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -342,6 +342,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
     <struct name="crust">
       <param name="Type">RheologyMaterial</param>
       <param name="Shape">crustShape</param>
@@ -349,6 +353,7 @@
         <param>crustViscosity</param>
         <param>yielding</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
     <struct name="pdms">
@@ -357,6 +362,7 @@
       <list name="Rheology">
         <param>pdmsViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
     <struct name="escapedRoutine">

Modified: long/3D/Gale/trunk/input/shortening.xml
===================================================================
--- long/3D/Gale/trunk/input/shortening.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/shortening.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -341,6 +341,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
     <struct name="crust">
       <param name="Type">RheologyMaterial</param>
       <param name="Shape">crustShape</param>
@@ -348,6 +352,7 @@
         <param>crustViscosity</param>
         <param>yielding</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
     <struct name="beads">
@@ -356,6 +361,7 @@
       <list name="Rheology">
         <param>beadsViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
     <struct name="surfaceAdaptor">

Modified: long/3D/Gale/trunk/input/sinusoid.xml
===================================================================
--- long/3D/Gale/trunk/input/sinusoid.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/sinusoid.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -313,6 +313,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
     <struct name="pdms">
       <param name="Type">RheologyMaterial</param>
       <param name="Shape">pdmsShape</param>
@@ -320,6 +324,7 @@
       <list name="Rheology">
         <param>pdmsViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
     <struct name="surfaceAdaptor">

Modified: long/3D/Gale/trunk/input/subduction.xml
===================================================================
--- long/3D/Gale/trunk/input/subduction.xml	2007-06-13 17:30:28 UTC (rev 7203)
+++ long/3D/Gale/trunk/input/subduction.xml	2007-06-13 17:41:17 UTC (rev 7204)
@@ -443,6 +443,10 @@
       <param name="Type">StoreVisc</param>
       <param name="MaterialPointsSwarm">materialSwarm</param>
     </struct>
+    <struct name="storeStress">
+      <param name="Type">StoreStress</param>
+      <param name="MaterialPointsSwarm">materialSwarm</param>
+    </struct>
     <struct name="crust">
       <param name="Type">RheologyMaterial</param>
       <param name="Shape">crustShape</param>
@@ -451,6 +455,7 @@
         <param>crustViscosity</param>
         <param>yielding</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
     <struct name="beads">
@@ -460,6 +465,7 @@
       <list name="Rheology">
         <param>beadsViscosity</param>
         <param>storeViscosity</param>
+        <param>storeStress</param>
       </list>
     </struct>
     <struct name="escapedRoutine">



More information about the cig-commits mailing list