[cig-commits] r14203 - long/3D/SNAC/trunk/Snac/plugins/hillSlope

cstark at geodynamics.org cstark at geodynamics.org
Tue Mar 3 09:29:03 PST 2009


Author: cstark
Date: 2009-03-03 09:29:02 -0800 (Tue, 03 Mar 2009)
New Revision: 14203

Added:
   long/3D/SNAC/trunk/Snac/plugins/hillSlope/hillslope_demo3.xml
Log:
Added a new demo input xml:  hillslope_demo3.xml
This generates a small 3d hillslope with 20x6x17 nodes and runs until elastic equlibrium.



Added: long/3D/SNAC/trunk/Snac/plugins/hillSlope/hillslope_demo3.xml
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/hillSlope/hillslope_demo3.xml	                        (rev 0)
+++ long/3D/SNAC/trunk/Snac/plugins/hillSlope/hillslope_demo3.xml	2009-03-03 17:29:02 UTC (rev 14203)
@@ -0,0 +1,265 @@
+<?xml version="1.0"?>
+<!DOCTYPE StGermainData SYSTEM "stgermain.dtd">
+
+<!-- StGermain-Snac input file -->
+<!-- $Id: hillslope.xml $ -->
+<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
+	
+	<!-- StGermain simulation parameters -->
+	<param name="start"> 0 </param>
+	<param name="outputPath">results_demo3</param>
+	<param name="dumpEvery"> 10 </param>
+	<param name="maxTimeSteps"> 10000 </param>  <!--  seconds  -->
+	
+	<!-- Snac variables -->
+	<param name="density"> 2500 </param>  <!--  kg/m^3  -->
+	<param name="gravity"> 9.8 </param>  <!--  m/s^2  -->
+	<param name="demf"> 0.8 </param>  <!--  dimensionless force damping factor  -->
+	<param name="dtType"> constant </param>  <!--  time marching method:  dynamic/constant  -->
+	  <!--<param name="timeStep"> 1e+02 </param>  seconds/step (used if dtType==constant) -->
+	<param name="timeStep"> 1e+00 </param>  <!--  seconds/step (used if dtType==constant) -->
+	<param name="forceCalcType"> complete </param>
+	<param name="decomposedAxis"> 2 </param> <!-- hack: 0=X, 1=Y, 2=Z. Should and will eventually be automatically discovered-->
+	<param name="storeForces"> no </param>  <!--  store residual forces at each node?  -->
+	<param name="forceCheckSum"> no </param>  <!--  check sum of forces is consistent  -->
+	<param name="topo_kappa"> 0.0 </param>  <!--  parameter for topographic smoothing  -->
+	<param name="alpha"> 0 </param>  <!--  1/K, volumetric thermal expansion coefficient  -->
+	
+	<!-- Extension modules -->
+	<!--
+		<param> SnacRemesher </param>
+		<param> SnacWinklerForce </param>
+		<param> SnacSoilPlSeeds </param>
+		<param> SnacTemperature </param>
+	-->
+	<list name="extensions">
+		<param> SnacPlastic </param>
+		<param> SnacHydroStaticIC </param>
+		<param> SnacHillSlope </param>  <!--  Requires SnacPlastic  -->
+	</list>
+	
+	<struct name="mesh">
+        <param name="shadowDepth"> 1 </param>
+		<param name="decompDims"> 1 </param>
+
+		<!-- Mesh size -->    <!--  subtract 1 to get # of elements  -->
+		<param name="meshSizeI"> 20 </param> <param name="meshSizeJ"> 6 </param> <param name="meshSizeK"> 17 </param>
+		<param name="maxX"> 380 </param> <param name="maxY"> 100 </param> <param name="maxZ"> 320 </param>
+		<param name="minX"> 0 </param>	<param name="minY"> 0 </param>	<param name="minZ"> 0 </param>
+		<!-- Initial geometry - meters  NB: maxY is presheared-mesh thickness -->
+
+<!--
+		<param name="meshSizeI"> 201 </param> <param name="meshSizeJ"> 51 </param> <param name="meshSizeK"> 2 </param>
+		<param name="meshSizeI"> 12 </param> <param name="meshSizeJ"> 7 </param> <param name="meshSizeK"> 2 </param>
+		<param name="meshSizeI"> 61 </param> <param name="meshSizeJ"> 41 </param> <param name="meshSizeK"> 2 </param>
+		<param name="meshSizeI"> 44 </param> <param name="meshSizeJ"> 36 </param> <param name="meshSizeK"> 2 </param>
+		<param name="meshSizeI"> 22 </param> <param name="meshSizeJ"> 12 </param> <param name="meshSizeK"> 18 </param>
+		<param name="meshSizeI"> 4 </param> <param name="meshSizeJ"> 5 </param> <param name="meshSizeK"> 3 </param>
+-->
+
+		<!-- Remeshing -->
+		<param name="meshType"> cartesian </param>
+ 		<param name="buildNodeNeighbourTbl"> True </param>
+	</struct>
+
+
+
+        <!-- HillSlope plugin parameters  -->
+	<param name="slopeAngle"> 30.0 </param>  <!--  degrees  -->
+	<param name="rngSeed"> 1 </param>  <!--  dimensionless  -->
+	<param name="leftFlatFraction"> 0.05 </param>  <!-- Fractional x-distance to bottom ramp-flat transition -->
+	<param name="rightFlatFraction"> 0.95 </param>  <!-- Fractional x-distance to top flat-ramp transition -->
+	<param name="rampFlatSmoothFactor"> 3.0 </param>  <!-- Smoothness of ramp-flat/flat-ramp transitions -->
+	<param name="resolveDepth"> 75 </param>  <!--  meters, measured from top surface  -->
+	<param name="consensusElasticStabilizedFlag"> false </param>  <!--  if true, weak seeding applied immediately  -->
+	<param name="elasticStabilizedFlag"> false </param>  <!--  if true, weak seeding applied immediately  -->
+
+	<param name="fractionWeakPoints"> 0.5 </param>  <!--  dimensionless  -->
+	<param name="xSubDomainFraction"> 1 </param>  <!-- Horizontal (left-right) around center -->
+	<param name="ySubDomainFraction"> 0.9 </param>  <!-- Sheared vertical (measured from top surface) -->
+	<param name="zSubDomainFraction"> 1.0 </param>  <!-- Horizontal (back-front) around center -->
+	<param name="xTriggerPointFraction"> 0.5 </param>  <!--  dimensionless  -->
+	<param name="yTriggerPointFraction"> 0.45 </param>  <!--  dimensionless, measured from top surface  -->
+	<param name="zTriggerPointFraction"> 0.5 </param>  <!--  dimensionless  -->
+
+	<param name="weakPointCohesion"> 1.0e+05 </param>  <!--  Pa  -->
+	<param name="triggerPointCohesion"> 1.0e+04 </param>  <!--  Pa  -->
+	<param name="trackLevelFraction"> 0.0 </param>  <!--  y mesh watch level fraction (measured from surface) -->
+	<param name="startThreshold"> 1.0e-2 </param>  <!--  internal units, elastic eqm reached if vel & acc drop below this threshold  -->
+	<param name="stopThreshold"> 1.0e-3 </param>  <!--  internal units, stop run if vel & acc drop below this threshold  -->
+	<param name="startedTrackingFlag"> false </param>  <!--  must be false -->
+	<param name="solveElasticEqmOnlyFlag"> true </param>  <!-- if true, solution stops at approx elastic eqm -->
+
+
+	<!-- Elastic material parameters -->
+	<param name="lambda"> 1.0e+7 </param>
+	<param name="mu"> 1.0e+7 </param>
+
+	<!-- Plastic material parameters -->
+	<param name="yieldcriterion"> mohrcoulomb </param>
+	<!--  define a piecewise coh-pl strain "curve"  -->
+	<param name="nsegments"> 3 </param>  <!--  curve has nsegments pieces, nsegments+1 nodes  -->
+	<param name="plstrain0"> 0.0 </param>  <!--  dimensionless  -->
+	<param name="plstrain1"> 0.001 </param>  <!--  dimensionless  -->
+	<param name="plstrain2"> 0.002 </param>  <!--  dimensionless  -->
+	<param name="plstrain3"> 1.0e+05 </param>  <!--  dimensionless  -->
+	<param name="frictionAngle0"> 25 </param>  <!--  degrees  -->
+	<param name="frictionAngle1"> 25 </param>  <!--  degrees  -->
+	<param name="frictionAngle2"> 25 </param>  <!--  degrees  -->
+	<param name="frictionAngle3"> 25 </param>  <!--  degrees  -->
+	<param name="dilationAngle0"> 5.0 </param>  <!--  degrees  -->
+	<param name="dilationAngle1"> 5.0 </param>  <!--  degrees  -->
+	<param name="dilationAngle2"> 5.0 </param>  <!--  degrees  -->
+	<param name="dilationAngle3"> 5.0 </param>  <!--  degrees  -->
+	<param name="cohesion0"> 1.0e+06 </param>  <!--  Pa  -->
+	<param name="cohesion1"> 1.0e+05 </param>  <!--  Pa  -->
+	<param name="cohesion2"> 1.0e+04 </param>  <!--  Pa  -->
+	<param name="cohesion3"> 1.0e+00 </param>  <!--  Pa  -->
+	<param name="ten_off"> 1.0e+13 </param>  <!--  limit tensional stress, yield forced above this  -->
+
+	<!-- 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"> 0.7 </param>
+	<param name="bottomRestore"> on </param>
+	
+	<!-- 
+	<param name="fractionWeakPoints"> 1.0 </param>
+	<param name="xSubDomainFraction"> 0.5 </param> 
+	<param name="ySubDomainFraction"> 0.5 </param> 
+	<param name="zSubDomainFraction"> 0.5 </param> 
+	<param name="xTriggerPointFraction"> 0.5 </param>
+	<param name="yTriggerPointFraction"> 0.4 </param>
+	<param name="zTriggerPointFraction"> 0.5 </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.0 </param>  <!--  m/s  -->
+					</struct>
+					<struct>
+						<param name="name"> vy </param>
+						<param name="type"> double </param>
+						<param name="value"> 0.0 </param>  <!--  m/s  -->
+					</struct>
+					<struct>
+						<param name="name"> vz </param>
+						<param name="type"> double </param>
+						<param name="value"> 0.0 </param>  <!--  m/s  -->
+					</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"> int </param>
+						<param name="value"> 0 </param>  <!--  no dimensions  -->
+					</struct>
+				</list>
+			</struct>
+		</list>
+	</struct>
+	
+	<!-- Velocity BCs -->
+	<struct name="velocityBCs">
+		<list name="vcList">
+			<struct>
+				<!-- "Free" left (x=xmin) boundary = unspecified vy, vz, zero vx -->
+				<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>  <!--  m/s  -->
+					</struct>
+				</list>
+			</struct>
+			<struct>
+				<!-- "Free" right (x=xmax) boundary = unspecified vy, vz, zero vx -->
+				<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>    <!--  m/s  -->
+					</struct>
+				</list>
+			</struct>
+			<struct>
+				<!-- "Free" top (y=ymax) boundary = unspecified vx, vy, vz -->
+				<!-- "Pinned" bottom (y=ymin) boundary = unspecified zero vx, vy, vz -->
+				<param name="type"> WallVC </param>
+				<param name="wall"> bottom </param>
+				<list name="variables">
+					<struct>
+						<param name="name"> vx </param>
+						<param name="type"> double </param>
+						<param name="value"> 0.0 </param>  <!--  m/s  -->
+					</struct>
+					<struct>
+						<param name="name"> vy </param>
+						<param name="type"> double </param>
+						<param name="value"> 0.0 </param>  <!--  m/s  -->
+					</struct>
+					<struct>
+						<param name="name"> vz </param>
+						<param name="type"> double </param>
+						<param name="value"> 0.0 </param>  <!--  m/s  -->
+					</struct>
+				</list>
+			</struct>
+			<struct>
+				<!-- "Free" back (z=zmin) boundary = unspecified vx, vy, zero vz -->
+				<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>  <!--  m/s  -->
+					</struct>
+				</list>
+			</struct>
+			<struct>
+				<!-- "Free" front (z=zmax) boundary = unspecified vx, vy, zero vz -->
+				<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>  <!--  m/s  -->
+					</struct>
+				</list>
+			</struct>
+		</list>
+	</struct>
+
+</StGermainData>



More information about the CIG-COMMITS mailing list