[cig-commits] r21371 - in short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup: . tpv22

brad at geodynamics.org brad at geodynamics.org
Fri Feb 15 14:58:17 PST 2013


Author: brad
Date: 2013-02-15 14:58:16 -0800 (Fri, 15 Feb 2013)
New Revision: 21371

Added:
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/create_friction.py
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/createbc.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/geometry.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/gradient.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/hex8.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/matprops.spatialdb
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/pylithapp.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tet4.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tet4_200m.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22_tet4_100m.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22_tet4_200m.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/traction.spatialdb
Log:
Started working on tpv22.

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/create_friction.py
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/create_friction.py	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/create_friction.py	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,144 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# ----------------------------------------------------------------------
+#
+
+# Create spatial variation of friction parameters for TPV22-23 on the
+# faults.
+
+hypoy = -5.0e+3
+hypoz = -10.0e+3
+vs = 3464.0
+
+# ----------------------------------------------------------------------
+import numpy
+from spatialdata.spatialdb.SimpleIOAscii import SimpleIOAscii
+from spatialdata.geocoords.CSCart import CSCart
+
+# ----------------------------------------------------------------------
+# main fault
+y = 1.0e+3*numpy.arange(-25.0, +5.001, 0.1)
+z = 1.0e+3*numpy.arange(0.0, -20.001, -0.1)
+
+nptsy = y.shape[0]
+nptsz = z.shape[0]
+
+points = numpy.zeros( (nptsy*nptsz, 3), dtype=numpy.float64)
+for i in xrange(nptsz):
+    istart = i
+    istop = i+nptsy*nptsz
+    points[istart:istop:nptsz,1] = y
+for i in xrange(nptsy):
+    istart = i*nptsz
+    istop = (i+1)*nptsz
+    points[istart:istop,2] = z
+
+r = ( (points[:,1]-hypoy)**2 +
+      (points[:,2]-hypoz)**2)**0.5
+
+coefStatic = 0.548*numpy.ones( (nptsy*nptsz), dtype=numpy.float64)
+coefDyn = 0.373*numpy.ones( (nptsy*nptsz), dtype=numpy.float64)
+d0 = 0.30*numpy.ones( (nptsy*nptsz), dtype=numpy.float64)
+
+mask = points[:,2] > -5000.0
+cohesion = mask*0.0014*(-50000-points[:,2]) + ~mask*0.0
+
+rcrit = 3000.0
+mask = r <= rcrit
+weakTime = mask*(r/(0.7*vs) + 0.081*rcrit/(0.7*vs)*(1.0/(1.0-(r/rcrit)**2-1))) + ~mask*1.0e+9
+
+cs = CSCart()
+cs._configure()
+cs.initialize()
+
+writer = SimpleIOAscii()
+writer.inventory.filename = "empty"
+writer._configure()
+
+writer.filename("friction_main.spatialdb")
+dataOut = {'points': points,
+           'coordsys': cs,
+           'data_dim': 2,
+           'values': [{'name': 'static-coefficient', 
+                       'units': 'None',
+                       'data': coefStatic},
+                      {'name': 'dynamic-coefficient', 
+                       'units': 'None',
+                       'data': coefDyn},
+                      {'name': 'slip-weakening-parameter', 
+                       'units': 'm',
+                       'data': d0},
+                      {'name': 'cohesion', 
+                       'units': 'Pa',
+                       'data': cohesion},
+                      {'name': 'weakening-time', 
+                       'units': 's',
+                       'data': weakTime},
+                      ],
+           }
+writer.write(dataOut)
+
+
+# ----------------------------------------------------------------------
+# stepover fault
+y = 1.0e+3*numpy.arange(-5.0, +25.001, 0.1)
+z = 1.0e+3*numpy.arange(0.0, -20.001, -0.1)
+
+nptsy = y.shape[0]
+nptsz = z.shape[0]
+
+points = numpy.zeros( (nptsy*nptsz, 3), dtype=numpy.float64)
+for i in xrange(nptsz):
+    istart = i
+    istop = i+nptsy*nptsz
+    points[istart:istop:nptsz,1] = y
+for i in xrange(nptsy):
+    istart = i*nptsz
+    istop = (i+1)*nptsz
+    points[istart:istop,2] = z
+
+r = ( (points[:,1]-hypoy)**2 +
+      (points[:,2]-hypoz)**2)**0.5
+
+coefStatic = 0.548*numpy.ones( (nptsy*nptsz), dtype=numpy.float64)
+coefDyn = 0.373*numpy.ones( (nptsy*nptsz), dtype=numpy.float64)
+d0 = 0.30*numpy.ones( (nptsy*nptsz), dtype=numpy.float64)
+weakTime = 1.0e+9*numpy.ones( (nptsy*nptsz), dtype=numpy.float64)
+
+mask = points[:,2] > -5000.0
+cohesion = mask*0.0014*(-50000-points[:,2]) + ~mask*0.0
+
+writer = SimpleIOAscii()
+writer.inventory.filename = "empty"
+writer._configure()
+
+writer.filename("friction_stepover.spatialdb")
+dataOut = {'points': points,
+           'coordsys': cs,
+           'data_dim': 2,
+           'values': [{'name': 'static-coefficient', 
+                       'units': 'None',
+                       'data': coefStatic},
+                      {'name': 'dynamic-coefficient', 
+                       'units': 'None',
+                       'data': coefDyn},
+                      {'name': 'slip-weakening-parameter', 
+                       'units': 'm',
+                       'data': d0},
+                      {'name': 'cohesion', 
+                       'units': 'Pa',
+                       'data': cohesion},
+                      {'name': 'weakening-time', 
+                       'units': 's',
+                       'data': weakTime},
+                      ],
+           }
+writer.write(dataOut)
+
+
+# End of file


Property changes on: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/create_friction.py
___________________________________________________________________
Name: svn:executable
   + *

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/createbc.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/createbc.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/createbc.jou	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,74 @@
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 volume 1 5 6 7
+block 1 name "elastic"
+
+# ----------------------------------------------------------------------
+# Create nodeset for faults
+# ----------------------------------------------------------------------
+group "fault_main" add node in fault_surface_main
+nodeset 20 group fault_main
+nodeset 20 name "fault_main"
+
+group "fault_comp" add node in fault_surface_comp
+nodeset 21 group fault_comp
+nodeset 21 name "fault_comp"
+
+group "fault_ext" add node in fault_surface_ext
+nodeset 22 group fault_ext
+nodeset 22 name "fault_ext"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +x face
+# ----------------------------------------------------------------------
+group "face_xpos" add node in surface 6
+nodeset 10 group face_xpos
+nodeset 10 name "face_xpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x face
+# ----------------------------------------------------------------------
+group "face_xneg" add node in surface 4
+nodeset 11 group face_xneg
+nodeset 11 name "face_xneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y face
+# ----------------------------------------------------------------------
+group "face_ypos" add node in surface 27
+group "face_ypos" add node in surface 32
+group "face_ypos" add node in surface 39
+group "face_ypos" add node in surface 23
+nodeset 12 group face_ypos
+nodeset 12 name "face_ypos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y face
+# ----------------------------------------------------------------------
+group "face_yneg" add node in surface 29
+group "face_yneg" add node in surface 34
+group "face_yneg" add node in surface 21
+group "face_yneg" add node in surface 36
+nodeset 13 group face_yneg
+nodeset 13 name "face_yneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face
+# ----------------------------------------------------------------------
+group "face_zneg" add node in surface 28
+group "face_zneg" add node in surface 31
+group "face_zneg" add node in surface 22
+group "face_zneg" add node in surface 38
+nodeset 15 group face_zneg
+nodeset 15 name "face_zneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +z face
+# ----------------------------------------------------------------------
+group "face_zpos" add node in surface 26
+group "face_zpos" add node in surface 33
+group "face_zpos" add node in surface 24
+group "face_zpos" add node in surface 37
+nodeset 16 group face_zpos
+nodeset 16 name "face_zpos"

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/geometry.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/geometry.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/geometry.jou	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,126 @@
+# -*- Python -*- (syntax highlighting)
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+#
+# ----------------------------------------------------------------------
+#
+# CUBIT journal file with geometry for TPV210.
+#
+# ----------------------------------------------------------------------
+# Set units to SI.
+# ----------------------------------------------------------------------
+#{Units('si')}
+#
+# ----------------------------------------------------------------------
+# Reset geometry.
+# ----------------------------------------------------------------------
+reset
+
+# ----------------------------------------------------------------------
+# Create block
+# ----------------------------------------------------------------------
+# Block is 36.0 km x 72.0 km x 32.0 km
+# -18.0 km <= x <= 18.0 km
+# -36.0 km <= y <= 36.0 km
+# -32.0 km <= z <= 0.0 km
+#
+#{blockWidth=36.0*km}
+#{blockLength=72.0*km}
+#{blockHeight=32.0*km}
+#
+#{faultLength=30.0*km}
+#{faultWidth=20.0*km}
+#{faultOffset=10*km}
+#{faultStepover=1.0*km}
+
+brick x {blockWidth} y {blockLength} z {blockHeight}
+
+# Translate block so the top is at z=0
+volume 1 move x 0 y 0 z {-0.5*blockHeight}
+
+# ----------------------------------------------------------------------
+# Create interface surfaces
+# ----------------------------------------------------------------------
+create planar surface with plane xplane offset 0
+#{sA=Id("surface")}
+
+create planar surface with plane xplane offset {-1.0*km}
+#{sBC=Id("surface")}
+
+create planar surface with plane xplane offset {+1.0*km}
+#{sBE=Id("surface")}
+
+# ----------------------------------------------------------------------
+# Divide volumes using interface surfaces
+# ----------------------------------------------------------------------
+webcut volume 1 with plane surface {sA}
+webcut volume 5 with plane surface {sBC}
+webcut volume 1 with plane surface {sBE}
+
+# ----------------------------------------------------------------------
+# Split fault surfaces
+# ----------------------------------------------------------------------
+# main fault
+create vertex 0 {-0.5*faultLength-faultOffset} 0
+#{vAn=Id("vertex")}
+create vertex 0 {+0.5*faultLength-faultOffset} 0
+#{vAp=Id("vertex")}
+create vertex 0 {-0.5*faultLength-faultOffset} {-blockHeight}
+#{vBn=Id("vertex")}
+create vertex 0 {+0.5*faultLength-faultOffset} {-blockHeight}
+#{vBp=Id("vertex")}
+create vertex 0 {-0.5*faultLength-faultOffset} {-faultWidth}
+#{vCn=Id("vertex")}
+create vertex 0 {+0.5*faultLength-faultOffset} {-faultWidth}
+#{vCp=Id("vertex")}
+split surface 10 across location vertex {vAn} location vertex {vBn}
+split surface 41 across location vertex {vAp} location vertex {vBp}
+split surface 42 across location vertex {vCn} location vertex {vCp}
+surface 45 name "fault_surface_main"
+delete vertex all
+
+# compression fault
+create vertex {-faultStepover} {-0.5*faultLength+faultOffset} 0
+#{vAn=Id("vertex")}
+create vertex {-faultStepover} {+0.5*faultLength+faultOffset} 0
+#{vAp=Id("vertex")}
+create vertex {-faultStepover} {-0.5*faultLength+faultOffset} {-blockHeight}
+#{vBn=Id("vertex")}
+create vertex {-faultStepover} {+0.5*faultLength+faultOffset} {-blockHeight}
+#{vBp=Id("vertex")}
+create vertex {-faultStepover} {-0.5*faultLength+faultOffset} {-faultWidth}
+#{vCn=Id("vertex")}
+create vertex {-faultStepover} {+0.5*faultLength+faultOffset} {-faultWidth}
+#{vCp=Id("vertex")}
+split surface 25 across location vertex {vAn} location vertex {vBn}
+split surface 47 across location vertex {vAp} location vertex {vBp}
+split surface 48 across location vertex {vCn} location vertex {vCp}
+surface 51 name "fault_surface_comp"
+delete vertex all
+
+# extension fault
+create vertex {+faultStepover} {-0.5*faultLength+faultOffset} 0
+#{vAn=Id("vertex")}
+create vertex {+faultStepover} {+0.5*faultLength+faultOffset} 0
+#{vAp=Id("vertex")}
+create vertex {+faultStepover} {-0.5*faultLength+faultOffset} {-blockHeight}
+#{vBn=Id("vertex")}
+create vertex {+faultStepover} {+0.5*faultLength+faultOffset} {-blockHeight}
+#{vBp=Id("vertex")}
+create vertex {+faultStepover} {-0.5*faultLength+faultOffset} {-faultWidth}
+#{vCn=Id("vertex")}
+create vertex {+faultStepover} {+0.5*faultLength+faultOffset} {-faultWidth}
+#{vCp=Id("vertex")}
+split surface 30 across location vertex {vAn} location vertex {vBn}
+split surface 53 across location vertex {vAp} location vertex {vBp}
+split surface 54 across location vertex {vCn} location vertex {vCp}
+surface 57 name "fault_surface_ext"
+delete vertex all
+
+# ----------------------------------------------------------------------
+# Imprint all volumes, merging surfaces
+# ----------------------------------------------------------------------
+imprint all
+merge all
+delete body 2 3 4

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/gradient.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/gradient.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/gradient.jou	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,109 @@
+# ----------------------------------------------------------------------
+# Set vertex spacing with increasing spacing away from fault
+# ----------------------------------------------------------------------
+#{bias_factor=1.02}
+
+# Function for computing discretization size at end of curve with bias
+#{fun_dx='dxStart*bias_factor**ceil( ln(1-curveL/dxStart*(1-bias_factor))/ln(bias_factor))'}
+
+# ----------------------------------------------------------------------
+# Compute sizes at curve endpoints
+# ----------------------------------------------------------------------
+# dxA - size at vertex 9 13 17 12 16 20
+#{dxStart=dx}{curveL=Length(75)}{execute("dxA="//fun_dx)}
+
+# dxB - size at vertex 51 64 75 53 66 77
+#{dxStart=dx}{curveL=Length(85)}{execute("dxB="//fun_dx)}
+
+# dxC - size at vertex 10 14 18 11 15 19
+#{dxStart=dxB}{curveL=Length(74)}{execute("dxC="//fun_dx)}
+
+# dxD - size at vertex 1 2 3 4
+#{dxStart=dxA}{curveL=Length(64)}{execute("dxD="//fun_dx)}
+
+# dxE - size at vertex 5 6 7 8
+#{dxStart=dxC}{curveL=Length(62)}{execute("dxE="//fun_dx)}
+
+# ----------------------------------------------------------------------
+# Reset sizes
+# ----------------------------------------------------------------------
+curve all scheme default
+surface all sizing function none
+surface fault_surface_main fault_surface_comp fault_surface_ext size {dx}
+#surface 9 16 sizing function type bias start curve 41 factor {bias_factor}
+#surface 19 sizing function type bias start curve 45 factor {bias_factor}
+#surface 20 sizing function type bias start curve 44 factor {bias_factor}
+#surface 23 sizing function type bias start curve 43 factor {bias_factor}
+
+# Set bias on curves extending from faults
+
+# Fault to Vertex A
+curve 75 scheme bias fine size {dx} coarse size {dxA} start vertex 52
+curve 111 scheme bias fine size {dx} coarse size {dxA} start vertex 78
+curve  97 scheme bias fine size {dx} coarse size {dxA} start vertex 65
+curve 89 scheme bias fine size {dx} coarse size {dxA} start vertex 63
+curve 105 scheme bias fine size {dx} coarse size {dxA} start vertex 76
+curve 81 scheme bias fine size {dx} coarse size {dxA} start vertex 54
+
+# Fault to Vertex B
+curve 85 scheme bias fine size {dx} coarse size {dxB} start vertex 56
+curve 84 scheme bias fine size {dx} coarse size {dxB} start vertex 55
+curve 115 scheme bias fine size {dx} coarse size {dxB} start vertex 80
+curve 99 scheme bias fine size {dx} coarse size {dxB} start vertex 67
+curve 114 scheme bias fine size {dx} coarse size {dxB} start vertex 79
+curve 100 scheme bias fine size {dx} coarse size {dxB} start vertex 68
+
+# Vertex B to Vertex B
+curve 79 size {dxB}
+curve 109 size {dxB}
+curve 95 size {dxB}
+
+# Vertex A to C
+curve 13 scheme bias fine size {dxA} coarse size {dxC} start vertex 9
+curve 17 scheme bias fine size {dxA} coarse size {dxC} start vertex 13
+curve 21 scheme bias fine size {dxA} coarse size {dxC} start vertex 17
+curve 15 scheme bias fine size {dxA} coarse size {dxC} start vertex 12
+curve 19 scheme bias fine size {dxA} coarse size {dxC} start vertex 16
+curve 23 scheme bias fine size {dxA} coarse size {dxC} start vertex 20
+
+# Vertex B to C
+curve 74 scheme bias fine size {dxB} coarse size {dxC} start vertex 51
+curve 104 scheme bias fine size {dxB} coarse size {dxC} start vertex 75
+curve 90 scheme bias fine size {dxB} coarse size {dxC} start vertex 64
+curve 82 scheme bias fine size {dxB} coarse size {dxC} start vertex 53
+curve 112 scheme bias fine size {dxB} coarse size {dxC} start vertex 77
+curve 96 scheme bias fine size {dxB} coarse size {dxC} start vertex 66
+
+# Vertex C to C
+curve 70 size {dxC}
+curve 45 size {dxC}
+curve 47 size {dxC}
+curve 72 size {dxC}
+
+# Vertex A to D
+curve 64 scheme bias fine size {dxA} coarse size {dxD} start vertex 17
+curve 54 scheme bias fine size {dxA} coarse size {dxD} start vertex 13
+curve 63 scheme bias fine size {dxA} coarse size {dxD} start vertex 20
+curve 53 scheme bias fine size {dxA} coarse size {dxD} start vertex 16
+
+# Vertex C to E
+curve 62 scheme bias fine size {dxC} coarse size {dxE} start vertex 18
+curve 56 scheme bias fine size {dxC} coarse size {dxE} start vertex 14
+curve 61 scheme bias fine size {dxC} coarse size {dxE} start vertex 19
+curve 55 scheme bias fine size {dxC} coarse size {dxE} start vertex 15
+
+# Vertex D to D
+curve 1 size {dxD}
+curve 3 size {dxD}
+
+# Vertex D to E
+curve 10 scheme bias fine size {dxD} coarse size {dxE} start vertex 1
+curve 12 scheme bias fine size {dxD} coarse size {dxE} start vertex 2
+curve 9 scheme bias fine size {dxD} coarse size {dxE} start vertex 4
+curve 11 scheme bias fine size {dxD} coarse size {dxE} start vertex 3
+
+# Vertex E to E
+curve 5 size {dxE}
+curve 7 size {dxE}
+
+# End of file

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/hex8.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/hex8.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/hex8.cfg	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,50 @@
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.materials.elastic]
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 3
+
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc.x_pos]
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.x_neg]
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.y_pos]
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.y_neg]
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.z_neg]
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces.main_fault]
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.interfaces.branch_fault]
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/matprops.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/matprops.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/matprops.spatialdb	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,14 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 3
+  value-names =  density  vs  vp
+  value-units =  kg/m**3  m/s  m/s
+  num-locs = 1
+  data-dim = 0
+  space-dim = 3
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 3
+  }
+}
+0.0  0.0  0.0  2670.0	3464.0	 6000.0

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/pylithapp.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/pylithapp.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/pylithapp.cfg	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,192 @@
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+[pylithapp.journal.info]
+timedependent = 1
+explicit = 1
+petsc = 1
+meshiocubit = 1
+distributor = 1
+elasticityexplicit = 1
+elasticityexplicittet4 = 1
+meshimporter = 1
+#quadrature3d = 1
+#fiatlagrange = 1
+faultcohesivedyn = 1
+
+[pylithapp.journal.debug]
+#pylithapp = 1
+#problem = 1
+#explicit = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+reader = pylith.meshio.MeshIOCubit
+reorder_mesh = True
+
+distributor.partitioner = parmetis
+distributor.write_partition = True
+distributor.data_writer = pylith.meshio.DataWriterHDF5ExtMesh
+distributor.data_writer.filename = output/partition.h5
+
+[pylithapp.mesh_generator.reader]
+coordsys.space_dim = 3
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+dimension = 3
+
+formulation = pylith.problems.Explicit
+formulation.norm_viscosity = 0.4
+normalizer = spatialdata.units.NondimElasticDynamic
+normalizer.shear_wave_speed = 3333*m/s
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 15.001*s
+#total_time = 0.0*s
+dt = 0.005*s
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+materials = [elastic]
+materials.elastic = pylith.materials.ElasticIsotropic3D
+
+[pylithapp.timedependent.materials.elastic]
+label = Elastic material
+id = 1
+db_properties.label = Elastic properties
+db_properties.iohandler.filename = matprops.spatialdb
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+bc = [x_neg,x_pos,y_neg,y_pos,z_neg]
+bc.x_neg = pylith.bc.AbsorbingDampers
+bc.x_pos = pylith.bc.AbsorbingDampers
+bc.y_neg = pylith.bc.AbsorbingDampers
+bc.y_pos = pylith.bc.AbsorbingDampers
+bc.z_neg = pylith.bc.AbsorbingDampers
+
+[pylithapp.timedependent.bc.x_pos]
+label = face_xpos
+db.label = Absorbing BC +x
+db.iohandler.filename = matprops.spatialdb
+
+[pylithapp.timedependent.bc.x_neg]
+label = face_xneg
+db.label = Absorbing BC -x
+db.iohandler.filename = matprops.spatialdb
+
+[pylithapp.timedependent.bc.y_pos]
+label = face_ypos
+db.label = Absorbing BC +y
+db.iohandler.filename = matprops.spatialdb
+
+[pylithapp.timedependent.bc.y_neg]
+label = face_yneg
+db.label = Absorbing BC -y
+db.iohandler.filename = matprops.spatialdb
+
+[pylithapp.timedependent.bc.z_neg]
+label = face_zneg
+up_dir = [0, 1, 0]
+db.label = Absorbing BC -z
+db.iohandler.filename = matprops.spatialdb
+
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+interfaces = [fault_main,fault_stepover]
+interfaces.fault_main = pylith.faults.FaultCohesiveDyn
+interfaces.fault_stepover = pylith.faults.FaultCohesiveDyn
+
+[pylithapp.timedependent.interfaces.fault_main]
+id = 100
+label = fault_main
+
+friction = pylith.friction.SlipWeakeningTime
+friction.label = Slip Weakening on main fault
+friction.db_properties = spatialdata.spatialdb.SimpleDB
+friction.db_properties.iohandler.filename = friction_main.spatialdb
+friction.db_properties.label = Slip weakening on main fault
+friction.db_properties.query_type = linear
+
+traction_perturbation = pylith.faults.TractPerturbation
+
+[pylithapp.timedependent.interfaces.fault_main.traction_perturbation]
+db_initial = spatialdata.spatialdb.SimpleDB
+db_initial.label = Initial tractions on main fault
+db_initial.query_type = linear
+db_initial.iohandler.filename = traction.spatialdb
+
+[pylithapp.timedependent.interfaces.fault_stepover]
+id = 101
+label = fault_comp
+
+friction = pylith.friction.SlipWeakeningTime
+friction.label = Slip Weakening on main fault
+friction.db_properties = spatialdata.spatialdb.SimpleDB
+friction.db_properties.iohandler.filename = friction_stepover.spatialdb
+friction.db_properties.label = Slip weakening on main fault
+friction.db_properties.query_type = linear
+
+traction_perturbation = pylith.faults.TractPerturbation
+
+[pylithapp.timedependent.interfaces.fault_stepover.traction_perturbation]
+db_initial = spatialdata.spatialdb.SimpleDB
+db_initial.label = Initial tractions on stepover fault
+db_initial.query_type = linear
+db_initial.iohandler.filename = traction.spatialdb
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation]
+output = [subdomain]
+output.subdomain = pylith.meshio.OutputSolnSubset
+
+[pylithapp.problem.formulation.output.subdomain]
+label = face_zpos
+vertex_data_fields=[displacement,velocity]
+output_freq = time_step
+time_step = 0.04999*s
+writer = pylith.meshio.DataWriterHDF5ExtSubMesh
+
+[pylithapp.timedependent.interfaces.fault_main.output]
+vertex_info_fields = [initial_traction,static_coefficient,dynamic_coefficient,slip_weakening_parameter,weakening_time]
+vertex_data_fields = [slip,slip_rate,traction]
+output_freq = time_step
+time_step = 0.04999*s
+writer = pylith.meshio.DataWriterHDF5ExtSubSubMesh
+
+[pylithapp.timedependent.interfaces.fault_stepover.output]
+vertex_info_fields = [initial_traction,static_coefficient,dynamic_coefficient,slip_weakening_parameter]
+vertex_data_fields = [slip,slip_rate,traction]
+output_freq = time_step
+time_step = 0.04999*s
+writer = pylith.meshio.DataWriterHDF5ExtSubSubMesh
+
+[pylithapp.timedependent.materials.elastic.output]
+cell_data_fields = []
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer = pylith.meshio.DataWriterHDF5ExtMesh
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+log_summary = true
+
+
+# End of file

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tet4.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tet4.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tet4.cfg	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,62 @@
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+[pylithapp.journal.info]
+explicittet4 = 1
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+formulation = pylith.problems.ExplicitTet4
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.materials.elastic]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.dimension = 3
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc.x_pos]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.x_neg]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.y_pos]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.y_neg]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.z_neg]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces.fault_main]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.dimension = 2
+
+[pylithapp.timedependent.interfaces.fault_stepover]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.dimension = 2
+
+
+# End of file

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tet4_200m.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tet4_200m.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tet4_200m.jou	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,51 @@
+# ----------------------------------------------------------------------
+# Create tet4 mesh at 200m resolution.
+# ----------------------------------------------------------------------
+
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size and scheme
+# ----------------------------------------------------------------------
+#{dx=200*m}
+surface all scheme trimesh
+volume all scheme tetmesh
+playback 'gradient.jou'
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh surface all
+surface all smooth scheme condition number beta 1.3 cpu 10
+smooth surface all
+
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Smooth mesh to improve quality
+# ----------------------------------------------------------------------
+#{condnum=2.0}
+#{loop(4)}
+cleanup volume all
+volume all smooth scheme condition number beta {condnum} cpu 10
+smooth volume all
+#{condnum=condnum-0.1}
+#{endloop}
+
+# ----------------------------------------------------------------------
+# Setup boundary conditions.
+# ----------------------------------------------------------------------
+playback 'createbc.jou'
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "tet4_200m.exo" dimension 3 overwrite
+
+
+# End of file
+
+

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22.cfg	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,10 @@
+# Parameters specific to TPV18.
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces.fault_stepover]
+label = fault_comp
+
+
+# End of file

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22_tet4_100m.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22_tet4_100m.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22_tet4_100m.cfg	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,34 @@
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+refiner = pylith.topology.RefineUniform
+
+[pylithapp.mesh_generator.reader]
+filename = tet4_200m.exo
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.formulation.time_step]
+dt = 0.005*s
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/tpv14_tet4_100m-groundsurf.h5
+
+[pylithapp.timedependent.interfaces.main_fault.output]
+writer.filename = output/tpv14_tet4_100m-fault_main.h5
+
+[pylithapp.timedependent.interfaces.branch_fault.output]
+writer.filename = output/tpv14_tet4_100m-fault_stepover.h5
+
+[pylithapp.timedependent.materials.elastic.output]
+writer.filename = output/tpv14_tet4_100m-elastic.h5
+
+
+# End of file

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22_tet4_200m.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22_tet4_200m.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/tpv22_tet4_200m.cfg	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,34 @@
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator.reader]
+filename = tet4_200m.exo
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.normalizer]
+wave_period = 0.6*s
+
+[pylithapp.timedependent.formulation.time_step]
+dt = 0.01*s
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/tpv22_tet4_200m-groundsurf.h5
+
+[pylithapp.timedependent.interfaces.main_fault.output]
+writer.filename = output/tpv22_tet4_200m-fault_main.h5
+
+[pylithapp.timedependent.interfaces.branch_fault.output]
+writer.filename = output/tpv22_tet4_200m-fault_stepover.h5
+
+[pylithapp.timedependent.materials.elastic.output]
+writer.filename = output/tpv22_tet4_200m-elastic.h5
+
+
+# End of file

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/traction.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/traction.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv22/traction.spatialdb	2013-02-15 22:58:16 UTC (rev 21371)
@@ -0,0 +1,16 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values =      3
+  value-names =  traction-shear-leftlateral  traction-shear-updip  traction-normal
+  value-units =  MPa  MPa  MPa
+  num-locs =      3
+  data-dim =    1
+  space-dim =    3
+  cs-data = cartesian {
+  to-meters = 1
+  space-dim = 3
+}
+}
+  0.000000e+00  0.000000e+00  0.000000e+00  -29.38  0.0  -60.0
+  0.000000e+00  0.000000e+00 -1.500000e+04  -29.38  0.0  -60.0
+  0.000000e+00  0.000000e+00 -2.500000e+04    0.0   0.0  -60.0



More information about the CIG-COMMITS mailing list