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

walter at geodynamics.org walter at geodynamics.org
Fri Jun 15 12:00:28 PDT 2007


Author: walter
Date: 2007-06-15 12:00:26 -0700 (Fri, 15 Jun 2007)
New Revision: 7262

Added:
   long/3D/Gale/trunk/documentation/images/Paraview_viscous_open_boundary.png
   long/3D/Gale/trunk/input/cookbook/viscous_open_boundary.xml
Removed:
   long/3D/Gale/trunk/input/cookbook/viscous_isostasy.xml
Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/documentation/gale.lyx
Log:
 r1840 at earth:  boo | 2007-06-15 11:56:20 -0700
 Change isostasy to open_boundary, and add documentation about it.  Also fix the cookbook input file to add a boundary layer



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

Modified: long/3D/Gale/trunk/documentation/gale.lyx
===================================================================
--- long/3D/Gale/trunk/documentation/gale.lyx	2007-06-15 18:01:27 UTC (rev 7261)
+++ long/3D/Gale/trunk/documentation/gale.lyx	2007-06-15 19:00:26 UTC (rev 7262)
@@ -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
@@ -1313,10 +1313,8 @@
 \family default
  and 
 \family typewriter
-\color default
 StoreStress
 \family default
-\color none
  structs to your rheology as in Section 
 \begin_inset LatexCommand \ref{sec:Viscous-Material}
 
@@ -3527,6 +3525,394 @@
 \end_layout
 
 \begin_layout Section
+Viscous Material in Extension with Open Boundaries
+\end_layout
+
+\begin_layout Standard
+This example modifies the extension example in Section 
+\begin_inset LatexCommand \ref{sec:Viscous-Material-in}
+
+\end_inset
+
+ to use an open boundary on the bottom, instead of specifying the velocity.
+ A stress boundary condition simulates the effect of material below the
+ material pushing up, supporting the material in the box.
+ This will allow material to flow in or out of the simulation as material
+ is thinned out or piled up.
+ This kind of boundary is often more relevant for geological simulations.
+\end_layout
+
+\begin_layout Enumerate
+Copy 
+\family typewriter
+my_viscous_extension.xml
+\family default
+ to 
+\family typewriter
+my_viscous_isostasy.xml
+\end_layout
+
+\begin_layout Enumerate
+Remove the current bottom boundary condition by removing the lines
+\end_layout
+
+\begin_deeper
+\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">vy</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
+
+\end_deeper
+\begin_layout Enumerate
+Add in a StressBC component
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<struct name="stressBC">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">StressBC</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="ForceVector">mom_force</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Swarm">picIntegrationPoints</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="wall">bottom</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="y_type">double</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="y_value">0.35</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout Standard
+The density of the material is 1, and the height is 0.35, so the stress needed
+ to counteract gravity is 0.35.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+The bottom essentially becomes an inflow/outflow boundary, so you need to
+ prevent the bottom from moving by adding after
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<struct>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="mesh">mesh-linear</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="remesher">velocityRemesher</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="velocityField">VelocityField</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="wrapTop">True</param>
+\end_layout
+
+\begin_layout Standard
+the line
+\end_layout
+
+\begin_layout LyX-Code
+<param name="staticBottom">True</param>
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+For the inflow/outflow boundary, you also need to create a boundary shape
+ where particles are created anew.
+ So add a bottom boundary shape component
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<struct name="bottomBoundaryShape">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">Box</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="startX">minX</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="endX">maxX</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="startY">minY</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="endY">0.05</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="startZ">minZ</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="endZ">maxZ</param>
+\end_layout
+
+\begin_layout LyX-Code
+</struct>
+\end_layout
+
+\begin_layout Standard
+and then instruct the particle splitting routine to use this shape by adding
+ 
+\end_layout
+
+\begin_layout LyX-Code
+<param name="originalParticleShape">bottomBoundaryShape</param>
+\end_layout
+
+\begin_layout Standard
+after
+\end_layout
+
+\begin_layout LyX-Code
+<struct name="splittingRoutine">
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="Type">ReseedSplitting</param>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="idealParticleCount">particlesPerCell</param>
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+When you deleted the bottom boundary condition, the vertical velocity became
+ unspecified.
+ Recall that the momentum equation (eq.
+ 
+\begin_inset LatexCommand \ref{eq:simple momentum conservation}
+
+\end_inset
+
+) only depends on the derivative of the velocity.
+ So stress boundary conditions can not set the overall magnitude of the
+ velocity.
+ To fix this, you can fix the material to the sides of the simulation.
+ You do this by adding
+\end_layout
+
+\begin_deeper
+\begin_layout LyX-Code
+<struct>
+\end_layout
+
+\begin_layout LyX-Code
+  <param name="name">vy</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 Standard
+in two places: after
+\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">vx</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 Standard
+and after
+\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">vx</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
+
+\end_deeper
+\begin_layout Standard
+A worked example is at 
+\family typewriter
+input/cookbook/viscous_open_boundary.xml
+\family default
+.
+ A visualization of the strain rate invariant and velocity (see Section
+ 
+\begin_inset LatexCommand \ref{sub:Visualization-with-ParaView}
+
+\end_inset
+
+) is shown in Figure 
+\begin_inset LatexCommand \ref{fig:Strain-viscous-open-boundary}
+
+\end_inset
+
+.
+ Notice that material is now flowing in from the bottom.
+\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_viscous_open_boundary.png
+	lyxscale 75
+	scale 75
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+\begin_inset LatexCommand \label{fig:Strain-viscous-open-boundary}
+
+\end_inset
+
+Strain rate invariant and velocities of viscous material in extension with
+ an open boundary
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
 \begin_inset LatexCommand \label{sec:Viscous-Material-with}
 
 \end_inset
@@ -11331,6 +11717,11 @@
 \end_deeper
 \begin_layout Subsection
 Stress Boundary Conditions
+\begin_inset LatexCommand \label{sub:Stress-Boundary-Conditions}
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Standard
@@ -11340,9 +11731,14 @@
 StressBC
 \family default
  component.
- For example, if you want to simulate an extension model that allows material
- to well up in the middle, then you would specify a constant stress on the
- bottom.
+ For example, if you want to simulate an extension model with isostasy,
+ this is equivalent to adding a supporting stress on the bottom.
+ In equilibrium, the supporting stress cancels the force of gravity, and
+ material does not flow across the boundary.
+ When material piles up, the supporting stress is too weak to support the
+ material, and material flows out.
+ Similarly, when material thins out, the supporting stress overcomes gravity
+ and material flows in.
 \end_layout
 
 \begin_layout Standard
@@ -11353,11 +11749,12 @@
 \end_inset
 
 ), not outside the list like the velocity boundary conditions.
- For example, to specify the stress on the bottom boundary in the 
+ For example, to incorporate an isostatic bottom boundary condition, you
+ would specify the stress on the bottom boundary in the 
 \begin_inset Formula $y$
 \end_inset
 
- direction as a constant, add
+ direction as a constant.
 \end_layout
 
 \begin_layout LyX-Code

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


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

Deleted: long/3D/Gale/trunk/input/cookbook/viscous_isostasy.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/viscous_isostasy.xml	2007-06-15 18:01:27 UTC (rev 7261)
+++ long/3D/Gale/trunk/input/cookbook/viscous_isostasy.xml	2007-06-15 19:00:26 UTC (rev 7262)
@@ -1,487 +0,0 @@
-<?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="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="viscous">
-      <param name="Type">RheologyMaterial</param>
-      <param name="Shape">boxShape</param>
-      <param name="density">1.0</param>
-      <list name="Rheology">
-        <param>backgroundViscosity</param>
-        <param>storeViscosity</param>
-        <param>storeStress</param>
-      </list>
-    </struct>
-
-    <struct name="stressBC">
-      <param name="Type">StressBC</param>
-      <param name="ForceVector">mom_force</param>
-      <param name="Swarm">picIntegrationPoints</param>
-      <param name="wall">bottom</param>
-      <param name="y_type">double</param>
-      <param name="y_value">0.35</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>
-        <param name="staticBottom">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>
-          <struct>
-            <param name="name">vy</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">1.0</param>
-          </struct>
-          <struct>
-            <param name="name">vy</param>
-            <param name="type">double</param>
-            <param name="value">0.0</param>
-          </struct>
-        </list>
-      </struct>
-    </list>
-  </struct>
-  <param name="checkpointEvery">1</param>
-</StGermainData>

Added: long/3D/Gale/trunk/input/cookbook/viscous_open_boundary.xml
===================================================================
--- long/3D/Gale/trunk/input/cookbook/viscous_open_boundary.xml	2007-06-15 18:01:27 UTC (rev 7261)
+++ long/3D/Gale/trunk/input/cookbook/viscous_open_boundary.xml	2007-06-15 19:00:26 UTC (rev 7262)
@@ -0,0 +1,498 @@
+<?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>
+      <param name="originalParticleShape">bottomBoundaryShape</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="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="bottomBoundaryShape">
+      <param name="Type">Box</param>
+      <param name="startX">minX</param>
+      <param name="endX">maxX</param>
+      <param name="startY">minY</param>
+      <param name="endY">0.05</param>
+      <param name="startZ">minZ</param>
+      <param name="endZ">maxZ</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="viscous">
+      <param name="Type">RheologyMaterial</param>
+      <param name="Shape">boxShape</param>
+      <param name="density">1.0</param>
+      <list name="Rheology">
+        <param>backgroundViscosity</param>
+        <param>storeViscosity</param>
+        <param>storeStress</param>
+      </list>
+    </struct>
+
+    <struct name="stressBC">
+      <param name="Type">StressBC</param>
+      <param name="ForceVector">mom_force</param>
+      <param name="Swarm">picIntegrationPoints</param>
+      <param name="wall">bottom</param>
+      <param name="y_type">double</param>
+      <param name="y_value">0.35</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>
+        <param name="staticBottom">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>
+          <struct>
+            <param name="name">vy</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">1.0</param>
+          </struct>
+          <struct>
+            <param name="name">vy</param>
+            <param name="type">double</param>
+            <param name="value">0.0</param>
+          </struct>
+        </list>
+      </struct>
+    </list>
+  </struct>
+  <param name="checkpointEvery">1</param>
+</StGermainData>



More information about the cig-commits mailing list