[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