[cig-commits] r15649 - in long/3D/SNAC/trunk/Snac/examples: . Cookbook2

echoi at geodynamics.org echoi at geodynamics.org
Fri Sep 4 10:24:43 PDT 2009


Author: echoi
Date: 2009-09-04 10:24:43 -0700 (Fri, 04 Sep 2009)
New Revision: 15649

Added:
   long/3D/SNAC/trunk/Snac/examples/Cookbook2/
   long/3D/SNAC/trunk/Snac/examples/Cookbook2/cookbook2.xml
Log:
An example input file that shows non-trivial geometry of subdomains with different material types.

This input file defines three material types and uses a element condition function to assign them to appropriate regions. More in the manual.


Added: long/3D/SNAC/trunk/Snac/examples/Cookbook2/cookbook2.xml
===================================================================
--- long/3D/SNAC/trunk/Snac/examples/Cookbook2/cookbook2.xml	                        (rev 0)
+++ long/3D/SNAC/trunk/Snac/examples/Cookbook2/cookbook2.xml	2009-09-04 17:24:43 UTC (rev 15649)
@@ -0,0 +1,251 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+<!-- StGermain-Snac input file -->
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+	
+	<!-- StGermain simulation parameters -->
+	<param name="start"> 0 </param>
+	<param name="outputPath">./data</param>
+	<param name="dumpEvery"> 10 </param>
+	<param name="checkpointEvery"> 0 </param>
+	<param name="maxTimeSteps"> 2 </param>
+	<param name="restartTimestep"> 0 </param>
+	
+	<!-- Snac variables -->
+	<param name="gravity"> 0.0 </param>
+	<param name="demf"> 0.8 </param>
+	<param name="dtType"> constant </param>
+	<param name="timeStep"> 3.1536e+08 </param>
+	<param name="forceCalcType"> complete </param>
+	<param name="decomposedAxis"> 0 </param> <!-- hack: 0=X, 1=Y, 2=Z. Should and will eventually be automatically discovered-->
+	<param name="storeForces"> no </param>
+	<param name="forceCheckSum"> no </param>
+	<param name="topo_kappa"> 0.0 </param>
+	
+	<!-- Extension modules -->
+	<!--
+		<param> SnacWinklerG3Force </param>
+		<param> SnacRemesher </param>
+		<param> SnacHydroStaticIC </param>
+		<param> SnacCustomCartesian </param>
+		<param> SnacViscoPlastic </param>
+		<param> SnacVPSeeds </param>
+		<param> SnacPlSeeds </param>
+	-->
+	<list name="extensions">
+		<param> SnacPlastic </param>
+		<param> SnacCondFunc </param>
+	</list>
+	
+	<struct name="mesh">
+		<!--
+		-->
+	        <param name="shadowDepth"> 1 </param>
+		<param name="decompDims"> 2 </param>
+
+		<!-- Mesh size -->
+		<param name="meshSizeI"> 51 </param>
+		<param name="meshSizeJ"> 2 </param>
+		<param name="meshSizeK"> 51 </param>
+		
+		<!-- Initial geometry -->
+		<param name="minX"> 0 </param>
+		<param name="minY"> -6000.0 </param>
+		<param name="minZ"> 0 </param>
+		<param name="maxX"> 300000.0 </param>
+		<param name="maxY"> 0.0 </param>
+		<param name="maxZ"> 300000.0 </param>
+
+		<!-- Remeshing -->
+		<param name="meshType"> cartesian </param>
+ 		<param name="buildNodeNeighbourTbl"> True </param>
+	</struct>
+
+	<list name="materials">
+	<!-- Three types of material with different cohesion-->
+	<struct name="mat_normal">
+		<param name="density"> 2800 </param>
+		<param name="alpha"> 0.0 </param>
+		<param name="beta"> 0.0 </param>
+		<!-- Elastic material parameters -->
+		<param name="lambda"> 3.0e+10 </param>
+		<param name="mu"> 3.0e+10 </param>
+		<!-- Plastic material parameters -->
+		<param name="yieldcriterion"> mohrcoulomb </param>
+		<param name="nsegments"> 2 </param>
+		<param name="plstrain0"> 0.0 </param>
+		<param name="plstrain1"> 0.01 </param>
+		<param name="plstrain2"> 1000.0 </param>
+		<param name="frictionAngle0"> 0.0 </param>
+		<param name="frictionAngle1"> 0.0 </param>
+		<param name="frictionAngle2"> 0.0 </param>
+		<param name="dilationAngle0"> 0.0 </param>
+		<param name="dilationAngle1"> 0.0 </param>
+		<param name="dilationAngle2"> 0.0 </param>
+		<param name="cohesion0"> 2.0e+07 </param>
+		<param name="cohesion1"> 1.0e+07 </param>
+		<param name="cohesion2"> 1.0e+07 </param>
+		<param name="ten_off"> 1.0e+12 </param>
+	</struct>
+	<struct name="mat_strong">
+		<param name="density"> 2800 </param>
+		<param name="alpha"> 0.0 </param>
+		<param name="beta"> 0.0 </param>
+		<!-- Elastic material parameters -->
+		<param name="lambda"> 3.0e+10 </param>
+		<param name="mu"> 3.0e+10 </param>
+		<!-- Plastic material parameters -->
+		<param name="yieldcriterion"> mohrcoulomb </param>
+		<param name="nsegments"> 2 </param>
+		<param name="plstrain0"> 0.0 </param>
+		<param name="plstrain1"> 0.01 </param>
+		<param name="plstrain2"> 1000.0 </param>
+		<param name="frictionAngle0"> 0.0 </param>
+		<param name="frictionAngle1"> 0.0 </param>
+		<param name="frictionAngle2"> 0.0 </param>
+		<param name="dilationAngle0"> 0.0 </param>
+		<param name="dilationAngle1"> 0.0 </param>
+		<param name="dilationAngle2"> 0.0 </param>
+		<param name="cohesion0"> 2.0e+08 </param>
+		<param name="cohesion1"> 1.0e+08 </param>
+		<param name="cohesion2"> 1.0e+08 </param>
+		<param name="ten_off"> 1.0e+12 </param>
+	</struct>
+	<struct name="mat_weak">
+		<param name="density"> 2800 </param>
+		<param name="alpha"> 0.0 </param>
+		<param name="beta"> 0.0 </param>
+		<!-- Elastic material parameters -->
+		<param name="lambda"> 3.0e+10 </param>
+		<param name="mu"> 3.0e+10 </param>
+		<!-- Plastic material parameters -->
+		<param name="yieldcriterion"> mohrcoulomb </param>
+		<param name="nsegments"> 2 </param>
+		<param name="plstrain0"> 0.0 </param>
+		<param name="plstrain1"> 0.01 </param>
+		<param name="plstrain2"> 1000.0 </param>
+		<param name="frictionAngle0"> 0.0 </param>
+		<param name="frictionAngle1"> 0.0 </param>
+		<param name="frictionAngle2"> 0.0 </param>
+		<param name="dilationAngle0"> 0.0 </param>
+		<param name="dilationAngle1"> 0.0 </param>
+		<param name="dilationAngle2"> 0.0 </param>
+		<param name="cohesion0"> 2.0e+06 </param>
+		<param name="cohesion1"> 1.0e+06 </param>
+		<param name="cohesion2"> 1.0e+06 </param>
+		<param name="ten_off"> 1.0e+12 </param>
+	</struct>
+	</list>
+
+	<!-- Remesher info -->
+	<!-- 
+		<param name="remeshCondition"> onBothTimeStepLength </param>
+		<param name="remeshCondition"> onTimeStep </param>
+		<param name="remeshCondition"> onMinLengthScale </param>
+	-->
+	<param name="remeshCondition"> onMinLengthScale </param>
+	<param name="remeshTimeStepCriterion"> 15000 </param>
+	<param name="remeshLengthCriterion"> 45.0 </param>
+	<param name="bottomResotre"> on </param>
+	
+	<!-- node ICs -->
+	<struct name="nodeICs">
+		<list name="vcList">
+			<struct>
+				<param name="type"> AllNodesVC </param>
+				<list name="variables">
+					<struct>
+						<param name="name"> vx </param>
+						<param name="type"> double </param>
+						<param name="value"> 0 </param>
+					</struct>
+					<struct>
+						<param name="name"> vy </param>
+						<param name="type"> double </param>
+						<param name="value"> 0 </param>
+					</struct>
+					<struct>
+						<param name="name"> vz </param>
+						<param name="type"> double </param>
+						<param name="value"> 0 </param>
+					</struct>
+				</list>
+			</struct>
+		</list>
+	</struct>
+
+	<!-- element ICs -->
+	<struct name="elementICs">
+		<list name="vcList">
+			<struct>
+				<param name="type"> AllElementsVC </param>
+				<list name="variables">
+					<struct>
+						<param name="name"> elementMaterial </param>
+						<param name="type"> func </param>
+						<param name="value"> SnacCF_DeadSea </param>
+					</struct>
+				</list>
+			</struct>
+		</list>
+	</struct>
+	<!-- Velocity BCs -->
+	<struct name="velocityBCs">
+		<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"> -1.5e-10 </param>
+					</struct>
+					<struct>
+						<param name="name"> vz </param>
+						<param name="type"> double </param>
+						<param name="value"> 1.5e-10 </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.5e-10 </param>
+					</struct>
+					<struct>
+						<param name="name"> vz </param>
+						<param name="type"> double </param>
+						<param name="value"> -1.5e-10 </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>
+				</list>
+			</struct>
+			<struct>
+				<param name="type"> WallVC </param>
+				<param name="wall"> top </param>
+				<list name="variables">
+					<struct>
+						<param name="name"> vy </param>
+						<param name="type"> double </param>
+						<param name="value"> 0.0 </param>
+					</struct>
+				</list>
+			</struct>
+		</list>
+	</struct>
+</StGermainData>



More information about the CIG-COMMITS mailing list