[cig-commits] r16846 - in short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup: . tpv205-2d tpv210

surendra at geodynamics.org surendra at geodynamics.org
Mon May 31 11:44:08 PDT 2010


Author: surendra
Date: 2010-05-31 11:44:08 -0700 (Mon, 31 May 2010)
New Revision: 16846

Added:
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/createbc.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/friction.spatialdb
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/geometry.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_100m.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_100m.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_200m.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_200m.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/matprops.spatialdb
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/output/
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/pylithapp.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_offfaultdata.py
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_onfaultdata.py
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_ruptime.py
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_100m.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_100m.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_200m.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_200m.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_smooth.jou
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tractions.spatialdb
Modified:
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv205-2d/tabulate_offfaultdata.py
   short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv205-2d/tabulate_onfaultdata.py
Log:
Added files for TPV210 3-D

Modified: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv205-2d/tabulate_offfaultdata.py
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv205-2d/tabulate_offfaultdata.py	2010-05-31 02:17:50 UTC (rev 16845)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv205-2d/tabulate_offfaultdata.py	2010-05-31 18:44:08 UTC (rev 16846)
@@ -10,11 +10,12 @@
 # ----------------------------------------------------------------------
 #
 
-dx = 100
+cell = "tri3"
+dx = 200
 dt = 0.05
 
-outputRoot = "output/quad4_%3dm" % dx
-outdir = "scecfiles/quad4_%3dm/" % dx
+outputRoot = "output/%s_%3dm_%s" % (cell,dx,"refine")
+outdir = "scecfiles/%s_%3dm_%s/" % (cell,dx,"refine")
 
 # ----------------------------------------------------------------------
 

Modified: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv205-2d/tabulate_onfaultdata.py
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv205-2d/tabulate_onfaultdata.py	2010-05-31 02:17:50 UTC (rev 16845)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv205-2d/tabulate_onfaultdata.py	2010-05-31 18:44:08 UTC (rev 16846)
@@ -11,7 +11,7 @@
 #
 
 cell = "quad4"
-dx = 200
+dx = 100
 dt = 0.05
 
 outputRoot = "output/%s_%3dm_%s" % (cell,dx,"refine")
@@ -23,7 +23,7 @@
 from pylith.utils.VTKDataReader import VTKDataReader
 
 # ----------------------------------------------------------------------
-timestamps = numpy.arange(0,12001,50)
+timestamps = numpy.arange(50,12001,50)
 if dx == 200:
     targets = numpy.array([[0.0, -12000.0, 0.0],
                            [0.0,  -7600.0, 0.0],

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/createbc.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/createbc.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/createbc.jou	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,70 @@
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 volume 1 3
+block 1 name "elastic"
+
+# ----------------------------------------------------------------------
+# Create nodeset for fault
+# ----------------------------------------------------------------------
+group "fault" add node in fault_surface
+group "fault" remove node with x_coord < -7.5001e+3
+group "fault" remove node with z_coord < -15.0001e+3
+group "fault" remove node with z_coord > +15.0001e+3
+nodeset 10 group fault
+nodeset 10 name "fault"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +x face
+# ----------------------------------------------------------------------
+group "face_xpos" add node in surface 6
+nodeset 11 group face_xpos
+nodeset 11 name "face_xpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x face
+# ----------------------------------------------------------------------
+group "face_xneg" add node in surface 4
+nodeset 12 group face_xneg
+nodeset 12 name "face_xneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y face
+# ----------------------------------------------------------------------
+group "face_ypos" add node in surface 12
+group "face_ypos" add node in surface 14
+nodeset 13 group face_ypos
+nodeset 13 name "face_ypos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y face
+# ----------------------------------------------------------------------
+group "face_yneg" add node in surface 10
+group "face_yneg" add node in surface 17
+nodeset 14 group face_yneg
+nodeset 14 name "face_yneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face
+# ----------------------------------------------------------------------
+group "face_zneg" add node in surface 11
+group "face_zneg" add node in surface 15
+nodeset 15 group face_zneg
+nodeset 15 name "face_zneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +z face
+# ----------------------------------------------------------------------
+group "face_zpos" add node in surface 9
+group "face_zpos" add node in surface 16
+nodeset 16 group face_zpos
+nodeset 16 name "face_zpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for off-fault stations
+# ----------------------------------------------------------------------
+group "off_fault" add node with x_min >= -4.001e+3 and x_max <= 4.001e+3 and y_min >= -1.001e+3 and z_coord = 0.0
+nodeset 25 group off_fault
+nodeset 25 name "off_fault"
+
+

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/friction.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/friction.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/friction.spatialdb	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,22 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 4
+  value-names = static-coefficient dynamic-coefficient slip-weakening-parameter cohesion
+  value-units =  none none m MPa
+  num-locs = 8  
+  data-dim = 2
+  space-dim = 3
+  cs-data = cartesian {
+    to-meters = 1.0e+3  // x, y, z are in km
+    space-dim = 3
+  }
+}
+-7.4999	0.0	-15.001		1000.0	0.448	0.5	0.2
+-7.4999	0.0	-15.0		0.760	0.448	0.5	0.2
+-7.4999	0.0	+15.0		0.760	0.448	0.5	0.2
+-7.4999	0.0	+15.001		1000.0	0.448	0.5	0.2
+
+-7.5001	0.0	-15.001		10000.0	0.448	0.5	1000.0
+-7.5001	0.0	-15.0		10000.0	0.448	0.5	1000.0
+-7.5001	0.0	+15.0		10000.0	0.448	0.5	1000.0
+-7.5001	0.0	+15.001		10000.0	0.448	0.5	1000.0

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/geometry.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/geometry.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/geometry.jou	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,36 @@
+# ----------------------------------------------------------------------
+# Create block
+# ----------------------------------------------------------------------
+# Block is 36.0 km x 18.0*sqrt(3) km x 56000
+# -21.75 km <= x <= 14.25 km
+# -18*Sqrt(3) km <= y <= 0 km
+# -28 km <= z <= 28km
+#
+reset
+brick x 36000 y 31176.914 z 56000 
+
+# ----------------------------------------------------------------------
+# Set z=0 at free surface
+# ----------------------------------------------------------------------
+move volume 1 x -3750 y -15588.457
+
+# ----------------------------------------------------------------------
+# Create interface surfaces
+# ----------------------------------------------------------------------
+create surface extended from surface 5
+body 2 rotate +60 about z 
+surface 7 name "fault_surface"
+webcut volume 1 with plane surface fault_surface
+
+# ----------------------------------------------------------------------
+# Imprint all volumes, merging surfaces
+# ----------------------------------------------------------------------
+imprint all
+merge all
+
+delete body 2
+
+
+
+
+

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8.cfg	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,46 @@
+# -*- Python -*-
+[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.fault]
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_100m.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_100m.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_100m.cfg	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,33 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator.reader]
+filename = hex8_100m.exo
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.formulation.time_step]
+dt = 0.01*s
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[pylithapp.problem.formulation.output.domain]
+writer.filename = output/hex8_100m.vtk
+
+# Give basename for VTK domain output of solution over subdomain.
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/hex8_100m-off_fault.vtk
+
+# Give basename for VTK fault output.
+[pylithapp.timedependent.interfaces.fault.output]
+writer.filename = output/hex8_100m-fault.vtk
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.elastic.output]
+writer.filename = output/hex8_100m-elastic.vtk

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_100m.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_100m.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_100m.jou	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,29 @@
+# ----------------------------------------------------------------------
+# Create hex8 mesh at 100m resolution.
+# ----------------------------------------------------------------------
+
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size
+# ----------------------------------------------------------------------
+volume all size 100
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Setup boundary conditions.
+# ----------------------------------------------------------------------
+playback 'createbc.jou'
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "hex8_100m.exo" dimension 3 overwrite
+

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_200m.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_200m.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_200m.cfg	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,34 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator.reader]
+filename = hex8_200m.exo
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.formulation.time_step]
+dt = 0.01666666666666666666666667*s
+
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[pylithapp.problem.formulation.output.domain]
+writer.filename = output/hex8_200m.vtk
+
+# Give basename for VTK domain output of solution over subdomain.
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/hex8_200m-off_fault.vtk
+
+# Give basename for VTK fault output.
+[pylithapp.timedependent.interfaces.fault.output]
+writer.filename = output/hex8_200m-fault.vtk
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.elastic.output]
+writer.filename = output/hex8_200m-elastic.vtk

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_200m.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_200m.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/hex8_200m.jou	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,30 @@
+# ----------------------------------------------------------------------
+# Create hex8 mesh at 200m resolution.
+# ----------------------------------------------------------------------
+
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size
+# ----------------------------------------------------------------------
+volume all size 200
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Setup boundary conditions.
+# ----------------------------------------------------------------------
+playback 'createbc.jou'
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "hex8_200m.exo" dimension 3 overwrite
+
+

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/matprops.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/matprops.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/matprops.spatialdb	2010-05-31 18:44:08 UTC (rev 16846)
@@ -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  2700.0	3300.0	 5716.0

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/pylithapp.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/pylithapp.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/pylithapp.cfg	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,208 @@
+# -*- Python -*-
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+[pylithapp.journal.info]
+timedependent = 1
+explicit = 1
+petsc = 1
+meshiocubit = 1
+elasticityexplicit = 1
+meshimporter = 1
+#quadrature2d = 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
+
+[pylithapp.mesh_generator.reader]
+coordsys.space_dim = 3
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+
+dimension = 3
+
+# Set interfaces to an array with 1 faults: 'fault'.
+interfaces = [fault]
+
+# Set materials to an array with 1 material 'elastic'.
+materials = [elastic]
+
+#formulation = pylith.problems.Explicit
+#formulation.solver = pylith.problems.SolverNonlinear
+formulation = pylith.problems.ExplicitLumped
+
+# Nondimensionalize problem using wave propagation parameters.
+normalizer = spatialdata.units.NondimElasticDynamic
+#normalizer.mass_density = 1000.0*kg/m**3
+#normalizer.shear_wave_speed = 1.0*m/s
+#normalizer.wave_period = 1.0*s
+ 
+bc = [x_neg,x_pos,z_neg,y_neg,y_pos]
+
+# Change the DirichletPoints BC to the AbsorbingDampers BC
+bc.x_neg = pylith.bc.AbsorbingDampers
+bc.x_pos = pylith.bc.AbsorbingDampers
+bc.z_neg = pylith.bc.AbsorbingDampers
+bc.y_neg = pylith.bc.AbsorbingDampers
+bc.y_pos = pylith.bc.AbsorbingDampers
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 15.01*s
+dt = 0.01*s
+
+
+[pylithapp.timedependent.formulation]
+output = [domain,subdomain]
+output.subdomain = pylith.meshio.OutputSolnSubset
+
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+
+materials = [elastic]
+materials.elastic = pylith.materials.ElasticIsotropic3D
+
+[pylithapp.timedependent.materials.elastic]
+label = Elastic material
+id = 1
+db_properties.iohandler.filename = matprops.spatialdb
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[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
+# ----------------------------------------------------------------------
+
+# Provide information on the fault (interface).
+[pylithapp.timedependent.interfaces]
+fault = pylith.faults.FaultCohesiveDyn
+
+[pylithapp.timedependent.interfaces.fault]
+# Material id
+id = 10
+label = fault
+
+db_initial_tractions = spatialdata.spatialdb.SimpleDB
+db_initial_tractions.iohandler.filename = tractions.spatialdb
+db_initial_tractions.label = "Initial fault tractions"
+
+friction = pylith.friction.SlipWeakening
+
+friction.db_properties = spatialdata.spatialdb.SimpleDB
+friction.db_properties.iohandler.filename = friction.spatialdb
+friction.db_properties.label = Slip weakening
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[pylithapp.problem.formulation.output.domain]
+vertex_data_fields=[displacement,velocity]
+output_freq = time_step
+time_step = 30.0*s
+writer.time_format = %06.3f
+
+[pylithapp.problem.formulation.output.subdomain]
+label = off_fault ; nodeset for subdomain
+vertex_data_fields=[displacement,velocity]
+output_freq = time_step
+time_step = 0.04999*s
+writer.time_format = %06.3f
+
+# Give basename for VTK fault output.
+[pylithapp.timedependent.interfaces.fault.output]
+vertex_info_fields = [strike_dir,normal_dir,initial_traction]
+vertex_data_fields = [slip,slip_rate,traction]
+output_freq = time_step
+time_step = 0.04999*s
+writer.time_format = %06.3f
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.elastic.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+output_freq = time_step
+time_step = 30.0*s
+writer.time_format = %06.3f
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+pc_type = asm
+
+# Change the preconditioner settings.
+sub_pc_factor_shift_type = nonzero
+
+ksp_rtol = 1.0e-8
+ksp_atol = 1.0e-15
+ksp_max_it = 100
+ksp_gmres_restart = 50
+snes_max_it = 200
+
+ksp_monitor = true
+ksp_view = true
+ksp_converged_reason = true
+
+snes_monitor = true
+snes_view = true
+snes_converged_reason = true
+
+log_summary = true
+
+# Friction sensitivity solve
+friction_pc_type = asm
+friction_sub_pc_factor_shift_type = nonzero
+
+friction_ksp_max_it = 25
+friction_ksp_gmres_restart = 30
+
+friction_ksp_monitor = true
+friction_ksp_view = true
+friction_ksp_converged_reason = true
+

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_offfaultdata.py
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_offfaultdata.py	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_offfaultdata.py	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,134 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+cell = "hex8"
+dx = 200
+dt = 0.05
+
+# outputRoot = "output/%s_%3dm_%s" % (cell,dx,"refine")
+# outdir = "scecfiles/%s_%3dm_%s/" % (cell,dx,"refine")
+
+outputRoot = "output/%s_%3dm" % (cell,dx)
+outdir = "scecfiles/%s_%3dm/" % (cell,dx)
+
+# ----------------------------------------------------------------------
+
+import numpy
+import time
+
+from pylith.utils.VTKDataReader import VTKDataReader
+
+# ----------------------------------------------------------------------
+timestamps = numpy.arange(50,15001,50)
+targets = numpy.array([[-3000.0,  -0.0, 0.0],
+                       [-2000.0,  -0.0, 0.0],
+                       [-1000.0,  -0.0, 0.0],
+                       [+1000.0,  -0.0, 0.0],
+                       [+2000.0,  -0.0, 0.0],
+                       [+3000.0,  -0.0, 0.0],
+                       [-1000.0,-300.0, 0.0],
+                       [ -500.0,-300.0, 0.0],
+                       [ +500.0,-300.0, 0.0],
+                       [+1000.0,-300.0, 0.0],
+                       [-3000.0,  -0.0, 12000.0],
+                       [+3000.0,  -0.0, 12000.0]])
+
+
+reader = VTKDataReader()
+tolerance = 1.0e-6
+
+# Get vertices and find indices of target locations
+filename = "%s-off_fault_t%05d.vtk" % (outputRoot,timestamps[0])
+data = reader.read(filename)
+
+vertices = numpy.array(data['vertices'])
+ntargets = targets.shape[0]
+indices = []
+for target in targets:
+    dist = ( (vertices[:,0]-target[0])**2 + 
+             (vertices[:,1]-target[1])**2 +
+             (vertices[:,2]-target[2])**2 )**0.5
+    min = numpy.min(dist)
+    indices.append(numpy.where(dist <= min+tolerance)[0])
+
+print "Indices", indices
+print "Coordinates of selected points:",vertices[indices,:]
+
+# Extract values
+nsteps = timestamps.shape[0]
+disp = numpy.zeros((nsteps,ntargets,3))  # 3-D array (time, targets, components)
+vel = numpy.zeros((nsteps,ntargets,3))
+itime = 0
+for timestamp in timestamps:
+    filename = "%s-off_fault_t%05d.vtk" % (outputRoot,timestamp)
+    data = reader.read(filename)
+    fields = data['vertex_fields']
+    disp[itime,0:ntargets,:] = fields['displacement'][indices,:].squeeze()
+    vel[itime,0:ntargets,:] = fields['velocity'][indices,:].squeeze()
+    itime += 1
+
+
+# Write data
+headerA = \
+    "# problem = TPV210\n" + \
+    "# author = Surendra N. Somala\n" + \
+    "# date = %s\n" % (time.asctime()) + \
+    "# code = PyLith\n" + \
+    "# code_version = 1.5.0a\n" + \
+    "# element_size = %s\n" % dx
+headerB = \
+    "# Time series in 7 columns of E14.6:\n" + \
+    "# Column #1 = time (s)\n" + \
+    "# Column #2 = horizontal fault-parallel displacement (m)\n" + \
+    "# Column #3 = horizontal fault-parallel velocity (m/s)\n" + \
+    "# Column #4 = vertical displacement (m)\n" + \
+    "# Column #5 = vertical velocity (m/s)\n" + \
+    "# Column #6 = horizontal fault-normal displacement (m)\n" + \
+    "# Column #7 = horizontal fault-normal velocity (m/s)\n" + \
+    "#\n" + \
+    "# Data fields\n" + \
+    "t h-disp h-vel v-disp v-vel n-disp n-vel\n" + \
+    "#\n"
+
+locHeader = "# location = %3.1f km off fault, %3.1f km along strike " \
+    "and %3.1f km depth\n"
+locName = "%+04dst%03ddp%03d"
+
+lengthScale = 1000.0
+timeScale = 1000.0
+dip = -targets[:,1] / lengthScale
+strike = targets[:,2] / lengthScale
+body = -targets[:,0] / lengthScale
+time = timestamps / timeScale
+
+for iloc in xrange(ntargets):
+    pt = locName % (round(10*body[iloc]), 
+                    round(10*strike[iloc]),
+                    round(10*dip[iloc]))
+    filename = "%sbody%s.dat" % (outdir, pt)
+    fout = open(filename, 'w')
+    fout.write(headerA)
+    fout.write("# time_step = %14.6E\n" % dt)
+    fout.write("# num_timesteps = %8d\n" % nsteps)
+    fout.write(locHeader % (body[iloc], 
+                             strike[iloc], 
+                             dip[iloc]))
+    fout.write(headerB)
+    data = numpy.transpose((time,
+                            disp[:,iloc,0],
+                            vel[:,iloc,0],
+                            -disp[:,iloc,1],
+                            -vel[:,iloc,1],
+                            -disp[:,iloc,2],
+                            -vel[:,iloc,2]))
+    numpy.savetxt(fout, data, fmt='%14.6e')
+    fout.close()

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_onfaultdata.py
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_onfaultdata.py	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_onfaultdata.py	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,131 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+cell = "hex8"
+dx = 200
+dt = 0.05
+
+# outputRoot = "output/%s_%3dm_%s" % (cell,dx,"refine")
+# outdir = "scecfiles/%s_%3dm_%s/" % (cell,dx,"refine")
+
+outputRoot = "output/%s_%3dm" % (cell,dx)
+outdir = "scecfiles/%s_%3dm/" % (cell,dx)
+
+import numpy
+import time
+
+from pylith.utils.VTKDataReader import VTKDataReader
+
+# ----------------------------------------------------------------------
+timestamps = numpy.arange(50,15001,50)
+targets = numpy.array([[ 0.0000000, 0.0000000, 0.0000000],
+                       [ 0.0000000, 0.0000000, 4500.0000000],
+                       [ 0.0000000, 0.0000000, 12000.0000000],
+                       [ -750.0000000, -1299.0381057, 0.0000000],
+                       [ -1500.0000000, -2598.0762114, 0.0000000],
+                       [ -2250.0000000, -3897.1143170, 0.0000000],
+                       [ -3750.0000000, -6495.1905284, 0.0000000],
+                       [ -3750.0000000, -6495.1905284, 4500.0000000],
+                       [ -3750.0000000, -6495.1905284, 12000.0000000],
+                       [ -6000.0000000, -10392.3048454, 0.0000000]])
+    
+
+reader = VTKDataReader()
+tolerance = 1.0e-6
+
+# Get vertices and find indices of target locations
+filename = "%s-fault_t%05d.vtk" % (outputRoot,timestamps[0])
+data = reader.read(filename)
+
+vertices = numpy.array(data['vertices'])
+ntargets = targets.shape[0]
+indices = []
+for target in targets:
+    dist = ( (vertices[:,0]-target[0])**2 + 
+             (vertices[:,1]-target[1])**2 +
+             (vertices[:,2]-target[2])**2 )**0.5
+    min = numpy.min(dist)
+    indices.append(numpy.where(dist <= min+tolerance)[0][0])
+
+print "Indices", indices
+print "Coordinates of selected points:",vertices[indices,:]
+
+# Extract values
+nsteps = timestamps.shape[0]
+slip = numpy.zeros((nsteps,ntargets,3))  # 3-D array (time, targets, components)
+slip_rate = numpy.zeros((nsteps,ntargets,3))
+traction = numpy.zeros((nsteps,ntargets,3))
+itime = 0
+for timestamp in timestamps:
+    filename = "%s-fault_t%05d.vtk" % (outputRoot,timestamp)
+#    print "filename", filename
+    data = reader.read(filename)
+    fields = data['vertex_fields']
+    slip[itime,0:ntargets,:] = fields['slip'][indices,:].squeeze()
+    slip_rate[itime,0:ntargets,:] = fields['slip_rate'][indices,:].squeeze()
+    traction[itime,0:ntargets,:] = fields['traction'][indices,:].squeeze()
+    itime += 1
+
+
+# Write data
+headerA = \
+    "# problem = TPV210\n" + \
+    "# author = Surendra N. Somala\n" + \
+    "# date = %s\n" % (time.asctime()) + \
+    "# code = PyLith\n" + \
+    "# code_version = 1.5.0a\n" + \
+    "# element_size = %s\n" % dx
+headerB = \
+    "# Time series in 8 columns of E14.6:\n" + \
+    "# Column #1 = time (s)\n" + \
+    "# Column #2 = horizontal right-lateral slip (m)\n" + \
+    "# Column #3 = horizontal right-lateral slip rate (m/s)\n" + \
+    "# Column #4 = horizontal right-lateral shear stress (MPa)\n" + \
+    "# Column #5 = vertical up-dip slip (m)\n" + \
+    "# Column #6 = vertical up-dip slip-rate (m/s)\n" + \
+    "# Column #7 = vertical up-dip shear stress (MPa)\n" + \
+    "# Column #8 = normal stress (MPa)\n" + \
+    "#\n" + \
+    "# Data fields\n" + \
+    "t h-slip h-slip-rate h-shear-stress v-slip v-slip-rate v-shear-stress n-stress \n" + \
+    "#\n"
+
+locHeader = "# location = on fault, %3.1f km along strike and %3.1f km depth\n"
+locName = "st%03ddp%03d"
+
+lengthScale = 1000.0
+timeScale = 1000.0
+dip = -2*targets[:,0] / lengthScale
+strike = targets[:,2] / lengthScale
+time =  timestamps / timeScale
+print "time", time
+
+for iloc in xrange(ntargets):
+    pt = locName % (round(10*strike[iloc]), 
+                    round(10*dip[iloc]))
+    filename = "%sfault%s.dat" % (outdir,pt)
+    fout = open(filename, 'w');
+    fout.write(headerA)
+    fout.write("# time_step = %14.6E\n" % dt)
+    fout.write("# num_timesteps = %8d\n" % nsteps)
+    fout.write(locHeader % (strike[iloc], dip[iloc]))
+    fout.write(headerB)
+    data = numpy.transpose((time, 
+                            -slip[:,iloc,0],
+                            -slip_rate[:,iloc,0],
+                            -traction[:,iloc,0]/1e+6,
+                            slip[:,iloc,1],
+                            slip_rate[:,iloc,1],
+                            traction[:,iloc,1]/1e+6,
+                            traction[:,iloc,2]/1e+6))
+    numpy.savetxt(fout, data, fmt='%14.6e')
+    fout.close()

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_ruptime.py
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_ruptime.py	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tabulate_ruptime.py	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,117 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+cell = "hex8"
+dx = 200
+dt = 0.05
+
+outputRoot = "output/%s_%3dm" % (cell,dx)
+outdir = "scecfiles/%s_%3dm/" % (cell,dx)
+
+import numpy
+import time
+
+from pylith.utils.VTKDataReader import VTKDataReader
+
+# ----------------------------------------------------------------------
+timestamps = numpy.arange(50,12001,50)
+    
+
+reader = VTKDataReader()
+threshold = 0.001 # threshold for detecting slip has started
+
+filename = "%s-fault_t%05d.vtk" % (outputRoot,timestamps[0])
+data = reader.read(filename)
+vertices = numpy.array(data['vertices'])
+npts = vertices.shape[0]
+
+# Extract values
+nsteps = timestamps.shape[0]
+
+# Set default rupture time to a large value (1.0e+9)
+rupTime = 1.0e+9 * numpy.ones( (npts,), dtype=numpy.float64)
+#rupTime = numpy.zeros( (npts,), dtype=numpy.float64)
+
+# Create buffer for current rupture time
+tmpTime = numpy.zeros( (npts,), dtype=numpy.float64)
+
+itime = 0
+for timestamp in timestamps:
+    t = (itime+1)*dt # itime=0, t=dt
+
+    # Get slip rate field
+    filename = "%s-fault_t%05d.vtk" % (outputRoot,timestamp)
+    data = reader.read(filename)
+    fields = data['vertex_fields']
+    slipRate = fields['slip'][:,:].squeeze()
+
+    # Compute magnitude of slip rate
+    slipRateMag = (slipRate[:,0]**2 + slipRate[:,1]**2)**0.5
+
+    # Set rupture time at locations where threshold is exceeded
+    tmpTime[slipRateMag > threshold] = t
+
+    #print "slipRateMag \n", slipRateMag
+    #print "slipRateMag > threshold \n ", slipRateMag > threshold
+
+    #print "tmpTime \n", tmpTime[1:50]
+    #print "time", t
+
+    # Get indicates where current time is less than current rupture
+    # time (this is only the locations that just started slipping)
+    #indices = numpy.where((tmpTime < rupTime) and (rupTime < 0.00001))[0]
+    #indices = ((tmpTime < rupTime) & (rupTime < testarr))
+    indices = numpy.where((tmpTime < rupTime) & (tmpTime > 0.00001))[0]
+
+    #print "indices \n", indices[1:200]
+
+
+    rupTime[indices] = t
+
+    #print "rupTime \n", rupTime[1:200]
+
+    itime += 1
+
+# print "rupTime \n", rupTime
+# rupTime[rupTime < 0.00001] = 1.0e+9
+
+# Write data
+headerA = \
+    "# problem = TPV210\n" + \
+    "# author = Surendra N. Somala\n" + \
+    "# date = %s\n" % (time.asctime()) + \
+    "# code = PyLith\n" + \
+    "# code_version = 1.5.0a\n" + \
+    "# element_size = %s\n" % dx + \
+    "# Contour data in 3 columns of E14.6:\n" + \
+    "# Column #1 = Distance along strike from hypocenter (m)\n" + \
+    "# Column #2 = Distance down-dip from surface (m)\n" + \
+    "# Column #3 = Rupture time (s)\n" + \
+    "#\n" + \
+    "# Data fields\n" + \
+    "j k t\n" + \
+    "#\n"
+
+
+lengthScale = 1000.0
+timeScale = 1000.0
+distDip = -2*vertices[:,0]
+distStrike = vertices[:,2]
+time =  timestamps / timeScale
+print "time", time
+
+filename = "%sruptime.dat" % (outdir)
+fout = open(filename, "w")
+fout.write(headerA)
+data = numpy.transpose((distStrike, distDip, rupTime))
+numpy.savetxt(fout, data, fmt='%14.6e')
+fout.close()

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4.cfg	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,40 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.materials.elastic]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = tetrahedron
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc.x_pos]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+
+[pylithapp.timedependent.bc.x_neg]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+
+[pylithapp.timedependent.bc.y_pos]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+
+[pylithapp.timedependent.bc.y_neg]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+
+[pylithapp.timedependent.bc.z_neg]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces.fault]
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_100m.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_100m.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_100m.cfg	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,33 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator.reader]
+filename = tet4_100m.exo
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.formulation.time_step]
+dt = 0.01*s
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[pylithapp.problem.formulation.output.domain]
+writer.filename = output/tet4_100m.vtk
+
+# Give basename for VTK domain output of solution over subdomain.
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/tet4_100m-off_fault.vtk
+
+# Give basename for VTK fault output.
+[pylithapp.timedependent.interfaces.fault.output]
+writer.filename = output/tet4_100m-fault.vtk
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.elastic.output]
+writer.filename = output/tet4_100m-elastic.vtk

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_100m.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_100m.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_100m.jou	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,38 @@
+# ----------------------------------------------------------------------
+# Create tet4 mesh at 100m resolution.
+# ----------------------------------------------------------------------
+
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size and scheme
+# ----------------------------------------------------------------------
+volume all size 100
+volume all scheme tetmesh 
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Improve element quality.
+# ----------------------------------------------------------------------
+playback 'tet4_smooth.jou'
+
+# ----------------------------------------------------------------------
+# Setup boundary conditions.
+# ----------------------------------------------------------------------
+playback 'createbc.jou'
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "tet4_100m.exo" dimension 3 overwrite
+
+
+
+

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_200m.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_200m.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_200m.cfg	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,33 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator.reader]
+filename = tet4_200m.exo
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.formulation.time_step]
+dt = 0.01666666666666666666666667*s
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[pylithapp.problem.formulation.output.domain]
+writer.filename = output/tet4_200m.vtk
+
+# Give basename for VTK domain output of solution over subdomain.
+[pylithapp.problem.formulation.output.subdomain]
+writer.filename = output/tet4_200m-off_fault.vtk
+
+# Give basename for VTK fault output.
+[pylithapp.timedependent.interfaces.fault.output]
+writer.filename = output/tet4_200m-fault.vtk
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.elastic.output]
+writer.filename = output/tet4_200m-elastic.vtk

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_200m.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_200m.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_200m.jou	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,39 @@
+# ----------------------------------------------------------------------
+# Create tet4 mesh at 200m resolution.
+# ----------------------------------------------------------------------
+
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size and scheme
+# ----------------------------------------------------------------------
+volume all size 200
+volume all scheme tetmesh
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Improve element quality.
+# ----------------------------------------------------------------------
+playback 'tet4_smooth.jou'
+
+# ----------------------------------------------------------------------
+# Setup boundary conditions.
+# ----------------------------------------------------------------------
+playback 'createbc.jou'
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "tet4_200m.exo" dimension 3 overwrite
+
+
+
+
+

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_smooth.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_smooth.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tet4_smooth.jou	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,7 @@
+# ----------------------------------------------------------------------
+# Smooth the mesh
+# ----------------------------------------------------------------------
+volume all smooth scheme condition number beta 2.0 cpu 10
+smooth volume all
+volume all smooth scheme condition number beta 1.7 cpu 20
+smooth volume all

Added: short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tractions.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tractions.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/scecdynrup/tpv210/tractions.spatialdb	2010-05-31 18:44:08 UTC (rev 16846)
@@ -0,0 +1,59 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 3
+  value-names =  traction-shear-leftlateral traction-shear-updip traction-normal
+  value-units =  MPa   MPa  MPa
+  num-locs = 36
+  data-dim = 2
+  space-dim = 3
+  cs-data = cartesian {
+    to-meters = 1.0e+3  // x, y, z are in km
+    space-dim = 3
+  }
+}
+0.0			0.0			-15.0		0.0	0.0			0.0
+0.0			0.0			-1.5001		0.0	0.0			0.0
+0.0			0.0			-1.5		0.0	0.0			0.0
+0.0			0.0			+1.5		0.0	0.0			0.0
+0.0			0.0			+1.5001		0.0	0.0			0.0
+0.0			0.0			+15.0		0.0	0.0			0.0
+
+-5.249500000000000	-9.092400714332822	-15.0		0.0	42.603892100000		-77.461622000000
+-5.249500000000000	-9.092400714332822	-1.5001		0.0	42.603892100000		-77.461622000000
+-5.249500000000000	-9.092400714332822	-1.5		0.0	42.603892100000		-77.461622000000
+-5.249500000000000	-9.092400714332822	+1.5		0.0	42.603892100000		-77.461622000000
+-5.249500000000000	-9.092400714332822	+1.5001		0.0	42.603892100000		-77.461622000000
+-5.249500000000000	-9.092400714332822	+15.0		0.0	42.603892100000		-77.461622000000
+
+-5.250000000000000	-9.093266739736606	-15.0		0.0	42.407950000000		-77.469000000000
+-5.250000000000000	-9.093266739736606	-1.5001		0.0	42.407950000000		-77.469000000000
+-5.250000000000000	-9.093266739736606	-1.5		0.0	59.518013300000		-77.469000000000
+-5.250000000000000	-9.093266739736606	+1.5		0.0	59.518013300000		-77.469000000000
+-5.250000000000000	-9.093266739736606	+1.5001		0.0	42.407950000000		-77.469000000000
+-5.250000000000000	-9.093266739736606	+15.0		0.0	42.407950000000		-77.469000000000
+
+-6.750000000000000	-11.691342951089920	-15.0		0.0	54.781650000000		-99.603000000000
+-6.750000000000000	-11.691342951089920	-1.5001		0.0	54.781650000000		-99.603000000000
+-6.750000000000000	-11.691342951089920	-1.5		0.0	76.466017100000		-99.603000000000
+-6.750000000000000	-11.691342951089920	+1.5		0.0	76.466017100000		-99.603000000000
+-6.750000000000000	-11.691342951089920	+1.5001		0.0	54.781650000000		-99.603000000000
+-6.750000000000000	-11.691342951089920	+15.0		0.0	54.781650000000		-99.603000000000
+
+-6.750500000000000	-11.692208976493704	-15.0		0.0	54.785707900000		-99.610378000000
+-6.750500000000000	-11.692208976493704	-1.5001		0.0	54.785707900000		-99.610378000000
+-6.750500000000000	-11.692208976493704	-1.5		0.0	54.785707900000		-99.610378000000
+-6.750500000000000	-11.692208976493704	+1.5		0.0	54.785707900000		-99.610378000000
+-6.750500000000000	-11.692208976493704	+1.5001		0.0	54.785707900000		-99.610378000000
+-6.750500000000000	-11.692208976493704	+15.0		0.0	54.785707900000		-99.610378000000
+
+-7.500000000000000	-12.990381056766578	-15.0		0.0	60.868500000000		-110.670000000000
+-7.500000000000000	-12.990381056766578	-1.5001		0.0	60.868500000000		-110.670000000000
+-7.500000000000000	-12.990381056766578	-1.5		0.0	60.868500000000		-110.670000000000
+-7.500000000000000	-12.990381056766578	+1.5		0.0	60.868500000000		-110.670000000000
+-7.500000000000000	-12.990381056766578	+1.5001		0.0	60.868500000000		-110.670000000000
+-7.500000000000000	-12.990381056766578	+15.0		0.0	60.868500000000		-110.670000000000
+
+
+
+
+		



More information about the CIG-COMMITS mailing list