[cig-commits] r13360 - in short/3D/PyLith/trunk/tests/2d: quad4 tri3

brad at geodynamics.org brad at geodynamics.org
Thu Nov 20 10:42:12 PST 2008


Author: brad
Date: 2008-11-20 10:42:11 -0800 (Thu, 20 Nov 2008)
New Revision: 13360

Added:
   short/3D/PyLith/trunk/tests/2d/quad4/TestDislocation2.py
   short/3D/PyLith/trunk/tests/2d/quad4/dislocation2.cfg
   short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slipLL.spatialdb
   short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slipRL.spatialdb
   short/3D/PyLith/trunk/tests/2d/tri3/TestDislocation2.py
   short/3D/PyLith/trunk/tests/2d/tri3/dislocation2.cfg
   short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slipLL.spatialdb
   short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slipRL.spatialdb
Removed:
   short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slip.spatialdb
   short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slip.spatialdb
Modified:
   short/3D/PyLith/trunk/tests/2d/quad4/Makefile.am
   short/3D/PyLith/trunk/tests/2d/quad4/README
   short/3D/PyLith/trunk/tests/2d/quad4/TestAxialPlaneStrain.py
   short/3D/PyLith/trunk/tests/2d/quad4/axialplanestrain.cfg
   short/3D/PyLith/trunk/tests/2d/quad4/box_quad4_100m.exo
   short/3D/PyLith/trunk/tests/2d/quad4/dislocation.cfg
   short/3D/PyLith/trunk/tests/2d/quad4/geometry.jou
   short/3D/PyLith/trunk/tests/2d/quad4/mesh_quad4_100m.jou
   short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain.cfg
   short/3D/PyLith/trunk/tests/2d/quad4/testpylith.py
   short/3D/PyLith/trunk/tests/2d/tri3/Makefile.am
   short/3D/PyLith/trunk/tests/2d/tri3/README
   short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py
   short/3D/PyLith/trunk/tests/2d/tri3/axialplanestrain.cfg
   short/3D/PyLith/trunk/tests/2d/tri3/box_tri3_100m.exo
   short/3D/PyLith/trunk/tests/2d/tri3/dislocation.cfg
   short/3D/PyLith/trunk/tests/2d/tri3/geometry.jou
   short/3D/PyLith/trunk/tests/2d/tri3/mesh_tri3_100m.jou
   short/3D/PyLith/trunk/tests/2d/tri3/shearplanestrain.cfg
   short/3D/PyLith/trunk/tests/2d/tri3/testpylith.py
Log:
Adjusted domain and added two fault test.

Modified: short/3D/PyLith/trunk/tests/2d/quad4/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/Makefile.am	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/quad4/Makefile.am	2008-11-20 18:42:11 UTC (rev 13360)
@@ -17,7 +17,8 @@
 noinst_PYTHON = \
 	TestAxialPlaneStrain.py \
 	TestShearPlaneStrain.py \
-	TestDislocation.py
+	TestDislocation.py \
+	TestDislocation2.py
 
 noinst_DATA = \
 	box_quad4_100m.exo \
@@ -25,7 +26,9 @@
 	axialplanestrain.cfg \
 	shearplanestrain.cfg \
 	dislocation.cfg \
-	dislocation_slip.spatialdb \
+	dislocation2.cfg \
+	dislocation_slipLL.spatialdb \
+	dislocation_slipRL.spatialdb \
 	dislocation_sliptime.spatialdb
 
 noinst_TMP = \
@@ -39,7 +42,14 @@
 	dislocation-statevars-elastic_info.vtk \
 	dislocation-statevars-elastic_t0000000.vtk \
 	dislocation-fault_info.vtk \
-	dislocation-fault_t0000000.vtk
+	dislocation-fault_t0000000.vtk \
+	dislocation2_t0000000.vtk \
+	dislocation2-statevars-elastic_info.vtk \
+	dislocation2-statevars-elastic_t0000000.vtk \
+	dislocation2-fault-pos_info.vtk \
+	dislocation2-fault-pos_t0000000.vtk \
+	dislocation2-fault-neg_info.vtk \
+	dislocation2-fault-neg_t0000000.vtk
 
 
 TESTS_ENVIRONMENT = $(PYTHON)

Modified: short/3D/PyLith/trunk/tests/2d/quad4/README
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/README	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/quad4/README	2008-11-20 18:42:11 UTC (rev 13360)
@@ -2,8 +2,8 @@
 DOMAIN
 ======================================================================
 
--250 <= x <= +250
--250 <= y <= +250
+-400 <= x <= +400
+-400 <= y <= +400
 
 Mesh is quad4 cells with nominal 100m discretization size.
 
@@ -13,19 +13,19 @@
 
 2-D axial compression test with linear quadrilateral cells.
 
-         y=-1.0 m
-        ----------
-        |        |
-x=0.0 m |        |
-        |        |
-        |        |
-        ----------
-         y=+1.0 m
+         Uy=-1.0 m
+         ----------
+         |        |
+Ux=0.0 m |        |
+         |        |
+         |        |
+         ----------
+         Uy=+1.0 m
 
 Dirichlet boundary conditions
   Ux(0,y) = 0.0
-  Uy(x,-250) = +1.0 m
-  Uy(x,+250) = -1.0 m
+  Uy(x,-400) = +1.0 m
+  Uy(x,+400) = -1.0 m
 
 Analytical solution
   Ux(x,y) = 0
@@ -39,19 +39,19 @@
 2-D shear test with linear quadrilateral cells.
 
 
-         ----------
-         |        |
-y=-1.0 m |        | y=+1.0m
-         |        |
-         |        |
-         ----------
+          ----------
+          |        |
+Uy=-1.0 m |        | Uy=+1.0m
+          |        |
+          |        |
+          ----------
 
 
 Dirichlet boundary conditions
   Ux(   0,y) =  0.0
   Uy(   0,y) = -1.0 m
-  Ux(+250,y) =  0.0
-  Uy(+250,y) = +1.0 m
+  Ux(+400,y) =  0.0
+  Uy(+400,y) = +1.0 m
 
 Analytical solution
   Ux(x,y) = 0
@@ -65,20 +65,53 @@
 2-D dislocation test with linear quadrilateral cells.
 
 
-         ----------
-         |    |    |
-y=-0.5 m |    |    | y=+0.5m
-         |    |    |
-         |    |    |
-         ----------
+          ----------
+          |    |    |
+Uy=-0.5 m |    |    | Uy=+0.5m
+          |    |    |
+          |    |    |
+          ----------
 
 
 Dirichlet boundary conditions
   Ux(   0,y) =  0.0
   Uy(   0,y) = -0.5 m
-  Ux(+250,y) =  0.0
-  Uy(+250,y) = +0.5 m
+  Ux(+400,y) =  0.0
+  Uy(+400,y) = +0.5 m
 
 Analytical solution
-  Ux(x<0,y) = -0.5
-  Ux(x>0,y) = +0.5
+  Ux(x<0,y) = -0.5 m
+  Ux(x>0,y) = +0.5 m
+  Uy = 0.0
+
+======================================================================
+DISLOCATION2
+======================================================================
+
+2-D dislocation test with linear quadrilateral cells with 2
+faults. One is right-lateral and one is left-lateral to cause the
+middle section to move 1.0 m to the right.
+
+
+           Ux=0     
+         ----------
+         |        |
+         |--------| 
+         | Ux=1.0m|
+         |--------|
+         |        |
+         ----------
+           Ux=0
+
+
+Dirichlet boundary conditions
+  Ux(x,+400) =  0.0
+  Uy(x,+400) =  0.0
+  Ux(x,-400) =  0.0
+  Uy(x,-400) =  0.0
+
+Analytical solution
+  Ux(x,-100<y<+100) = +1.0 m
+  Ux(x,-100>y) = 0.0
+  Ux(x,+100<y) = 0.0
+  Uy = 0.0

Modified: short/3D/PyLith/trunk/tests/2d/quad4/TestAxialPlaneStrain.py
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/TestAxialPlaneStrain.py	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/quad4/TestAxialPlaneStrain.py	2008-11-20 18:42:11 UTC (rev 13360)
@@ -12,7 +12,7 @@
 
 ## @file tests/2d/quad4/TestAxialPlaneStrain.py
 ##
-## @brief Test suite for testing pylith with axial extension in
+## @brief Test suite for testing pylith with axial compression in
 ## y-direction for 2-D box.
 
 import unittest

Added: short/3D/PyLith/trunk/tests/2d/quad4/TestDislocation2.py
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/TestDislocation2.py	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/quad4/TestDislocation2.py	2008-11-20 18:42:11 UTC (rev 13360)
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file tests/2d/quad4/TestDislocation2.py
+##
+## @brief Test suite for testing pylith with two parallel shear
+## dislocations for 2-D box.
+
+import unittest
+
+# Local application
+from pylith.PyLithApp import PyLithApp
+class DislocationApp(PyLithApp):
+  def __init__(self):
+    PyLithApp.__init__(self, name="dislocation2")
+    return
+
+
+# Helper function to run PyLith
+def run_pylith():
+  """
+  Run pylith.
+  """
+  if not "done" in dir(run_pylith):
+    app = DislocationApp()
+    app.run()
+    run_pylith.done = True
+  return
+
+
+class TestDislocation2(unittest.TestCase):
+  """
+  Test suite for testing pylith with shear dislocation for 2-D box.
+  """
+
+  def setUp(self):
+    """
+    Setup for test.
+    """
+    run_pylith()
+    return
+
+
+  def test_disp(self):
+    """
+    Check displacement field.
+    """
+    return
+
+
+# End of file 

Modified: short/3D/PyLith/trunk/tests/2d/quad4/axialplanestrain.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/axialplanestrain.cfg	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/quad4/axialplanestrain.cfg	2008-11-20 18:42:11 UTC (rev 13360)
@@ -54,19 +54,19 @@
 # ----------------------------------------------------------------------
 # boundary conditions
 # ----------------------------------------------------------------------
+[axialplanestrain.timedependent.bc.x_pos]
+fixed_dof = [0]
+label = 20
+db.label = Dirichlet BC +x edge
+
 [axialplanestrain.timedependent.bc.x_neg]
 fixed_dof = [0]
-label = 11
+label = 21
 db.label = Dirichlet BC -x edge
 
-[axialplanestrain.timedependent.bc.x_pos]
-fixed_dof = [0]
-label = 12
-db.label = Dirichlet BC +x edge
-
 [axialplanestrain.timedependent.bc.y_pos]
 fixed_dof = [1]
-label = 13
+label = 22
 db = spatialdata.spatialdb.UniformDB
 db.label = Dirichlet BC +y edge
 db.values = [dof-1]
@@ -74,7 +74,7 @@
 
 [axialplanestrain.timedependent.bc.y_neg]
 fixed_dof = [1]
-label = 14
+label = 23
 db = spatialdata.spatialdb.UniformDB
 db.label = Dirichlet BC -y edge
 db.values = [dof-1]

Modified: short/3D/PyLith/trunk/tests/2d/quad4/box_quad4_100m.exo
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/trunk/tests/2d/quad4/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/dislocation.cfg	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/quad4/dislocation.cfg	2008-11-20 18:42:11 UTC (rev 13360)
@@ -55,21 +55,21 @@
 # ----------------------------------------------------------------------
 # boundary conditions
 # ----------------------------------------------------------------------
-[dislocation.timedependent.bc.x_neg]
+[dislocation.timedependent.bc.x_pos]
 fixed_dof = [0, 1]
-label = 12
+label = 20
 db = spatialdata.spatialdb.UniformDB
-db.label = Dirichlet BC -x edge
+db.label = Dirichlet BC +x edge
 db.values = [dof-0,dof-1]
-db.data = [0.0,-0.5]
+db.data = [0.0,+0.5]
 
-[dislocation.timedependent.bc.x_pos]
+[dislocation.timedependent.bc.x_neg]
 fixed_dof = [0, 1]
-label = 11
+label = 21
 db = spatialdata.spatialdb.UniformDB
-db.label = Dirichlet BC +x edge
+db.label = Dirichlet BC -x edge
 db.values = [dof-0,dof-1]
-db.data = [0.0,+0.5]
+db.data = [0.0,-0.5]
 
 # ----------------------------------------------------------------------
 # faults
@@ -78,7 +78,7 @@
 fault = pylith.faults.FaultCohesiveKin
 
 [dislocation.timedependent.interfaces.fault]
-id = 20
+id = 2
 label = 10
 quadrature = pylith.feassemble.quadrature.Quadrature1Din2D
 quadrature.cell = pylith.feassemble.FIATLagrange
@@ -87,7 +87,7 @@
 mat_db.iohandler.filename = matprops.spatialdb
 
 [dislocation.timedependent.interfaces.fault.eq_srcs.rupture.slip_function]
-slip.iohandler.filename = dislocation_slip.spatialdb
+slip.iohandler.filename = dislocation_slipLL.spatialdb
 slip_time.iohandler.filename = dislocation_sliptime.spatialdb
 
 

Added: short/3D/PyLith/trunk/tests/2d/quad4/dislocation2.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/dislocation2.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/quad4/dislocation2.cfg	2008-11-20 18:42:11 UTC (rev 13360)
@@ -0,0 +1,130 @@
+# -*- Python -*-
+[dislocation2]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+[dislocation2.journal.info]
+#timedependent = 1
+#implicit = 1
+#petsc = 1
+#solverlinear = 1
+#meshiocubit = 1
+#implicitelasticity = 1
+#quadrature2d = 1
+#fiatsimplex = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[dislocation2.mesh_generator]
+#debug = 1
+importer = pylith.meshio.MeshIOCubit
+
+[dislocation2.mesh_generator.importer]
+filename = box_quad4_100m.exo
+coordsys.space_dim = 2
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[dislocation2.timedependent]
+dimension = 2
+bc = [y_neg,y_pos]
+interfaces = [fault_pos,fault_neg]
+
+[dislocation2.timedependent.formulation.time_step]
+total_time = 0.0*s
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[dislocation2.timedependent]
+materials = [elastic]
+materials.elastic = pylith.materials.ElasticPlaneStrain
+
+[dislocation2.timedependent.materials.elastic]
+label = Elastic material
+id = 1
+db.iohandler.filename = matprops.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature2D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[dislocation2.timedependent.bc.y_neg]
+fixed_dof = [0, 1]
+label = 23
+db.label = Dirichlet BC -y edge
+
+[dislocation2.timedependent.bc.y_pos]
+fixed_dof = [0, 1]
+label = 22
+db.label = Dirichlet BC +y edge
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[dislocation2.timedependent.interfaces]
+
+[dislocation2.timedependent.interfaces.fault_pos]
+id = 2
+label = 11
+quadrature = pylith.feassemble.quadrature.Quadrature1Din2D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 1
+quadrature.cell.quad_order = 2
+mat_db.iohandler.filename = matprops.spatialdb
+
+[dislocation2.timedependent.interfaces.fault_pos.eq_srcs.rupture.slip_function]
+slip.iohandler.filename = dislocation_slipLL.spatialdb
+slip_time.iohandler.filename = dislocation_sliptime.spatialdb
+
+
+[dislocation2.timedependent.interfaces.fault_neg]
+id = 3
+label = 12
+quadrature = pylith.feassemble.quadrature.Quadrature1Din2D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 1
+quadrature.cell.quad_order = 2
+mat_db.iohandler.filename = matprops.spatialdb
+
+[dislocation2.timedependent.interfaces.fault_neg.eq_srcs.rupture.slip_function]
+slip.iohandler.filename = dislocation_slipRL.spatialdb
+slip_time.iohandler.filename = dislocation_sliptime.spatialdb
+
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[dislocation2.petsc]
+ksp_rtol = 1.0e-8
+pc_type = asm
+ksp_max_it = 100
+ksp_gmres_restart = 50
+#ksp_monitor = true
+#ksp_view = true
+#log_summary = true
+# start_in_debugger = true
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[dislocation2.problem.formulation.output.output.writer]
+filename = dislocation2.vtk
+
+# Give basename for VTK output of state variables.
+[dislocation2.timedependent.materials.elastic.output]
+cell_filter = pylith.meshio.CellFilterAvg
+writer.filename = dislocation2-statevars-elastic.vtk
+
+[dislocation2.timedependent.interfaces.fault_pos.output.writer]
+filename = dislocation2-fault-pos.vtk
+
+[dislocation2.timedependent.interfaces.fault_neg.output.writer]
+filename = dislocation2-fault-neg.vtk

Deleted: short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slip.spatialdb
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slip.spatialdb	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slip.spatialdb	2008-11-20 18:42:11 UTC (rev 13360)
@@ -1,14 +0,0 @@
-#SPATIAL.ascii 1
-SimpleDB {
-  num-values = 2
-  value-names =  left-lateral-slip fault-opening
-  value-units =  m  m
-  num-locs = 1
-  data-dim = 0
-  space-dim = 2
-  cs-data = cartesian {
-    to-meters = 1.0
-    space-dim = 2
-  }
-}
-0.0  0.0   1.0  0.0

Copied: short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slipLL.spatialdb (from rev 13352, short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slip.spatialdb)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slipLL.spatialdb	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slipLL.spatialdb	2008-11-20 18:42:11 UTC (rev 13360)
@@ -0,0 +1,14 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 2
+  value-names =  left-lateral-slip fault-opening
+  value-units =  m  m
+  num-locs = 1
+  data-dim = 0
+  space-dim = 2
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 2
+  }
+}
+0.0  0.0   1.0  0.0

Added: short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slipRL.spatialdb
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slipRL.spatialdb	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/quad4/dislocation_slipRL.spatialdb	2008-11-20 18:42:11 UTC (rev 13360)
@@ -0,0 +1,14 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 2
+  value-names =  left-lateral-slip fault-opening
+  value-units =  m  m
+  num-locs = 1
+  data-dim = 0
+  space-dim = 2
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 2
+  }
+}
+0.0  0.0   -1.0  0.0

Modified: short/3D/PyLith/trunk/tests/2d/quad4/geometry.jou
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/geometry.jou	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/quad4/geometry.jou	2008-11-20 18:42:11 UTC (rev 13360)
@@ -2,24 +2,36 @@
 # Create surface using vertices
 # ----------------------------------------------------------------------
 
-# Block is 500m x 500m
-# -250 m <= x <= 250 km 
-# -250 km <= y <= 250 km
+# Block is 800m x 800m
+# -400 m <= x <= 400 km 
+# -400 km <= y <= 400 km
 reset
-create vertex -250.0 -250.0 0.0
-create vertex -250.0 +250.0 0.0
-create vertex +250.0 +250.0 0.0
-create vertex +250.0 -250.0 0.0
+create vertex -400.0 -400.0 0.0
+create vertex -400.0 +400.0 0.0
+create vertex +400.0 +400.0 0.0
+create vertex +400.0 -400.0 0.0
 create surface vertex 1 2 3 4
 delete vertex all
 
 # ----------------------------------------------------------------------
 # Create interface surfaces
 # ----------------------------------------------------------------------
-create vertex 0.0 -250.0 0.0
-create vertex 0.0 +250.0 0.0
+
+# Fault at x=0
+create vertex 0.0 -400.0 0.0
+create vertex 0.0 +400.0 0.0
 split surface 1 across location vertex 9 location vertex 10
-curve 5 name "fault_edge"
+
+# Fault at y=-100
+create vertex -400.0 -100.0 0.0
+create vertex +400.0 -100.0 0.0
+split surface 2 across location vertex 13 location vertex 14
+split surface 3 across location vertex 13 location vertex 14
+
+# Fault at y=+100
+create vertex -400.0 +100.0 0.0
+create vertex +400.0 +100.0 0.0
+split surface 4 across location vertex 18 location vertex 19
+split surface 6 across location vertex 18 location vertex 19
+
 delete vertex all
-surface 2 name "block_neg"
-surface 3 name "block_pos"

Modified: short/3D/PyLith/trunk/tests/2d/quad4/mesh_quad4_100m.jou
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/mesh_quad4_100m.jou	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/quad4/mesh_quad4_100m.jou	2008-11-20 18:42:11 UTC (rev 13360)
@@ -17,45 +17,61 @@
 # ----------------------------------------------------------------------
 # Create blocks for materials
 # ----------------------------------------------------------------------
-block 1 surface 2 3
+block 1 surface 5 7 9 11 8 10 
 block 1 name "elastic"
 
 # ----------------------------------------------------------------------
-# Create nodeset for fault
+# Create nodeset for faults
 # ----------------------------------------------------------------------
-group "fault" add node in fault_edge
-nodeset 10 group fault
-nodeset 10 name "fault"
+group "fault_x" add node in curve 13
+group "fault_x" add node in curve 21
+group "fault_x" add node in curve 20
+nodeset 10 group fault_x
+nodeset 10 name "fault_x"
 
+group "fault_ypos" add node in curve 18
+group "fault_ypos" add node in curve 23
+nodeset 11 group fault_ypos
+nodeset 11 name "fault_ypos"
+
+group "fault_yneg" add node in curve 10
+group "fault_yneg" add node in curve 15
+nodeset 12 group fault_yneg
+nodeset 12 name "fault_yneg"
+
 # ----------------------------------------------------------------------
 # Create nodeset for +x edge
 # ----------------------------------------------------------------------
-group "edge_xpos" add node in curve 3 
-nodeset 11 group edge_xpos
-nodeset 11 name "edge xpos"
+group "edge_xpos" add node in curve 17
+group "edge_xpos" add node in curve 25
+group "edge_xpos" add node in curve 24
+nodeset 20 group edge_xpos
+nodeset 20 name "edge xpos"
 
 # ----------------------------------------------------------------------
 # Create nodeset for -x edge
 # ----------------------------------------------------------------------
-group "edge_xneg" add node in curve 1
-nodeset 12 group edge_xneg
-nodeset 12 name "edge xneg"
+group "edge_xneg" add node in curve 14
+group "edge_xneg" add node in curve 22
+group "edge_xneg" add node in curve 19
+nodeset 21 group edge_xneg
+nodeset 21 name "edge xneg"
 
 # ----------------------------------------------------------------------
 # Create nodeset for +y edge
 # ----------------------------------------------------------------------
 group "edge_ypos" add node in curve 7
 group "edge_ypos" add node in curve 8
-nodeset 13 group edge_ypos
-nodeset 13 name "edge ypos"
+nodeset 22 group edge_ypos
+nodeset 22 name "edge ypos"
 
 # ----------------------------------------------------------------------
 # Create nodeset for -y edge
 # ----------------------------------------------------------------------
 group "edge_yneg" add node in curve 6
 group "edge_yneg" add node in curve 9
-nodeset 14 group edge_yneg
-nodeset 14 name "edge yneg"
+nodeset 23 group edge_yneg
+nodeset 23 name "edge yneg"
 
 # ----------------------------------------------------------------------
 # Export exodus file

Modified: short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain.cfg	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/quad4/shearplanestrain.cfg	2008-11-20 18:42:11 UTC (rev 13360)
@@ -56,7 +56,7 @@
 # ----------------------------------------------------------------------
 [shearplanestrain.timedependent.bc.y_neg]
 fixed_dof = [0, 1]
-label = 14
+label = 23
 db = spatialdata.spatialdb.UniformDB
 db.label = Dirichlet BC -y edge
 db.values = [dof-0,dof-1]
@@ -64,7 +64,7 @@
 
 [shearplanestrain.timedependent.bc.y_pos]
 fixed_dof = [0, 1]
-label = 13
+label = 22
 db = spatialdata.spatialdb.UniformDB
 db.label = Dirichlet BC +y edge
 db.values = [dof-0,dof-1]

Modified: short/3D/PyLith/trunk/tests/2d/quad4/testpylith.py
===================================================================
--- short/3D/PyLith/trunk/tests/2d/quad4/testpylith.py	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/quad4/testpylith.py	2008-11-20 18:42:11 UTC (rev 13360)
@@ -29,6 +29,9 @@
   from TestDislocation import TestDislocation
   suite.addTest(unittest.makeSuite(TestDislocation))
 
+  from TestDislocation2 import TestDislocation2
+  suite.addTest(unittest.makeSuite(TestDislocation2))
+
   return suite
 
 

Modified: short/3D/PyLith/trunk/tests/2d/tri3/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/Makefile.am	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/tri3/Makefile.am	2008-11-20 18:42:11 UTC (rev 13360)
@@ -17,7 +17,8 @@
 noinst_PYTHON = \
 	TestAxialPlaneStrain.py \
 	TestShearPlaneStrain.py \
-	TestDislocation.py
+	TestDislocation.py \
+	TestDislocation2.py
 
 noinst_DATA = \
 	box_tri3_100m.exo \
@@ -25,7 +26,9 @@
 	axialplanestrain.cfg \
 	shearplanestrain.cfg \
 	dislocation.cfg \
-	dislocation_slip.spatialdb \
+	dislocation2.cfg \
+	dislocation_slipLL.spatialdb \
+	dislocation_slipRL.spatialdb \
 	dislocation_sliptime.spatialdb
 
 noinst_TMP = \
@@ -39,7 +42,14 @@
 	dislocation-statevars-elastic_info.vtk \
 	dislocation-statevars-elastic_t0000000.vtk \
 	dislocation-fault_info.vtk \
-	dislocation-fault_t0000000.vtk
+	dislocation-fault_t0000000.vtk \
+	dislocation2_t0000000.vtk \
+	dislocation2-statevars-elastic_info.vtk \
+	dislocation2-statevars-elastic_t0000000.vtk \
+	dislocation2-fault-pos_info.vtk \
+	dislocation2-fault-pos_t0000000.vtk \
+	dislocation2-fault-neg_info.vtk \
+	dislocation2-fault-neg_t0000000.vtk
 
 
 TESTS_ENVIRONMENT = $(PYTHON)

Modified: short/3D/PyLith/trunk/tests/2d/tri3/README
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/README	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/tri3/README	2008-11-20 18:42:11 UTC (rev 13360)
@@ -2,8 +2,8 @@
 DOMAIN
 ======================================================================
 
--250 <= x <= +250
--250 <= y <= +250
+-400 <= x <= +400
+-400 <= y <= +400
 
 Mesh is tri3 cells with nominal 100m discretization size.
 
@@ -13,19 +13,19 @@
 
 2-D axial compression test with linear triangular cells.
 
-         y=-1.0 m
-        ----------
-        |        |
-x=0.0 m |        |
-        |        |
-        |        |
-        ----------
-         y=+1.0 m
+         Uy=-1.0 m
+         ----------
+         |        |
+Ux=0.0 m |        |
+         |        |
+         |        |
+         ----------
+         Uy=+1.0 m
 
 Dirichlet boundary conditions
   Ux(0,y) = 0.0
-  Uy(x,-250) = +1.0 m
-  Uy(x,+250) = -1.0 m
+  Uy(x,-400) = +1.0 m
+  Uy(x,+400) = -1.0 m
 
 Analytical solution
   Ux(x,y) = 0
@@ -39,19 +39,19 @@
 2-D shear test with linear triangular cells.
 
 
-         ----------
-         |        |
-y=-1.0 m |        | y=+1.0m
-         |        |
-         |        |
-         ----------
+          ----------
+          |        |
+Uy=-1.0 m |        | Uy=+1.0m
+          |        |
+          |        |
+          ----------
 
 
 Dirichlet boundary conditions
   Ux(   0,y) =  0.0
   Uy(   0,y) = -1.0 m
-  Ux(+250,y) =  0.0
-  Uy(+250,y) = +1.0 m
+  Ux(+400,y) =  0.0
+  Uy(+400,y) = +1.0 m
 
 Analytical solution
   Ux(x,y) = 0
@@ -65,20 +65,53 @@
 2-D dislocation test with linear triangular cells.
 
 
-         ----------
-         |    |    |
-y=-0.5 m |    |    | y=+0.5m
-         |    |    |
-         |    |    |
-         ----------
+          ----------
+          |    |    |
+Uy=-0.5 m |    |    | Uy=+0.5m
+          |    |    |
+          |    |    |
+          ----------
 
 
 Dirichlet boundary conditions
   Ux(   0,y) =  0.0
   Uy(   0,y) = -0.5 m
-  Ux(+250,y) =  0.0
-  Uy(+250,y) = +0.5 m
+  Ux(+400,y) =  0.0
+  Uy(+400,y) = +0.5 m
 
 Analytical solution
-  Ux(x<0,y) = -0.5
-  Ux(x>0,y) = +0.5
+  Ux(x<0,y) = -0.5 m
+  Ux(x>0,y) = +0.5 m
+  Uy = 0.0
+
+======================================================================
+DISLOCATION2
+======================================================================
+
+2-D dislocation test with linear triangular cells with 2 faults. One
+is right-lateral and one is left-lateral to cause the middle section
+to move 1.0 m to the right.
+
+
+           Ux=0     
+         ----------
+         |        |
+         |--------| 
+         | Ux=1.0m|
+         |--------|
+         |        |
+         ----------
+           Ux=0
+
+
+Dirichlet boundary conditions
+  Ux(x,+400) =  0.0
+  Uy(x,+400) =  0.0
+  Ux(x,-400) =  0.0
+  Uy(x,-400) =  0.0
+
+Analytical solution
+  Ux(x,-100<y<+100) = +1.0 m
+  Ux(x,-100>y) = 0.0
+  Ux(x,+100<y) = 0.0
+  Uy = 0.0

Modified: short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/tri3/TestAxialPlaneStrain.py	2008-11-20 18:42:11 UTC (rev 13360)
@@ -12,7 +12,7 @@
 
 ## @file tests/2d/tri3/TestAxialPlaneStrain.py
 ##
-## @brief Test suite for testing pylith with axial extension in
+## @brief Test suite for testing pylith with axial compression in
 ## y-direction for 2-D box.
 
 import unittest

Added: short/3D/PyLith/trunk/tests/2d/tri3/TestDislocation2.py
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/TestDislocation2.py	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/tri3/TestDislocation2.py	2008-11-20 18:42:11 UTC (rev 13360)
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file tests/2d/tri3/TestDislocation2.py
+##
+## @brief Test suite for testing pylith with two parallel shear
+## dislocations for 2-D box.
+
+import unittest
+
+# Local application
+from pylith.PyLithApp import PyLithApp
+class DislocationApp(PyLithApp):
+  def __init__(self):
+    PyLithApp.__init__(self, name="dislocation2")
+    return
+
+
+# Helper function to run PyLith
+def run_pylith():
+  """
+  Run pylith.
+  """
+  if not "done" in dir(run_pylith):
+    app = DislocationApp()
+    app.run()
+    run_pylith.done = True
+  return
+
+
+class TestDislocation2(unittest.TestCase):
+  """
+  Test suite for testing pylith with shear dislocation for 2-D box.
+  """
+
+  def setUp(self):
+    """
+    Setup for test.
+    """
+    run_pylith()
+    return
+
+
+  def test_disp(self):
+    """
+    Check displacement field.
+    """
+    return
+
+
+# End of file 

Modified: short/3D/PyLith/trunk/tests/2d/tri3/axialplanestrain.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/axialplanestrain.cfg	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/tri3/axialplanestrain.cfg	2008-11-20 18:42:11 UTC (rev 13360)
@@ -52,19 +52,19 @@
 # ----------------------------------------------------------------------
 # boundary conditions
 # ----------------------------------------------------------------------
+[axialplanestrain.timedependent.bc.x_pos]
+fixed_dof = [0]
+label = 20
+db.label = Dirichlet BC +x edge
+
 [axialplanestrain.timedependent.bc.x_neg]
 fixed_dof = [0]
-label = 11
+label = 21
 db.label = Dirichlet BC -x edge
 
-[axialplanestrain.timedependent.bc.x_pos]
-fixed_dof = [0]
-label = 12
-db.label = Dirichlet BC +x edge
-
 [axialplanestrain.timedependent.bc.y_pos]
 fixed_dof = [1]
-label = 13
+label = 22
 db = spatialdata.spatialdb.UniformDB
 db.label = Dirichlet BC +y edge
 db.values = [dof-1]
@@ -72,7 +72,7 @@
 
 [axialplanestrain.timedependent.bc.y_neg]
 fixed_dof = [1]
-label = 14
+label = 23
 db = spatialdata.spatialdb.UniformDB
 db.label = Dirichlet BC -y edge
 db.values = [dof-1]

Modified: short/3D/PyLith/trunk/tests/2d/tri3/box_tri3_100m.exo
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/trunk/tests/2d/tri3/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/dislocation.cfg	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/tri3/dislocation.cfg	2008-11-20 18:42:11 UTC (rev 13360)
@@ -53,21 +53,21 @@
 # ----------------------------------------------------------------------
 # boundary conditions
 # ----------------------------------------------------------------------
-[dislocation.timedependent.bc.x_neg]
+[dislocation.timedependent.bc.x_pos]
 fixed_dof = [0, 1]
-label = 12
+label = 20
 db = spatialdata.spatialdb.UniformDB
-db.label = Dirichlet BC -x edge
+db.label = Dirichlet BC +x edge
 db.values = [dof-0,dof-1]
-db.data = [0.0,-0.5]
+db.data = [0.0,+0.5]
 
-[dislocation.timedependent.bc.x_pos]
+[dislocation.timedependent.bc.x_neg]
 fixed_dof = [0, 1]
-label = 11
+label = 21
 db = spatialdata.spatialdb.UniformDB
-db.label = Dirichlet BC +x edge
+db.label = Dirichlet BC -x edge
 db.values = [dof-0,dof-1]
-db.data = [0.0,+0.5]
+db.data = [0.0,-0.5]
 
 # ----------------------------------------------------------------------
 # faults
@@ -76,14 +76,14 @@
 fault = pylith.faults.FaultCohesiveKin
 
 [dislocation.timedependent.interfaces.fault]
-id = 20
+id = 2
 label = 10
 quadrature = pylith.feassemble.quadrature.Quadrature1Din2D
 quadrature.cell.shape = line
 mat_db.iohandler.filename = matprops.spatialdb
 
 [dislocation.timedependent.interfaces.fault.eq_srcs.rupture.slip_function]
-slip.iohandler.filename = dislocation_slip.spatialdb
+slip.iohandler.filename = dislocation_slipLL.spatialdb
 slip_time.iohandler.filename = dislocation_sliptime.spatialdb
 
 

Added: short/3D/PyLith/trunk/tests/2d/tri3/dislocation2.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/dislocation2.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/tri3/dislocation2.cfg	2008-11-20 18:42:11 UTC (rev 13360)
@@ -0,0 +1,124 @@
+# -*- Python -*-
+[dislocation2]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+[dislocation2.journal.info]
+#timedependent = 1
+#implicit = 1
+#petsc = 1
+#solverlinear = 1
+#meshiocubit = 1
+#implicitelasticity = 1
+#quadrature2d = 1
+#fiatsimplex = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[dislocation2.mesh_generator]
+#debug = 1
+importer = pylith.meshio.MeshIOCubit
+
+[dislocation2.mesh_generator.importer]
+filename = box_tri3_100m.exo
+coordsys.space_dim = 2
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[dislocation2.timedependent]
+dimension = 2
+bc = [y_neg,y_pos]
+interfaces = [fault_pos,fault_neg]
+
+[dislocation2.timedependent.formulation.time_step]
+total_time = 0.0*s
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[dislocation2.timedependent]
+materials = [elastic]
+materials.elastic = pylith.materials.ElasticPlaneStrain
+
+[dislocation2.timedependent.materials.elastic]
+label = Elastic material
+id = 1
+db.iohandler.filename = matprops.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature2D
+quadrature.cell.shape = triangle
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[dislocation2.timedependent.bc.y_neg]
+fixed_dof = [0, 1]
+label = 23
+db.label = Dirichlet BC -y edge
+
+[dislocation2.timedependent.bc.y_pos]
+fixed_dof = [0, 1]
+label = 22
+db.label = Dirichlet BC +y edge
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[dislocation2.timedependent.interfaces]
+
+[dislocation2.timedependent.interfaces.fault_pos]
+id = 2
+label = 11
+quadrature = pylith.feassemble.quadrature.Quadrature1Din2D
+quadrature.cell.shape = line
+mat_db.iohandler.filename = matprops.spatialdb
+
+[dislocation2.timedependent.interfaces.fault_pos.eq_srcs.rupture.slip_function]
+slip.iohandler.filename = dislocation_slipLL.spatialdb
+slip_time.iohandler.filename = dislocation_sliptime.spatialdb
+
+
+[dislocation2.timedependent.interfaces.fault_neg]
+id = 3
+label = 12
+quadrature = pylith.feassemble.quadrature.Quadrature1Din2D
+quadrature.cell.shape = line
+mat_db.iohandler.filename = matprops.spatialdb
+
+[dislocation2.timedependent.interfaces.fault_neg.eq_srcs.rupture.slip_function]
+slip.iohandler.filename = dislocation_slipRL.spatialdb
+slip_time.iohandler.filename = dislocation_sliptime.spatialdb
+
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[dislocation2.petsc]
+ksp_rtol = 1.0e-8
+pc_type = asm
+ksp_max_it = 100
+ksp_gmres_restart = 50
+#ksp_monitor = true
+#ksp_view = true
+#log_summary = true
+# start_in_debugger = true
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[dislocation2.problem.formulation.output.output.writer]
+filename = dislocation2.vtk
+
+# Give basename for VTK output of state variables.
+[dislocation2.timedependent.materials.elastic.output]
+cell_filter = pylith.meshio.CellFilterAvg
+writer.filename = dislocation2-statevars-elastic.vtk
+
+[dislocation2.timedependent.interfaces.fault_pos.output.writer]
+filename = dislocation2-fault-pos.vtk
+
+[dislocation2.timedependent.interfaces.fault_neg.output.writer]
+filename = dislocation2-fault-neg.vtk

Deleted: short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slip.spatialdb
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slip.spatialdb	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slip.spatialdb	2008-11-20 18:42:11 UTC (rev 13360)
@@ -1,14 +0,0 @@
-#SPATIAL.ascii 1
-SimpleDB {
-  num-values = 2
-  value-names =  left-lateral-slip fault-opening
-  value-units =  m  m
-  num-locs = 1
-  data-dim = 0
-  space-dim = 2
-  cs-data = cartesian {
-    to-meters = 1.0
-    space-dim = 2
-  }
-}
-0.0  0.0   1.0  0.0

Copied: short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slipLL.spatialdb (from rev 13345, short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slip.spatialdb)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slipLL.spatialdb	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slipLL.spatialdb	2008-11-20 18:42:11 UTC (rev 13360)
@@ -0,0 +1,14 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 2
+  value-names =  left-lateral-slip fault-opening
+  value-units =  m  m
+  num-locs = 1
+  data-dim = 0
+  space-dim = 2
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 2
+  }
+}
+0.0  0.0   1.0  0.0

Added: short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slipRL.spatialdb
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slipRL.spatialdb	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/tri3/dislocation_slipRL.spatialdb	2008-11-20 18:42:11 UTC (rev 13360)
@@ -0,0 +1,14 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 2
+  value-names =  left-lateral-slip fault-opening
+  value-units =  m  m
+  num-locs = 1
+  data-dim = 0
+  space-dim = 2
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 2
+  }
+}
+0.0  0.0   -1.0  0.0

Modified: short/3D/PyLith/trunk/tests/2d/tri3/geometry.jou
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/geometry.jou	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/tri3/geometry.jou	2008-11-20 18:42:11 UTC (rev 13360)
@@ -2,24 +2,36 @@
 # Create surface using vertices
 # ----------------------------------------------------------------------
 
-# Block is 500m x 500m
-# -250 m <= x <= 250 km 
-# -250 km <= y <= 250 km
+# Block is 800m x 800m
+# -400 m <= x <= 400 km 
+# -400 km <= y <= 400 km
 reset
-create vertex -250.0 -250.0 0.0
-create vertex -250.0 +250.0 0.0
-create vertex +250.0 +250.0 0.0
-create vertex +250.0 -250.0 0.0
+create vertex -400.0 -400.0 0.0
+create vertex -400.0 +400.0 0.0
+create vertex +400.0 +400.0 0.0
+create vertex +400.0 -400.0 0.0
 create surface vertex 1 2 3 4
 delete vertex all
 
 # ----------------------------------------------------------------------
 # Create interface surfaces
 # ----------------------------------------------------------------------
-create vertex 0.0 -250.0 0.0
-create vertex 0.0 +250.0 0.0
+
+# Fault at x=0
+create vertex 0.0 -400.0 0.0
+create vertex 0.0 +400.0 0.0
 split surface 1 across location vertex 9 location vertex 10
-curve 5 name "fault_edge"
+
+# Fault at y=-100
+create vertex -400.0 -100.0 0.0
+create vertex +400.0 -100.0 0.0
+split surface 2 across location vertex 13 location vertex 14
+split surface 3 across location vertex 13 location vertex 14
+
+# Fault at y=+100
+create vertex -400.0 +100.0 0.0
+create vertex +400.0 +100.0 0.0
+split surface 4 across location vertex 18 location vertex 19
+split surface 6 across location vertex 18 location vertex 19
+
 delete vertex all
-surface 2 name "block_neg"
-surface 3 name "block_pos"

Modified: short/3D/PyLith/trunk/tests/2d/tri3/mesh_tri3_100m.jou
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/mesh_tri3_100m.jou	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/tri3/mesh_tri3_100m.jou	2008-11-20 18:42:11 UTC (rev 13360)
@@ -23,45 +23,61 @@
 # ----------------------------------------------------------------------
 # Create blocks for materials
 # ----------------------------------------------------------------------
-block 1 surface 2 3
+block 1 surface 5 7 9 11 8 10 
 block 1 name "elastic"
 
 # ----------------------------------------------------------------------
-# Create nodeset for fault
+# Create nodeset for faults
 # ----------------------------------------------------------------------
-group "fault" add node in fault_edge
-nodeset 10 group fault
-nodeset 10 name "fault"
+group "fault_x" add node in curve 13
+group "fault_x" add node in curve 21
+group "fault_x" add node in curve 20
+nodeset 10 group fault_x
+nodeset 10 name "fault_x"
 
+group "fault_ypos" add node in curve 18
+group "fault_ypos" add node in curve 23
+nodeset 11 group fault_ypos
+nodeset 11 name "fault_ypos"
+
+group "fault_yneg" add node in curve 10
+group "fault_yneg" add node in curve 15
+nodeset 12 group fault_yneg
+nodeset 12 name "fault_yneg"
+
 # ----------------------------------------------------------------------
 # Create nodeset for +x edge
 # ----------------------------------------------------------------------
-group "edge_xpos" add node in curve 3 
-nodeset 11 group edge_xpos
-nodeset 11 name "edge xpos"
+group "edge_xpos" add node in curve 17
+group "edge_xpos" add node in curve 25
+group "edge_xpos" add node in curve 24
+nodeset 20 group edge_xpos
+nodeset 20 name "edge xpos"
 
 # ----------------------------------------------------------------------
 # Create nodeset for -x edge
 # ----------------------------------------------------------------------
-group "edge_xneg" add node in curve 1
-nodeset 12 group edge_xneg
-nodeset 12 name "edge xneg"
+group "edge_xneg" add node in curve 14
+group "edge_xneg" add node in curve 22
+group "edge_xneg" add node in curve 19
+nodeset 21 group edge_xneg
+nodeset 21 name "edge xneg"
 
 # ----------------------------------------------------------------------
 # Create nodeset for +y edge
 # ----------------------------------------------------------------------
 group "edge_ypos" add node in curve 7
 group "edge_ypos" add node in curve 8
-nodeset 13 group edge_ypos
-nodeset 13 name "edge ypos"
+nodeset 22 group edge_ypos
+nodeset 22 name "edge ypos"
 
 # ----------------------------------------------------------------------
 # Create nodeset for -y edge
 # ----------------------------------------------------------------------
 group "edge_yneg" add node in curve 6
 group "edge_yneg" add node in curve 9
-nodeset 14 group edge_yneg
-nodeset 14 name "edge yneg"
+nodeset 23 group edge_yneg
+nodeset 23 name "edge yneg"
 
 # ----------------------------------------------------------------------
 # Export exodus file

Modified: short/3D/PyLith/trunk/tests/2d/tri3/shearplanestrain.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/shearplanestrain.cfg	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/tri3/shearplanestrain.cfg	2008-11-20 18:42:11 UTC (rev 13360)
@@ -54,7 +54,7 @@
 # ----------------------------------------------------------------------
 [shearplanestrain.timedependent.bc.y_neg]
 fixed_dof = [0, 1]
-label = 14
+label = 23
 db = spatialdata.spatialdb.UniformDB
 db.label = Dirichlet BC -y edge
 db.values = [dof-0,dof-1]
@@ -62,7 +62,7 @@
 
 [shearplanestrain.timedependent.bc.y_pos]
 fixed_dof = [0, 1]
-label = 13
+label = 22
 db = spatialdata.spatialdb.UniformDB
 db.label = Dirichlet BC +y edge
 db.values = [dof-0,dof-1]

Modified: short/3D/PyLith/trunk/tests/2d/tri3/testpylith.py
===================================================================
--- short/3D/PyLith/trunk/tests/2d/tri3/testpylith.py	2008-11-20 17:56:34 UTC (rev 13359)
+++ short/3D/PyLith/trunk/tests/2d/tri3/testpylith.py	2008-11-20 18:42:11 UTC (rev 13360)
@@ -29,6 +29,9 @@
   from TestDislocation import TestDislocation
   suite.addTest(unittest.makeSuite(TestDislocation))
 
+  from TestDislocation2 import TestDislocation2
+  suite.addTest(unittest.makeSuite(TestDislocation2))
+
   return suite
 
 



More information about the CIG-COMMITS mailing list