<?xml version="1.0"?>
<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
<!-- for Underworld version 1.2 -->
<!-- some aspects of this model file have been modified from the release copy for use in the Underworld Grid Workshop 2009 -->

<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">

        <list name="import">
                <param> Underworld </param>
        </list>

	<include> Underworld/BaseApps/ExtensionBaseApp.xml </include>
	
	<list name="plugins" mergeType="merge">
		<param>Underworld_EulerDeform</param>
		
		<!-- Output Plugins -->
		<param>StgFEM_FrequentOutput</param>	
		<param>Underworld_Vrms</param>	
		<param>StgFEM_CPUTime</param>	
	</list>

	<struct name="components" mergeType="merge">
		<!-- Shape Stuff -->
		<struct name="backgroundShape">
			<param name="Type">Everywhere</param>
		</struct>	
		<struct name="box">
			<param name="Type">Box</param>
			<param name="startX"> minX </param> <param name="endX"> maxX </param>
			<param name="startY"> 0.3 </param>  <param name="endY"> 0.7 </param>
			<param name="startZ"> minZ </param> <param name="endZ"> maxZ </param>
		</struct>
		<struct name="weakZone">
			<param name="Type">Box</param>
			<param name="startX"> 0.975 </param> <param name="endX"> 1.025 </param>
			<param name="startY"> 0.3 </param>   <param name="endY"> 0.35 </param>
			<param name="startZ"> minZ </param>  <param name="endZ"> maxZ </param>
		</struct>		
		<struct name="barShape">
			<param name="Type">Intersection</param>
			<list name="shapes">
				<param>box</param>
				<param>!weakZone</param>
			</list>
		</struct>	

		<!-- Background Material Stuff -->
		<struct name="backgroundViscosity">
			<param name="Type">MaterialViscosity</param>
			<param name="eta0">1.0</param>
		</struct>	
		<struct name="compresibility">
			<param name="Type">Compressible</param>
			<param name="GeometryMesh">linearMesh</param>
			<param name="StiffnessMatrix">c_matrix</param>
			<param name="Swarm">picIntegrationPoints</param>			
			<param name="oneOnLambda">10.0</param>
		</struct>
		<struct name="background">
			<param name="Type">RheologyMaterial</param>
			<param name="Shape">backgroundShape</param>
			<param name="Rheology">backgroundViscosity</param>
			<param name="Compressible">compresibility</param>
		</struct>

		<!-- Bar Material Stuff -->
		<struct name="barViscosity">
			<param name="Type">MaterialViscosity</param>
			<param name="eta0">100.0</param>
		</struct>	
		<struct name="vonMises">
			<param name="Type">VonMises</param>
			<param name="StrainRateField">StrainRateField</param>
			<param name="cohesion">50.0</param>
		</struct>
		<struct name="bar">
			<param name="Type">RheologyMaterial</param>
			<param name="Shape">barShape</param>
			<list name="Rheology">
				<param>barViscosity</param>
				<param>vonMises</param>
			</list>
		</struct>
	</struct>

	<!-- Simulation control -->
	<param name="maxTimeSteps"> 40 </param>
	<param name="dumpEvery"> 1 </param>	
	<param name="outputPath"> ./output </param>

	<!-- Non-linear stuff -->
	<param name="nonLinearMaxIterations"> 500 </param>	
	
	<!-- Journal Control -->
	<param name="journal.info.Context-verbose">True</param>
	<param name="journal-level.info.Stg_ComponentFactory">2</param>
	<param name="journal.debug">t</param>
	<param name="journal-enable-branch.debug.StgFEM">t</param>
	<param name="journal-level-branch.debug.StgFEM"> 2 </param>	
	
	<!-- Geometry & Mesh setup -->
	<param name="dim"> 2 </param>
	<param name="elementResI"> 64 </param>
	<param name="elementResJ"> 32 </param>
	<param name="elementResK"> 1 </param>
	<param name="shadowDepth"> 1 </param>
	<param name="minX"> 0.0 </param>
	<param name="minY"> 0.0 </param>
	<param name="minZ"> 0.0 </param>
	<param name="maxX"> 2.0 </param>
	<param name="maxY"> 1.0 </param>
	<param name="maxZ"> 1.0 </param>
	<param name="allowUnbalancing"> True </param>
	
	<param name="particlesPerCell"> 20 </param>

	<!-- Set up BCs and ICs -->
	<include> Underworld/VariableConditions/velocityBCs.extension.xml </include>

	<!-- Integration Scheme configuration -->

	<!-- Visualisation stuff -->
	<include>Underworld/Viewports/StrainRateInvariantVP.xml</include>
	<include>glucifer/window.xml</include>
	<include>glucifer/BuildMovies.xml</include>
	<struct name="components" mergeType="merge">
		<struct name="window" mergeType="merge">
			<param name="Viewport">StrainRateInvariantVP</param>
		</struct>
	</struct>
 
</StGermainData>
