[cig-commits] r5013 - in long/3D/Gale/trunk/src/Gale: . Apps/Extension Apps/Extension/Gale_Components Apps/Extension/VariableConditions Apps/Extension/Viewports src

walter at geodynamics.org walter at geodynamics.org
Sat Oct 14 11:02:19 PDT 2006


Author: walter
Date: 2006-10-14 11:02:19 -0700 (Sat, 14 Oct 2006)
New Revision: 5013

Added:
   long/3D/Gale/trunk/src/Gale/Apps/Extension/Gale_Components/
   long/3D/Gale/trunk/src/Gale/Apps/Extension/Gale_Components/ElementLayout.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/
   long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.compression.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.extension.2.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.extension.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.sandbox.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.upperCompression.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/Viewports/
   long/3D/Gale/trunk/src/Gale/Apps/Extension/Viewports/MeshVP.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/Viewports/ParticleTypeVP.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/extension.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/pic.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/sandbox.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/simple.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/surface-process.xml
   long/3D/Gale/trunk/src/Gale/Apps/Extension/window.xml
Modified:
   long/3D/Gale/trunk/src/Gale/
   long/3D/Gale/trunk/src/Gale/src/main.c
Log:
 r38 at earth:  boo | 2006-10-14 11:00:00 -0700
  r35 at earth (orig r56):  LukeHodkinson | 2006-10-14 11:22:57 -0700
  * Creating a Gale executable.
  * Adding some XML test files.
  * Creating the surface process interface.
  
 



Property changes on: long/3D/Gale/trunk/src/Gale
___________________________________________________________________
Name: svk:merge
   - 4e4aea6e-fd02-0410-981f-80ab108a5659:/trunk:55
8f887497-cf10-0410-afc2-df8ae19c7fb0:/cig:37
   + 4e4aea6e-fd02-0410-981f-80ab108a5659:/trunk:56
8f887497-cf10-0410-afc2-df8ae19c7fb0:/cig:38

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/Gale_Components/ElementLayout.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/Gale_Components/ElementLayout.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/Gale_Components/ElementLayout.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+  <struct name="components" mergeType="merge">
+    <struct name="geometry">
+      <param name="Type">MeshGeometry</param>
+      <param name="mesh">mesh-linear</param>
+      <param name="decomp">decomp-linear</param>
+      <param name="sizeI">elementResI</param>
+      <param name="sizeJ">elementResJ</param>
+      <param name="sizeK">elementResK</param>
+      <param name="sizeShift">+1</param>
+    </struct>
+    <struct name="elementTopology">
+      <param name="Type">IJK26Topology</param>
+      <param name="sizeI">elementResI</param>
+      <param name="sizeJ">elementResJ</param>
+      <param name="sizeK">elementResK</param>
+    </struct>
+    <struct name="elementLayout">
+      <param name="Type">HexaEL</param>
+      <param name="Topology">elementTopology</param>
+      <param name="Geometry">geometry</param>
+    </struct>
+  </struct>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.compression.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.compression.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.compression.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<struct name="velocityBCs">
+		<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"> 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"> front </param>
+				<list name="variables">
+					<struct>
+						<param name="name"> vz </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"> vz </param>
+						<param name="type"> double </param>
+						<param name="value"> 0.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.5 </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.5 </param>
+					</struct>
+				</list>
+			</struct>
+		</list>
+	</struct>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.extension.2.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.extension.2.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.extension.2.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<!-- A StGermain input file -->
+<!-- DTD to validate against -->
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<!-- Velocity BCs -->
+	<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"> 1.0 </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 </param>
+					</struct>
+					<struct>
+						<param name="name"> vx </param>
+						<param name="type"> func </param>
+						<param name="value"> StepFunction </param>
+					</struct>
+				</list>
+			</struct>
+		</list>
+	</struct>
+
+	<param name="StepFunctionOffset"> 1.0 </param>
+	<param name="StepFunctionValue"> 1.0 </param>
+	<param name="StepFunctionDim"> 0 </param>
+	<param name="StepFunctionLessThan"> False </param>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.extension.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.extension.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.extension.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<!-- A StGermain input file -->
+<!-- DTD to validate against -->
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<!-- Velocity BCs -->
+	<struct name="velocityBCs">
+		<param name="type">CompositeVC</param>
+		<list name="vcList">
+			<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.5 </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.5 </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>
+			<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.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.0 </param>
+					</struct>
+				</list>
+			</struct>
+		</list>
+	</struct>
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.sandbox.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.sandbox.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.sandbox.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<!-- A StGermain input file -->
+<!-- DTD to validate against -->
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<!-- Velocity BCs -->
+	<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"> 1.0 </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 </param>
+					</struct>
+					<struct>
+						<param name="name"> vx </param>
+						<param name="type"> func </param>
+						<param name="value"> StepFunction </param>
+					</struct>
+				</list>
+			</struct>
+		</list>
+	</struct>
+
+	<param name="StepFunctionOffset"> 1.0 </param>
+	<param name="StepFunctionValue"> 1.0 </param>
+	<param name="StepFunctionDim"> 0 </param>
+	<param name="StepFunctionLessThan"> False </param>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.upperCompression.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.upperCompression.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/VariableConditions/velocityBCs.upperCompression.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<struct name="velocityBCs">
+		<param name="type">CompositeVC</param>
+		<list name="vcList">
+			<struct>
+				<param name="type"> WallVC </param>
+				<param name="wall"> left </param>
+				<list name="variables">
+					<struct>
+						<param name="name"> vx </param>
+						<param name="type"> func </param>
+						<param name="value"> StepFunction </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.0 </param>
+					</struct>
+				</list>
+			</struct>
+		</list>
+	</struct>
+
+	<param name="StepFunctionOffset"> 0.5 </param>
+	<param name="StepFunctionDim"> 1 </param>
+	<param name="StepFunctionLessThan"> False </param>
+	<param name="StepFunctionGradient"> 1.0 </param>
+	<param name="StepFunctionUseGradient"> True </param>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/Viewports/MeshVP.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/Viewports/MeshVP.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/Viewports/MeshVP.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<struct name="components" mergeType="merge">
+		<struct name="camera" mergeType="replace">
+			<param name="Type">lucCamera</param>
+			<param name="CentreFieldVariable">VelocityField</param>
+			<param name="coordZ">1.5</param>
+		</struct>
+
+		<!-- Drawing Objects -->
+		<struct name="meshViewer">
+			<param name="Type">lucMeshViewer</param>
+			<param name="Mesh">mesh-linear</param>
+		</struct>
+		<!-- Put these althogether in a viewport -->
+		<struct name="MeshVP">
+			<param name="Type">lucViewport</param>
+			<param name="Camera">camera</param>
+			<list name="DrawingObject">
+				<param> meshViewer </param>
+			</list>
+		</struct>
+	</struct>
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/Viewports/ParticleTypeVP.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/Viewports/ParticleTypeVP.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/Viewports/ParticleTypeVP.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,37 @@
+<!-- Rayleigh-Taylor lucifer viewports -->
+<!-- DTD to validate against -->
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<struct name="components" mergeType="merge">
+		<struct name="camera" mergeType="replace">
+			<param name="Type">lucCamera</param>
+			<param name="CentreFieldVariable">VelocityField</param>
+			<param name="coordZ">1.4762</param>
+		</struct>
+		<struct name="typeColourMap">
+			<param name="Type">lucColourMap</param>
+			<param name="colours">Yellow Orange Blue</param>
+			<param name="dynamicRange">True</param>
+		</struct>
+		<struct name="particleDots">
+			<param name="Type">lucSwarmViewer</param>
+			<param name="Swarm">materialSwarm</param>
+			<param name="ColourVariable">materialSwarm-MaterialIndex</param>
+			<param name="ColourMap">typeColourMap</param>
+			<param name="pointSize">1.0</param>
+		</struct>
+		<struct name="border" mergeType="replace">
+			<param name="Type">lucFieldVariableBorder</param>
+			<param name="FieldVariable">VelocityField</param>
+		</struct>
+		<struct name="ParticleTypeVP">
+			<param name="Type">lucViewport</param>
+			<param name="Camera">camera</param>
+			<list name="DrawingObject">
+				<param>particleDots</param>
+				<param>border</param>
+			</list>
+		</struct>
+	</struct>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/extension.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/extension.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/extension.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<!-- Include a bunch of stuff -->
+	<include> Gale_Components/ElementLayout.xml </include>
+	<include> StgFEM_Components/ConstantMesh.xml </include>
+	<include> StgFEM_Components/LinearMesh.xml </include>
+	<include> StgFEM_Components/VelocityField.xml </include>
+	<include> StgFEM_Components/PressureField.xml </include>
+	<include> StgFEM_Components/GaussSwarm.xml </include>
+	<include> StgFEM_Components/TimeIntegratorSimultaneous.xml </include>
+	<include> StgFEM_Components/StokesFlowUzawa.xml </include>
+
+	<!-- Plugins -->
+	<list name="plugins" mergeType="merge">
+		<param> StG_FEM_StandardConditionFunctions </param>
+		<param> Underworld_EulerDeform </param>
+	</list>
+
+	<!-- Output control -->
+	<param name="journal.debug"> f </param>
+	<param name="journal.info"> t </param>
+	<param name="journal.error"> t </param>
+
+	<!-- Simulation control -->
+	<param name="maxTimeSteps"> 500 </param>
+	<param name="outputEvery"> 1 </param>
+	<param name="dumpEvery"> 1 </param>
+	<param name="outputPath"> ./output.extension </param>
+
+	<!-- Geometry & Mesh setup -->
+	<param name="dim"> 3 </param>
+	<param name="numPartitionedDims"> 1 </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"> 10 </param>
+	<param name="elementResJ"> 5 </param>
+	<param name="elementResK"> 3 </param>
+	<param name="allowUnbalancing"> True </param>
+	<param name="buildNodeNeighbourTbl">True</param>
+	<param name="buildElementNeighbourTbl">True</param>
+
+	<!-- New mesh setup -->
+<!--
+	<struct name="components" mergeType="merge">
+		<struct name="cartesianGenerator">
+			<param name="Type"> CartesianGenerator </param>
+			<list name="meshes">
+				<param> mesh-linear </param>
+			</list>
+			<param name="decomp"> decomp-linear </param>
+		</struct>
+	</struct>
+-->
+
+	<!-- Integration Scheme configuration -->
+	<param name="gaussParticlesX"> 2 </param>
+	<param name="gaussParticlesY"> 2 </param>
+	<param name="gaussParticlesZ"> 2 </param>
+
+	<!-- Euler deformation parameters. -->
+	<struct name="components" mergeType="merge">
+		<struct name="velocityRemesher">
+			<param name="Type">StripRemesher</param>
+			<param name="mesh">mesh-linear</param>
+			<param name="meshType">regular</param>
+			<list name="dims">
+				<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="dims"> 3 </param>
+			<param name="cellMesh"> mesh-linear </param>
+		</struct>
+	</struct>
+	<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>
+
+	<!-- BCs -->
+	<include>./VariableConditions/velocityBCs.extension.xml</include>
+
+	<!-- Rendering -->
+<!--
+	<include> ./window.xml </include>
+	<include> ./Viewports/MeshVP.xml </include>
+	<struct name="components" mergeType="merge">
+		<struct name="window" mergeType="merge">
+			<list name="Viewport">
+				<param> MeshVP </param>
+			</list>
+		</struct>
+	</struct>
+-->
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/pic.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/pic.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/pic.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<!-- Include a bunch of stuff -->
+	<include> Gale_Components/ElementLayout.xml </include>
+	<include> StgFEM_Components/ConstantMesh.xml </include>
+	<include> StgFEM_Components/LinearMesh.xml </include>
+	<include> StgFEM_Components/VelocityField.xml </include>
+	<include> StgFEM_Components/PressureField.xml </include>
+	<include> StgFEM_Components/GaussSwarm.xml </include>
+	<include> StgFEM_Components/TimeIntegratorSimultaneous.xml </include>
+	<include> PIC_Components/MaterialPointSwarm.xml </include>
+	<include> PIC_Components/PopulationControl.xml </include>
+	<include> PIC_Components/StokesFlowUzawa.xml </include>
+
+	<!-- Plugins -->
+	<list name="plugins" mergeType="merge">
+		<param> StG_FEM_StandardConditionFunctions </param>
+		<param> Underworld_EulerDeform </param>
+	</list>
+
+	<!-- Output control -->
+	<param name="journal.debug"> f </param>
+	<param name="journal.info"> t </param>
+	<param name="journal.error"> t </param>
+
+	<!-- Simulation control -->
+	<param name="maxTimeSteps"> 500 </param>
+	<param name="outputEvery"> 1 </param>
+	<param name="dumpEvery"> 1 </param>
+	<param name="outputPath"> ./output.pic </param>
+
+	<!-- Geometry & Mesh setup -->
+	<param name="dim"> 3 </param>
+	<param name="numPartitionedDims"> 1 </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"> 10 </param>
+	<param name="elementResJ"> 5 </param>
+	<param name="elementResK"> 3 </param>
+	<param name="allowUnbalancing"> True </param>
+	<param name="buildNodeNeighbourTbl">True</param>
+	<param name="buildElementNeighbourTbl">True</param>
+
+	<!-- New mesh setup -->
+	<struct name="components" mergeType="merge">
+		<struct name="cartesianGenerator">
+			<param name="Type"> CartesianGenerator </param>
+			<list name="meshes">
+				<param> mesh-linear </param>
+			</list>
+			<param name="decomp"> decomp-linear </param>
+		</struct>
+	</struct>
+
+	<!-- Swarm parameters -->
+	<param name="particlesPerCell"> 30 </param>
+	<param name="seed"> 13 </param>
+	<struct name="components" mergeType="merge">
+		<struct name="escapedRoutine">
+			<param name="Type">EscapedRoutine</param>
+			<param name="idealParticleCount">0</param>
+		</struct>
+	</struct>
+
+	<!-- Integration Scheme configuration -->
+	<param name="gaussParticlesX"> 2 </param>
+	<param name="gaussParticlesY"> 2 </param>
+	<param name="gaussParticlesZ"> 2 </param>
+
+	<!-- Euler deformation parameters. -->
+	<struct name="components" mergeType="merge">
+		<struct name="velocityRemesher">
+			<param name="Type">StripRemesher</param>
+			<param name="mesh">mesh-linear</param>
+			<param name="meshType">regular</param>
+			<list name="dims">
+				<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="dims"> 3 </param>
+			<param name="cellMesh"> mesh-linear </param>
+		</struct>
+	</struct>
+	<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>
+
+	<!-- BCs -->
+	<include>./VariableConditions/velocityBCs.extension.xml</include>
+
+	<!-- Rendering -->
+	<include> ./window.xml </include>
+	<include> ./Viewports/MeshVP.xml </include>
+	<struct name="components" mergeType="merge">
+		<struct name="window" mergeType="merge">
+			<list name="Viewport">
+				<param> MeshVP </param>
+			</list>
+		</struct>
+	</struct>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/sandbox.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/sandbox.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/sandbox.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,245 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<!-- Include a bunch of stuff -->
+	<include> Gale_Components/ElementLayout.xml </include>
+	<include> StgFEM_Components/ConstantMesh.xml </include>
+	<include> StgFEM_Components/LinearMesh.xml </include>
+	<include> StgFEM_Components/VelocityField.xml </include>
+	<include> StgFEM_Components/PressureField.xml </include>
+	<include> Underworld_Components/GaussSwarm.xml </include>
+	<include> StgFEM_Components/TimeIntegratorSimultaneous.xml </include>
+	<include> PIC_Components/MaterialPointSwarm.xml </include>
+	<include> PIC_Components/PopulationControl.xml </include>
+	<include> Underworld_Components/StokesFlowUzawaPIC.xml </include>
+
+	<!-- Plugins -->
+	<list name="plugins" mergeType="merge">
+		<param> StG_FEM_StandardConditionFunctions </param>
+		<param> Underworld_EulerDeform </param>
+	</list>
+
+	<!-- Rheology Components -->
+	<struct name="components" mergeType="merge">
+		<struct name="backgroundShape">
+			<param name="Type">Everywhere</param>
+		</struct>
+		<struct name="pdmsShape">
+			<param name="Type"> Box </param>
+			<param name="startX"> 0.5 </param>	<param name="endX"> 1.5 </param>
+			<param name="startY"> 0.0 </param>	<param name="endY"> 0.05 </param>
+			<param name="startZ"> 0.1 </param>	<param name="endZ"> 0.2 </param>
+		</struct>
+		<struct name="stripShape">
+			<param name="Type"> Box </param>
+			<param name="startX"> minX </param>	<param name="endX"> maxX </param>
+			<param name="startY"> 0.15 </param>	<param name="endY"> 0.25 </param>
+			<param name="startZ"> minZ </param>	<param name="endZ"> maxZ </param>
+		</struct>
+		<struct name="crustShape">
+			<param name="Type"> Intersection </param>
+			<list name="shapes">
+				<param> backgroundShape </param>
+				<param> !pdmsShape </param>
+				<param> !stripShape </param>
+			</list>
+		</struct>
+
+		<struct name="crustViscosity">
+			<param name="Type">MaterialViscosity</param>
+			<param name="eta0"> 10.0 </param>
+		</struct>
+
+		<struct name="director">
+			<param name="Type">Director</param>
+			<param name="TimeIntegrator">timeIntegrator</param>
+			<param name="VelocityGradientsField">VelocityGradientsField</param>
+			<param name="MaterialPointsSwarm">materialSwarm</param>
+			<param name="initialDirectionX">0.0</param>
+			<param name="initialDirectionY">1.0</param>
+			<param name="initialDirectionZ">0.0</param>
+			<param name="dontUpdate">True</param>
+		</struct>
+
+		<struct name="strainWeakening">
+			<param name="Type">StrainWeakening</param>
+			<param name="TimeIntegrator">timeIntegrator</param>
+			<param name="MaterialPointsSwarm">materialSwarm</param>
+			<param name="softeningStrain">0.1</param>
+			<param name="initialDamageFraction">0.0</param>
+			<param name="initialDamageWavenumber">0.5</param>
+			<param name="initialDamageFactor">0.5</param>
+			<param name="healingRate">0.0</param>
+		</struct>
+
+		<struct name="yielding">
+			<param name="Type">DruckerPrager</param>
+			<param name="PressureField">PressureField</param>
+			<param name="VelocityGradientsField">VelocityGradientsField</param>
+			<param name="MaterialPointsSwarm">materialSwarm</param>
+			<param name="Director">director</param>
+			<param name="Context">context</param>
+			<param name="StrainWeakening">strainWeakening</param>
+			<param name="cohesion">10.0</param>
+			<param name="cohesionAfterSoftening">0.0001</param>
+			<param name="frictionCoefficient">0.0</param>
+			<param name="frictionCoefficientAfterSoftening">0.0</param>
+			<param name="minimumYieldStress">0.00001</param>
+			<param name="ignoreOldOrientation">false</param>
+		</struct>
+
+		<struct name="pdmsViscosity">
+			<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="crust">
+			<param name="Type">RheologyMaterial</param>
+			<param name="Shape">crustShape</param>
+			<list name="Rheology">
+				<param>crustViscosity</param>
+				<param>yielding</param>
+				<param>storeViscosity</param>
+			</list>
+		</struct>
+		<struct name="strip">
+			<param name="Type">RheologyMaterial</param>
+			<param name="Shape">stripShape</param>
+			<list name="Rheology">
+				<param>crustViscosity</param>
+				<param>yielding</param>
+				<param>storeViscosity</param>
+			</list>
+		</struct>
+		<struct name="pdms"> 
+			<param name="Type">RheologyMaterial</param>
+			<param name="Shape">pdmsShape</param>
+			<list name="Rheology">
+				<param>pdmsViscosity</param>
+				<param>storeViscosity</param>
+			</list>
+		</struct>
+	</struct>
+
+	<!-- Output control -->
+	<param name="journal.debug"> f </param>
+	<param name="journal.info"> t </param>
+	<param name="journal.error"> t </param>
+
+	<!-- Simulation control -->
+	<param name="maxTimeSteps"> 500 </param>
+	<param name="outputEvery"> 1 </param>
+	<param name="dumpEvery"> 1 </param>
+	<param name="outputPath"> ./output.sandbox </param>
+
+	<!-- Geometry & Mesh setup -->
+	<param name="dim"> 2 </param>
+	<param name="numPartitionedDims"> 1 </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"> 3 </param>
+	<param name="allowUnbalancing"> True </param>
+	<param name="buildNodeNeighbourTbl">True</param>
+	<param name="buildElementNeighbourTbl">True</param>
+
+	<!-- New mesh setup -->
+	<struct name="components" mergeType="merge">
+		<struct name="cartesianGenerator">
+			<param name="Type"> CartesianGenerator </param>
+			<list name="meshes">
+				<param> mesh-linear </param>
+			</list>
+			<param name="decomp"> decomp-linear </param>
+		</struct>
+	</struct>
+
+	<!-- Swarm parameters -->
+	<param name="particlesPerCell"> 30 </param>
+	<param name="seed"> 13 </param>
+	<struct name="components" mergeType="merge">
+		<struct name="escapedRoutine">
+			<param name="Type">EscapedRoutine</param>
+			<param name="idealParticleCount">0</param>
+		</struct>
+	</struct>
+
+	<!-- Integration Scheme configuration -->
+	<param name="gaussParticlesX"> 2 </param>
+	<param name="gaussParticlesY"> 2 </param>
+	<param name="gaussParticlesZ"> 2 </param>
+
+	<!-- Euler deformation parameters. -->
+	<struct name="components" mergeType="merge">
+		<struct name="velocityRemesher">
+			<param name="Type">StripRemesher</param>
+			<param name="mesh">mesh-linear</param>
+			<param name="meshType">regular</param>
+			<list name="dims">
+				<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="dims"> 2 </param>
+			<param name="cellMesh"> mesh-linear </param>
+		</struct>
+	</struct>
+	<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>
+
+	<!-- BCs -->
+	<include>./VariableConditions/velocityBCs.sandbox.xml</include>
+
+	<!-- Rendering -->
+	<include> ./window.xml </include>
+	<include> ./Viewports/MeshVP.xml </include>
+	<struct name="components" mergeType="merge">
+		<struct name="window" mergeType="merge">
+			<list name="Viewport">
+				<param> MeshVP </param>
+			</list>
+		</struct>
+	</struct>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/simple.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/simple.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/simple.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<!-- Include a bunch of stuff -->
+	<include> StgFEM_Components/ElementLayout.xml </include>
+	<include> StgFEM_Components/ConstantMesh.xml </include>
+	<include> StgFEM_Components/LinearMesh.xml </include>
+	<include> StgFEM_Components/VelocityField.xml </include>
+	<include> StgFEM_Components/PressureField.xml </include>
+	<include> StgFEM_Components/GaussSwarm.xml </include>
+	<include> StgFEM_Components/StokesFlowUzawa.xml </include>
+
+	<!-- Plugins -->
+	<list name="plugins" mergeType="merge">
+		<param> StG_FEM_StandardConditionFunctions </param>
+	</list>
+
+	<!-- Output control -->
+	<param name="journal.debug"> f </param>
+	<param name="journal.info"> t </param>
+	<param name="journal.error"> t </param>
+
+	<!-- Simulation control -->
+	<param name="maxTimeSteps"> 500 </param>
+	<param name="outputEvery"> 1 </param>
+	<param name="dumpEvery"> 1 </param>
+	<param name="outputPath"> ./output.simple </param>
+
+	<!-- Geometry & Mesh setup -->
+	<param name="dim"> 3 </param>
+	<param name="numPartitionedDims"> 1 </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"> 10 </param>
+	<param name="elementResJ"> 5 </param>
+	<param name="elementResK"> 3 </param>
+	<param name="allowUnbalancing"> True </param>
+	<param name="buildNodeNeighbourTbl">True</param>
+	<param name="buildElementNeighbourTbl">True</param>
+
+	<!-- Integration Scheme configuration -->
+	<param name="gaussParticlesX"> 2 </param>
+	<param name="gaussParticlesY"> 2 </param>
+	<param name="gaussParticlesZ"> 2 </param>
+
+	<!-- BCs -->
+	<include>./VariableConditions/velocityBCs.extension.xml</include>
+
+	<!-- Rendering -->
+	<include> ./window.xml </include>
+	<include> ./Viewports/MeshVP.xml </include>
+	<struct name="components" mergeType="merge">
+		<struct name="window" mergeType="merge">
+			<list name="Viewport">
+				<param> MeshVP </param>
+			</list>
+		</struct>
+	</struct>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/surface-process.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/surface-process.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/surface-process.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,277 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+
+	<!-- Include a bunch of stuff -->
+	<include> Gale_Components/ElementLayout.xml </include>
+	<include> StgFEM_Components/ConstantMesh.xml </include>
+	<include> StgFEM_Components/LinearMesh.xml </include>
+	<include> StgFEM_Components/VelocityField.xml </include>
+	<include> StgFEM_Components/PressureField.xml </include>
+	<include> Underworld_Components/GaussSwarm.xml </include>
+	<include> StgFEM_Components/TimeIntegratorSimultaneous.xml </include>
+	<include> PIC_Components/MaterialPointSwarm.xml </include>
+	<include> PIC_Components/PopulationControl.xml </include>
+	<include> Underworld_Components/StokesFlowUzawaPIC.xml </include>
+
+	<!-- Plugins -->
+	<list name="plugins" mergeType="merge">
+		<param> StG_FEM_StandardConditionFunctions </param>
+		<param> Underworld_EulerDeform </param>
+		<param> Gale_SurfaceProcess </param>
+	</list>
+
+	<!-- Rheology Components -->
+	<struct name="components" mergeType="merge">
+		<struct name="backgroundBox">
+			<param name="Type"> Box </param>
+			<param name="startX"> minZ </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="backgroundWedge">
+                        <param name="Type">PolygonShape</param>
+                        <list name="verticies">
+                                <asciidata>
+                                        <columnDefinition name="x" type="double"/>
+                                        <columnDefinition name="y" type="double"/>
+                                        1.0    0.35
+                                        2.0    0.60
+                                        2.0    0.35
+                                </asciidata>
+                        </list>
+                </struct>
+		<struct name="backgroundShape">
+			<param name="Type"> Union </param>
+			<list name="shapes">
+				<param> backgroundWedge </param>
+			</list>
+		</struct>
+		<struct name="pdmsShape">
+			<param name="Type"> Box </param>
+			<param name="startX"> 0.5 </param>	<param name="endX"> 1.5 </param>
+			<param name="startY"> 0.0 </param>	<param name="endY"> 0.05 </param>
+			<param name="startZ"> 0.1 </param>	<param name="endZ"> 0.2 </param>
+		</struct>
+		<struct name="stripShape">
+			<param name="Type"> Box </param>
+			<param name="startX"> minX </param>	<param name="endX"> maxX </param>
+			<param name="startY"> 0.15 </param>	<param name="endY"> 0.25 </param>
+			<param name="startZ"> minZ </param>	<param name="endZ"> maxZ </param>
+		</struct>
+		<struct name="crustShape">
+			<param name="Type"> Intersection </param>
+			<list name="shapes">
+				<param> backgroundWedge </param>
+				<param> !pdmsShape </param>
+				<param> !stripShape </param>
+			</list>
+		</struct>
+
+		<struct name="crustViscosity">
+			<param name="Type">MaterialViscosity</param>
+			<param name="eta0"> 10.0 </param>
+		</struct>
+
+		<struct name="director">
+			<param name="Type">Director</param>
+			<param name="TimeIntegrator">timeIntegrator</param>
+			<param name="VelocityGradientsField">VelocityGradientsField</param>
+			<param name="MaterialPointsSwarm">materialSwarm</param>
+			<param name="initialDirectionX">0.0</param>
+			<param name="initialDirectionY">1.0</param>
+			<param name="initialDirectionZ">0.0</param>
+			<param name="dontUpdate">True</param>
+		</struct>
+
+		<struct name="strainWeakening">
+			<param name="Type">StrainWeakening</param>
+			<param name="TimeIntegrator">timeIntegrator</param>
+			<param name="MaterialPointsSwarm">materialSwarm</param>
+			<param name="softeningStrain">0.1</param>
+			<param name="initialDamageFraction">0.0</param>
+			<param name="initialDamageWavenumber">0.5</param>
+			<param name="initialDamageFactor">0.5</param>
+			<param name="healingRate">0.0</param>
+		</struct>
+
+		<struct name="yielding">
+			<param name="Type">DruckerPrager</param>
+			<param name="PressureField">PressureField</param>
+			<param name="VelocityGradientsField">VelocityGradientsField</param>
+			<param name="MaterialPointsSwarm">materialSwarm</param>
+			<param name="Director">director</param>
+			<param name="Context">context</param>
+			<param name="StrainWeakening">strainWeakening</param>
+			<param name="cohesion">10.0</param>
+			<param name="cohesionAfterSoftening">0.0001</param>
+			<param name="frictionCoefficient">0.0</param>
+			<param name="frictionCoefficientAfterSoftening">0.0</param>
+			<param name="minimumYieldStress">0.00001</param>
+			<param name="ignoreOldOrientation">false</param>
+		</struct>
+
+		<struct name="pdmsViscosity">
+			<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="crust">
+			<param name="Type">RheologyMaterial</param>
+			<param name="Shape">crustShape</param>
+			<list name="Rheology">
+				<param>crustViscosity</param>
+				<param>yielding</param>
+				<param>storeViscosity</param>
+			</list>
+		</struct>
+		<struct name="strip">
+			<param name="Type">RheologyMaterial</param>
+			<param name="Shape">stripShape</param>
+			<list name="Rheology">
+				<param>crustViscosity</param>
+				<param>yielding</param>
+				<param>storeViscosity</param>
+			</list>
+		</struct>
+		<struct name="pdms"> 
+			<param name="Type">RheologyMaterial</param>
+			<param name="Shape">pdmsShape</param>
+			<list name="Rheology">
+				<param>pdmsViscosity</param>
+				<param>storeViscosity</param>
+			</list>
+		</struct>
+	</struct>
+
+	<!-- Output control -->
+	<param name="journal.debug"> f </param>
+	<param name="journal.info"> t </param>
+	<param name="journal.error"> t </param>
+
+	<!-- Simulation control -->
+	<param name="maxTimeSteps"> 500 </param>
+	<param name="outputEvery"> 1 </param>
+	<param name="dumpEvery"> 1 </param>
+	<param name="outputPath"> ./output.surface-process </param>
+
+	<!-- Geometry & Mesh setup -->
+	<param name="dim"> 2 </param>
+	<param name="numPartitionedDims"> 1 </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"> 3 </param>
+	<param name="allowUnbalancing"> True </param>
+	<param name="buildNodeNeighbourTbl">True</param>
+	<param name="buildElementNeighbourTbl">True</param>
+
+	<!-- New mesh setup -->
+	<struct name="components" mergeType="merge">
+		<struct name="cartesianGenerator">
+			<param name="Type"> CartesianGenerator </param>
+			<param name="decomp"> decomp-linear </param>
+		</struct>
+
+		<struct name="surfaceAdaptor">
+			<param name="Type"> SurfaceAdaptor </param>
+			<param name="mesh"> mesh-linear </param>
+			<param name="sourceGenerator"> cartesianGenerator </param>
+			<param name="offset"> 1.0 </param>
+			<param name="gradient"> 0.2 </param>
+		</struct>
+	</struct>
+
+	<!-- Swarm parameters -->
+	<param name="particlesPerCell"> 30 </param>
+	<param name="seed"> 13 </param>
+	<struct name="components" mergeType="merge">
+		<struct name="escapedRoutine">
+			<param name="Type">EscapedRoutine</param>
+			<param name="idealParticleCount">0</param>
+		</struct>
+	</struct>
+
+	<!-- Integration Scheme configuration -->
+	<param name="gaussParticlesX"> 2 </param>
+	<param name="gaussParticlesY"> 2 </param>
+	<param name="gaussParticlesZ"> 2 </param>
+
+	<!-- Euler deformation parameters. -->
+	<struct name="components" mergeType="merge">
+		<struct name="velocityRemesher">
+			<param name="Type">StripRemesher</param>
+			<param name="mesh">mesh-linear</param>
+			<param name="meshType">regular</param>
+			<list name="dims">
+				<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="dims"> 2 </param>
+			<param name="cellMesh"> mesh-linear </param>
+		</struct>
+	</struct>
+	<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>
+
+	<!-- Surface process -->
+	<struct name="SurfaceProcess">
+		<param name="mesh"> mesh-linear </param>
+	</struct>
+
+	<!-- BCs -->
+	<include>./VariableConditions/velocityBCs.sandbox.xml</include>
+
+	<!-- Rendering -->
+	<include> ./window.xml </include>
+	<include> ./Viewports/ParticleTypeVP.xml </include>
+	<struct name="components" mergeType="merge">
+		<struct name="window" mergeType="merge">
+			<list name="Viewport">
+				<param> ParticleTypeVP </param>
+			</list>
+		</struct>
+	</struct>
+
+</StGermainData>

Added: long/3D/Gale/trunk/src/Gale/Apps/Extension/window.xml
===================================================================
--- long/3D/Gale/trunk/src/Gale/Apps/Extension/window.xml	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/Apps/Extension/window.xml	2006-10-14 18:02:19 UTC (rev 5013)
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+ 	
+	<list name="plugins" mergeType="merge">
+		<param>lucPlugin</param>
+	</list>
+	<struct name="components" mergeType="merge">
+		<struct name="renderingEngine">
+			<param name="Type">lucRenderingEngineGL</param>
+		</struct>
+		<struct name="window">
+			<param name="Type">lucDefaultWindow</param>
+			<param name="RenderingEngine">renderingEngine</param>
+			<param name="height">400</param>
+			<param name="width">800</param>
+			<param name="backgroundColour">white</param>
+			<param name="xFontName">-adobe-helvetica-bold-r-normal--14-140-75-75-p-82-iso8859-1</param>
+		</struct>
+		<struct name="movie">
+			<param name="Type">lucEncoderLibfame</param>
+			<param name="Window">window</param>
+		</struct>
+	</struct>
+	
+	<!-- this parameter will be used as the default by all lucWindow objects -->
+	<param name="interactive">t</param>
+
+</StGermainData>

Modified: long/3D/Gale/trunk/src/Gale/src/main.c
===================================================================
--- long/3D/Gale/trunk/src/Gale/src/main.c	2006-10-14 18:02:14 UTC (rev 5012)
+++ long/3D/Gale/trunk/src/Gale/src/main.c	2006-10-14 18:02:19 UTC (rev 5013)
@@ -1,31 +1,52 @@
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+** Copyright (c) 2005, Monash Cluster Computing 
+** All rights reserved.
+** Redistribution and use in source and binary forms, with or without modification,
+** are permitted provided that the following conditions are met:
 **
-** Copyright (C), 2003, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
+** 		* Redistributions of source code must retain the above copyright notice, 
+** 			this list of conditions and the following disclaimer.
+** 		* Redistributions in binary form must reproduce the above copyright 
+**			notice, this list of conditions and the following disclaimer in the 
+**			documentation and/or other materials provided with the distribution.
+** 		* Neither the name of the Monash University nor the names of its contributors 
+**			may be used to endorse or promote products derived from this software 
+**			without specific prior written permission.
 **
-** Authors:
-**	Stevan M. Quenette, Senior Software Engineer, VPAC. (steve at vpac.org)
-**	David May, PhD Student Monash University, VPAC. (davidm at vpac.org)
-**	Patrick D. Sunter, Software Engineer, VPAC. (pds at vpac.org)
-**	Luke J. Hodkinson, Computational Engineer, VPAC. (lhodkins at vpac.org)
-**	Siew-Ching Tan, Software Engineer, VPAC. (siew at vpac.org)
-**	Alan H. Lo, Computational Engineer, VPAC. (alan at vpac.org)
-**	Raquibul Hassan, Computational Engineer, VPAC. (raq at vpac.org)
-#include "Underworld/Context/Context.h"
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
+** THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
+** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 
+** BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
+** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
+** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 **
-** This file may be distributed under the terms of the VPAC Public License
-** as defined by VPAC of Australia and appearing in the file
-** LICENSE.VPL included in the packaging of this file.
 **
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** Role:
-**	Executable to read, set up, then solve, an FEM problem
-**
-** $Id: main.c 866 2005-10-13 03:27:59Z DavidMay $
-**
-**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+** Contact:
+*%		Louis Moresi - Louis.Moresi at sci.monash.edu.au
+*%
+** Contributors:
+*+		Robert Turnbull
+*+		Vincent Lemiale
+*+		Louis Moresi
+*+		David May
+*+		David Stegman
+*+		Mirko Velic
+*+		Patrick Sunter
+*+		Julian Giordani
+*+
+** $Id: main.c 312 2006-08-17 23:48:02Z WalterLandry $
+** 
+**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
 
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+
 #ifdef HAVE_PYTHON
 #include <Python.h>
 #endif
@@ -38,19 +59,8 @@
 #include <StG_FEM/StG_FEM.h>
 #include <PICellerator/PICellerator.h>
 #include <Underworld/Underworld.h>
+#include <Gale/Gale.h>
 
-#include "Gale/EulerDeform/EulerDeform.h"
-#include "Gale/Isostasy/Isostasy.h"
-#include "Gale/SurfaceProcess/SurfaceProcess.h"
-#include "Gale/CollocationIntegration/CollocationIntegration.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-
-/* For now... pretend we are Underworld (i.e. copy what Underworld does) */
-
 int main( int argc, char* argv[] ) {
 	MPI_Comm           CommWorld;
 	int                rank;
@@ -58,8 +68,10 @@
 	Dictionary*        dictionary;
 	XML_IO_Handler*    ioHandler;
 	Dictionary*        componentDict;
-	UnderworldContext* context         = NULL;
+	GaleContext* context         = NULL;
 	
+	char* errMessage = "Component dictionary must have unique names\n";
+
 	/* Initialise PETSc, get world info */
 	MPI_Init( &argc, &argv );
 	MPI_Comm_dup( MPI_COMM_WORLD, &CommWorld );
@@ -70,6 +82,7 @@
 	StG_FEM_Init( &argc, &argv );
 	PICellerator_Init( &argc, &argv );
 	Underworld_Init( &argc, &argv );
+	Gale_Init( &argc, &argv );
 	#ifdef HAVE_PYTHON
 	Py_Initialize();
 	#endif
@@ -85,31 +98,35 @@
 	Journal_ReadFromDictionary( dictionary );
 
 	/* Construction phase -----------------------------------------------------------------------------------------------*/
+	context = GaleContext_New( "context", 0, 0, CommWorld, dictionary );
+
 	componentDict = Dictionary_GetDictionary( dictionary, "components" );
+	assert( componentDict );
+
+	context->CF = Stg_ComponentFactory_New( dictionary, componentDict, context->register_Register );
+
+	/*check components dictionary for double entries */
+	CheckDictionaryKeys(componentDict, errMessage);
+
+	LiveComponentRegister_Add( context->CF->LCRegister, (Stg_Component*) context );
+	PluginsManager_Load( context->plugins, context, dictionary );
 	
-	if( componentDict ){
-		Stg_ComponentFactory* cf = Stg_ComponentFactory_New( dictionary, componentDict, Stg_ObjectList_New() );
-		Stg_ComponentFactory_CreateComponents( cf );
-		Stg_ComponentFactory_ConstructComponents( cf );
-		context = (UnderworldContext*) LiveComponentRegister_Get( cf->LCRegister, "context" );
-	}
+	Stg_ComponentFactory_CreateComponents( context->CF );
+	Stg_ComponentFactory_ConstructComponents( context->CF, NULL );
+	GaleContext_AssignPointers( context, NULL );
+	PluginsManager_ConstructPlugins( context->plugins, context->CF, NULL );
 	
-	if( !context ){
-		context = UnderworldContext_New( "context", 0, 0, CommWorld, dictionary );
-	}	
+	KeyCall( context, context->constructExtensionsK, EntryPoint_VoidPtr_CallCast* )( KeyHandle(context,context->constructExtensionsK), context );
 	
+	if( rank == 0 ) 
+		Context_PrintConcise( context, context->verbose );
+
 	if ( True == Dictionary_GetBool_WithDefault( dictionary, "showJournalStatus", False ) ) {
 		Journal_PrintConcise();	
 	}	
-	
-	/*check components dictionary for double entries */
-	char* errMessage = "Component dictionary must have unique names\n";
-	CheckDictionaryKeys(componentDict, errMessage);
-	
+
 	/* Building phase ---------------------------------------------------------------------------------------------------*/
 	Stg_Component_Build( context, 0 /* dummy */, False );
-	if( rank == 0 ) 
-		Context_PrintConcise( context, context->verbose );
 	
 	/* Initialisaton phase ----------------------------------------------------------------------------------------------*/
 	Stg_Component_Initialise( context, 0 /* dummy */, False );



More information about the cig-commits mailing list