[cig-commits] r14888 - in short/3D/PyLith/trunk: . examples/3d/hex8 tests/1d/line2

brad at geodynamics.org brad at geodynamics.org
Wed May 6 10:52:50 PDT 2009


Author: brad
Date: 2009-05-06 10:52:49 -0700 (Wed, 06 May 2009)
New Revision: 14888

Added:
   short/3D/PyLith/trunk/tests/1d/line2/TestLine2.py
Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/examples/3d/hex8/pylithapp.cfg
   short/3D/PyLith/trunk/tests/1d/line2/Makefile.am
   short/3D/PyLith/trunk/tests/1d/line2/TestAxial.py
   short/3D/PyLith/trunk/tests/1d/line2/TestDislocation.py
   short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg
   short/3D/PyLith/trunk/tests/1d/line2/dislocation.cfg
   short/3D/PyLith/trunk/tests/1d/line2/finalslip.spatialdb
   short/3D/PyLith/trunk/tests/1d/line2/testpylith.py
Log:
Finished test for 1-D dislocation problem.

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2009-05-06 16:58:12 UTC (rev 14887)
+++ short/3D/PyLith/trunk/TODO	2009-05-06 17:52:49 UTC (rev 14888)
@@ -10,7 +10,7 @@
 
     1-D
       1. axial disp [DONE]
-      2. dislocation
+      2. dislocation [DONE]
 
     2-D
       1. axial/shear (DirichletBC)
@@ -41,6 +41,12 @@
 
   (6) Tidy up
 
+    How do we determine the orientation for a fault in a 1-D mesh? We
+    assume normaldir is +1.0, but cohesive cells could be created so
+    that the fault has a normaldir of -1.0. If the normaldir is -1.0,
+    then we need to flip the orientation field to get the correct
+    sense of slip.
+
     Add simple stableTimeStep() for elastic materials.
 
     Cleanup logging. Constraints and Integrators should log at the C++

Modified: short/3D/PyLith/trunk/examples/3d/hex8/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/pylithapp.cfg	2009-05-06 16:58:12 UTC (rev 14887)
+++ short/3D/PyLith/trunk/examples/3d/hex8/pylithapp.cfg	2009-05-06 17:52:49 UTC (rev 14888)
@@ -84,4 +84,4 @@
 log_summary = true
 ksp_max_it = 100
 ksp_gmres_restart = 50
-start_in_debugger = true
+#start_in_debugger = true

Modified: short/3D/PyLith/trunk/tests/1d/line2/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/Makefile.am	2009-05-06 16:58:12 UTC (rev 14887)
+++ short/3D/PyLith/trunk/tests/1d/line2/Makefile.am	2009-05-06 17:52:49 UTC (rev 14888)
@@ -15,13 +15,18 @@
 check_SCRIPTS = testpylith.py
 
 noinst_PYTHON = \
-	TestAxial.py
+	TestLine2.py \
+	TestAxial.py \
+	TestDislocation.py
 
 noinst_DATA = \
 	bar.mesh \
+	matprops.spatialdb \
 	axialextension.cfg \
 	axialextension_disp.spatialdb \
-	matprops.spatialdb
+	dislocation.cfg \
+	finalslip.spatialdb \
+	sliptime.spatialdb
 
 noinst_TMP = \
 	axialextension_t0000000.vtk \

Modified: short/3D/PyLith/trunk/tests/1d/line2/TestAxial.py
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/TestAxial.py	2009-05-06 16:58:12 UTC (rev 14887)
+++ short/3D/PyLith/trunk/tests/1d/line2/TestAxial.py	2009-05-06 17:52:49 UTC (rev 14888)
@@ -14,8 +14,8 @@
 ##
 ## @brief Test suite for testing pylith with 1-D axial extension.
 
-import unittest
 import numpy
+from TestLine2 import TestLine2
 from pylith.utils.VTKDataReader import has_vtk
 from pylith.utils.VTKDataReader import VTKDataReader
 
@@ -40,7 +40,7 @@
   return
 
 
-class TestAxial(unittest.TestCase):
+class TestAxial(TestLine2):
   """
   Test suite for testing pylith with 1-D axial extension.
   """
@@ -49,7 +49,9 @@
     """
     Setup for test.
     """
+    TestLine2.setUp(self)
     run_pylith()
+    self.outputRoot = "axialextension"
     if has_vtk():
       self.reader = VTKDataReader()
     else:
@@ -57,63 +59,6 @@
     return
 
 
-  def test_elastic_info(self):
-    """
-    Check elastic info.
-    """
-    if self.reader is None:
-      return
-
-    data = self.reader.read("axialextension-statevars-elastic_info.vtk")
-
-    # Check cells
-    ncellsE = 4
-    ncornersE = 2
-    (ncells, ncorners) = data['cells'].shape
-    self.assertEqual(ncellsE, ncells)
-    self.assertEqual(ncornersE, ncorners)
-
-    # Check vertices
-    nverticesE = 5
-    spaceDimE = 3
-    (nvertices, spaceDim) = data['vertices'].shape
-    self.assertEqual(nverticesE, nvertices)
-    self.assertEqual(spaceDimE, spaceDim)
-
-    # Check physical properties
-    tolerance = 1.0e-5
-    vsE = 3000.0
-    vpE = 5291.502622129181
-    densityE = 2500.0
-
-    # Lame's constant mu (shear modulus)
-    muE = densityE*vsE**2
-    diff = numpy.abs(1.0 - data['cell_fields']['mu']/muE)
-    okay = diff < tolerance
-    if numpy.sum(okay) != ncells:
-      print "Expected Lame's constant mu: ",muE
-      print "Lame's constant mu: ",data['cell_fields']['mu']
-      self.assertEqual(ncells, numpy.sum(okay))    
-
-    # Lame's constant lambda
-    lambdaE = densityE*vpE**2 - 2*muE
-    diff = numpy.abs(1.0 - data['cell_fields']['lambda']/lambdaE)
-    okay = diff < tolerance
-    if numpy.sum(okay) != ncells:
-      print "Expected Lame's constant lambda: ",lambdaE
-      print "Lame's constant lambda: ",data['cell_fields']['lambda']
-      self.assertEqual(ncells, numpy.sum(okay))    
-
-    # Density
-    diff = numpy.abs(1.0 - data['cell_fields']['density']/densityE)
-    okay = diff < tolerance
-    if numpy.sum(okay) != ncells:
-      print "Expected density: ",densityE
-      print "Density: ",data['cell_fields']['density']
-      self.assertEqual(ncells, numpy.sum(okay))    
-    return
-
-
   def test_soln(self):
     """
     Check solution (displacement) field.
@@ -121,22 +66,18 @@
     if self.reader is None:
       return
 
-    data = self.reader.read("axialextension_t0000000.vtk")
+    data = self.reader.read("%s_t0000000.vtk" % self.outputRoot)
 
     # Check cells
-    ncellsE = 4
-    ncornersE = 2
     (ncells, ncorners) = data['cells'].shape
-    self.assertEqual(ncellsE, ncells)
-    self.assertEqual(ncornersE, ncorners)
+    self.assertEqual(self.ncells, ncells)
+    self.assertEqual(self.ncorners, ncorners)
 
     # Check vertices
-    nverticesE = 5
-    spaceDimE = 3
     vertices = data['vertices']
     (nvertices, spaceDim) = vertices.shape
-    self.assertEqual(nverticesE, nvertices)
-    self.assertEqual(spaceDimE, spaceDim)
+    self.assertEqual(self.nvertices, nvertices)
+    self.assertEqual(self.spaceDim, spaceDim)
 
     # Check displacement solution
     tolerance = 1.0e-5
@@ -172,11 +113,52 @@
     return
 
 
-  #def test_elastic_statevars(self):
-  #  """
-  #  Check elastic state variables.
-  #  """
-  #  return
+  def test_elastic_statevars(self):
+    """
+    Check elastic state variables.
+    """
+    if self.reader is None:
+      return
 
+    data = self.reader.read("%s-statevars-elastic_t0000000.vtk" % \
+                              self.outputRoot)
 
+    # Check cells
+    (ncells, ncorners) = data['cells'].shape
+    self.assertEqual(self.ncells, ncells)
+    self.assertEqual(self.ncorners, ncorners)
+
+    # Check vertices
+    vertices = data['vertices']
+    (nvertices, spaceDim) = vertices.shape
+    self.assertEqual(self.nvertices, nvertices)
+    self.assertEqual(self.spaceDim, spaceDim)
+
+    # Check strains
+    tolerance = 1.0e-5
+    exx = 0.1
+    strainE = exx*numpy.ones( (ncells, self.tensorSize), dtype=numpy.float64)
+    strain = data['cell_fields']['total_strain']
+    diff = numpy.abs(strain[:]-strainE[:,0])
+    okay = diff < tolerance
+    if numpy.sum(okay) != ncells:
+      print "Strain field expected: ",strainE
+      print "Strain field: ",strain
+    self.assertEqual(ncells, numpy.sum(okay))    
+
+    # Check stresses
+    lp2m = self.density*self.vp**2
+    stressE = lp2m*exx * numpy.ones( (ncells, self.tensorSize), 
+                                     dtype=numpy.float64)
+    stress = data['cell_fields']['stress']
+    diff = numpy.abs(stress[:]-stressE[:,0])
+    okay = diff < tolerance
+    if numpy.sum(okay) != ncells:
+      print "Stress field expected: ",stressE
+      print "Stress field: ",stress
+    self.assertEqual(ncells, numpy.sum(okay))    
+
+    return
+
+
 # End of file 

Modified: short/3D/PyLith/trunk/tests/1d/line2/TestDislocation.py
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/TestDislocation.py	2009-05-06 16:58:12 UTC (rev 14887)
+++ short/3D/PyLith/trunk/tests/1d/line2/TestDislocation.py	2009-05-06 17:52:49 UTC (rev 14888)
@@ -14,8 +14,8 @@
 ##
 ## @brief Test suite for testing pylith with 1-D axial extension.
 
-import unittest
 import numpy
+from TestLine2 import TestLine2
 from pylith.utils.VTKDataReader import has_vtk
 from pylith.utils.VTKDataReader import VTKDataReader
 
@@ -40,7 +40,7 @@
   return
 
 
-class TestDislocation(unittest.TestCase):
+class TestDislocation(TestLine2):
   """
   Test suite for testing pylith with 1-D axial extension.
   """
@@ -49,7 +49,12 @@
     """
     Setup for test.
     """
+    TestLine2.setUp(self)
+    self.nvertices = 6
+    self.nverticesO = 5
+
     run_pylith()
+    self.outputRoot = "dislocation"
     if has_vtk():
       self.reader = VTKDataReader()
     else:
@@ -57,63 +62,6 @@
     return
 
 
-  def test_elastic_info(self):
-    """
-    Check elastic info.
-    """
-    if self.reader is None:
-      return
-
-    data = self.reader.read("dislocation-statevars-elastic_info.vtk")
-
-    # Check cells
-    ncellsE = 4
-    ncornersE = 2
-    (ncells, ncorners) = data['cells'].shape
-    self.assertEqual(ncellsE, ncells)
-    self.assertEqual(ncornersE, ncorners)
-
-    # Check vertices
-    nverticesE = 5
-    spaceDimE = 3
-    (nvertices, spaceDim) = data['vertices'].shape
-    self.assertEqual(nverticesE, nvertices)
-    self.assertEqual(spaceDimE, spaceDim)
-
-    # Check physical properties
-    tolerance = 1.0e-5
-    vsE = 3000.0
-    vpE = 5291.502622129181
-    densityE = 2500.0
-
-    # Lame's constant mu (shear modulus)
-    muE = densityE*vsE**2
-    diff = numpy.abs(1.0 - data['cell_fields']['mu']/muE)
-    okay = diff < tolerance
-    if numpy.sum(okay) != ncells:
-      print "Expected Lame's constant mu: ",muE
-      print "Lame's constant mu: ",data['cell_fields']['mu']
-      self.assertEqual(ncells, numpy.sum(okay))    
-
-    # Lame's constant lambda
-    lambdaE = densityE*vpE**2 - 2*muE
-    diff = numpy.abs(1.0 - data['cell_fields']['lambda']/lambdaE)
-    okay = diff < tolerance
-    if numpy.sum(okay) != ncells:
-      print "Expected Lame's constant lambda: ",lambdaE
-      print "Lame's constant lambda: ",data['cell_fields']['lambda']
-      self.assertEqual(ncells, numpy.sum(okay))    
-
-    # Density
-    diff = numpy.abs(1.0 - data['cell_fields']['density']/densityE)
-    okay = diff < tolerance
-    if numpy.sum(okay) != ncells:
-      print "Expected density: ",densityE
-      print "Density: ",data['cell_fields']['density']
-      self.assertEqual(ncells, numpy.sum(okay))    
-    return
-
-
   def test_soln(self):
     """
     Check solution (displacement) field.
@@ -121,27 +69,28 @@
     if self.reader is None:
       return
 
-    data = self.reader.read("dislocation_t0000000.vtk")
+    data = self.reader.read("%s_t0000000.vtk" % self.outputRoot)
 
     # Check cells
-    ncellsE = 4
-    ncornersE = 2
     (ncells, ncorners) = data['cells'].shape
-    self.assertEqual(ncellsE, ncells)
-    self.assertEqual(ncornersE, ncorners)
+    self.assertEqual(self.ncells, ncells)
+    self.assertEqual(self.ncorners, ncorners)
 
     # Check vertices
-    nverticesE = 5
-    spaceDimE = 3
     vertices = data['vertices']
     (nvertices, spaceDim) = vertices.shape
-    self.assertEqual(nverticesE, nvertices)
-    self.assertEqual(spaceDimE, spaceDim)
+    self.assertEqual(self.nvertices, nvertices)
+    self.assertEqual(self.spaceDim, spaceDim)
 
     # Check displacement solution
     tolerance = 1.0e-5
     dispE = numpy.zeros( (nvertices, spaceDim), dtype=numpy.float64)
-    dispE[:,0] = -0.2 + 0.1 * vertices[:,0]
+    maskP = vertices[:,0] >= 2.0
+    maskP[self.nverticesO:self.nvertices] = False
+    maskN = numpy.bitwise_and(vertices[:,0] <= 2.0, ~maskP)
+    dispE[:,0] = \
+        maskN*(-0.20 - 0.025*vertices[:,0]) + \
+        maskP*(+0.30 - 0.025*vertices[:,0])
 
     disp = data['vertex_fields']['displacement']
 
@@ -151,7 +100,7 @@
     if numpy.sum(okay) != nvertices:
       print "Displacement field expected: ",dispE
       print "Displacement field: ",disp
-      self.assertEqual(nvertices, numpy.sum(okay))    
+    self.assertEqual(nvertices, numpy.sum(okay))    
     
     # Check y displacements
     diff = numpy.abs(disp[:,1] - dispE[:,1])
@@ -159,7 +108,7 @@
     if numpy.sum(okay) != nvertices:
       print "Displacement field expected: ",dispE
       print "Displacement field: ",disp
-      self.assertEqual(nvertices, numpy.sum(okay))    
+    self.assertEqual(nvertices, numpy.sum(okay))    
 
     # Check z displacements
     diff = numpy.abs(disp[:,2] - dispE[:,2])
@@ -167,16 +116,57 @@
     if numpy.sum(okay) != nvertices:
       print "Displacement field expected: ",dispE
       print "Displacement field: ",disp
-      self.assertEqual(nvertices, numpy.sum(okay))    
+    self.assertEqual(nvertices, numpy.sum(okay))    
     
     return
 
 
-  #def test_elastic_statevars(self):
-  #  """
-  #  Check elastic state variables.
-  #  """
-  #  return
+  def test_elastic_statevars(self):
+    """
+    Check elastic state variables.
+    """
+    if self.reader is None:
+      return
 
+    data = self.reader.read("%s-statevars-elastic_t0000000.vtk" % \
+                              self.outputRoot)
 
+    # Check cells
+    (ncells, ncorners) = data['cells'].shape
+    self.assertEqual(self.ncells, ncells)
+    self.assertEqual(self.ncorners, ncorners)
+
+    # Check vertices
+    vertices = data['vertices']
+    (nvertices, spaceDim) = vertices.shape
+    self.assertEqual(self.nvertices, nvertices)
+    self.assertEqual(self.spaceDim, spaceDim)
+
+    # Check strains
+    tolerance = 1.0e-5
+    exx = -0.025
+    strainE = exx*numpy.ones( (ncells, self.tensorSize), dtype=numpy.float64)
+    strain = data['cell_fields']['total_strain']
+    diff = numpy.abs(strain[:]-strainE[:,0])
+    okay = diff < tolerance
+    if numpy.sum(okay) != ncells:
+      print "Strain field expected: ",strainE
+      print "Strain field: ",strain
+    self.assertEqual(ncells, numpy.sum(okay))    
+
+    # Check stresses
+    lp2m = self.density*self.vp**2
+    stressE = lp2m*exx * numpy.ones( (ncells, self.tensorSize), 
+                                     dtype=numpy.float64)
+    stress = data['cell_fields']['stress']
+    diff = numpy.abs(stress[:]-stressE[:,0])
+    okay = diff < tolerance
+    if numpy.sum(okay) != ncells:
+      print "Stress field expected: ",stressE
+      print "Stress field: ",stress
+    self.assertEqual(ncells, numpy.sum(okay))    
+
+    return
+
+
 # End of file 

Added: short/3D/PyLith/trunk/tests/1d/line2/TestLine2.py
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/TestLine2.py	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/1d/line2/TestLine2.py	2009-05-06 17:52:49 UTC (rev 14888)
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file tests/1d/line2/TestLine2.py
+##
+## @brief Generic tests for problems using 1-D bar mesh.
+
+import unittest
+import numpy
+
+class TestLine2(unittest.TestCase):
+  """
+  Generic tests for problems using 1-D bar mesh.
+  """
+
+  def setUp(self):
+    """
+    Setup for tests.
+    """
+    self.ncells = 4
+    self.ncorners = 2
+    self.nvertices = 5
+    self.spaceDim = 3
+    self.tensorSize = 1
+    self.vs = 3000.0
+    self.vp = 5291.502622129181
+    self.density = 2500.0
+    return
+
+  def test_elastic_info(self):
+    """
+    Check elastic info.
+    """
+    if self.reader is None:
+      return
+
+    data = self.reader.read("%s-statevars-elastic_info.vtk" % self.outputRoot)
+
+    # Check cells
+    (ncells, ncorners) = data['cells'].shape
+    self.assertEqual(self.ncells, ncells)
+    self.assertEqual(self.ncorners, ncorners)
+
+    # Check vertices
+    (nvertices, spaceDim) = data['vertices'].shape
+    self.assertEqual(self.nvertices, nvertices)
+    self.assertEqual(self.spaceDim, spaceDim)
+
+    # Check physical properties
+    tolerance = 1.0e-5
+
+    # Lame's constant mu (shear modulus)
+    muE = self.density*self.vs**2
+    diff = numpy.abs(1.0 - data['cell_fields']['mu']/muE)
+    okay = diff < tolerance
+    if numpy.sum(okay) != ncells:
+      print "Expected Lame's constant mu: ",muE
+      print "Lame's constant mu: ",data['cell_fields']['mu']
+      self.assertEqual(ncells, numpy.sum(okay))    
+
+    # Lame's constant lambda
+    lambdaE = self.density*self.vp**2 - 2*muE
+    diff = numpy.abs(1.0 - data['cell_fields']['lambda']/lambdaE)
+    okay = diff < tolerance
+    if numpy.sum(okay) != ncells:
+      print "Expected Lame's constant lambda: ",lambdaE
+      print "Lame's constant lambda: ",data['cell_fields']['lambda']
+      self.assertEqual(ncells, numpy.sum(okay))    
+
+    # Density
+    diff = numpy.abs(1.0 - data['cell_fields']['density']/self.density)
+    okay = diff < tolerance
+    if numpy.sum(okay) != ncells:
+      print "Expected density: ",self.density
+      print "Density: ",data['cell_fields']['density']
+      self.assertEqual(ncells, numpy.sum(okay))    
+
+    return
+
+
+# End of file

Modified: short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg	2009-05-06 16:58:12 UTC (rev 14887)
+++ short/3D/PyLith/trunk/tests/1d/line2/axialextension.cfg	2009-05-06 17:52:49 UTC (rev 14888)
@@ -8,14 +8,14 @@
 # journal
 # ----------------------------------------------------------------------
 [axialextension.journal.info]
-timedependent = 1
-implicit = 1
-petsc = 1
-solverlinear = 1
-meshiocubit = 1
-implicitelasticity = 1
-quadrature = 1
-fiatsimplex = 1
+#timedependent = 1
+#implicit = 1
+#petsc = 1
+#solverlinear = 1
+#meshiocubit = 1
+#implicitelasticity = 1
+#quadrature = 1
+#fiatsimplex = 1
 
 # ----------------------------------------------------------------------
 # mesh_generator
@@ -74,8 +74,8 @@
 #ksp_view = true
 #log_summary = true
 #start_in_debugger = true
-snes_monitor = true
-snes_view = true
+#snes_monitor = true
+#snes_view = true
 
 # ----------------------------------------------------------------------
 # output

Modified: short/3D/PyLith/trunk/tests/1d/line2/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/dislocation.cfg	2009-05-06 16:58:12 UTC (rev 14887)
+++ short/3D/PyLith/trunk/tests/1d/line2/dislocation.cfg	2009-05-06 17:52:49 UTC (rev 14888)
@@ -1,53 +1,53 @@
 # -*- Python -*-
-[pylithapp]
+[dislocation]
 
-[pylithapp.launcher]
+[dislocation.launcher]
 command = mpiexec -n ${nodes}
 
 # ----------------------------------------------------------------------
 # journal
 # ----------------------------------------------------------------------
-[pylithapp.journal.info]
-timedependent = 1
-implicit = 1
-petsc = 1
-solverlinear = 1
-meshiocubit = 1
-implicitelasticity = 1
-quadrature = 1
-fiatsimplex = 1
+[dislocation.journal.info]
+#timedependent = 1
+#implicit = 1
+#petsc = 1
+#solverlinear = 1
+#meshiocubit = 1
+#implicitelasticity = 1
+#quadrature = 1
+#fiatsimplex = 1
 
 # ----------------------------------------------------------------------
 # mesh_generator
 # ----------------------------------------------------------------------
-[pylithapp.mesh_generator]
+[dislocation.mesh_generator]
 #debug = 1
 
-[pylithapp.mesh_generator.reader]
+[dislocation.mesh_generator.reader]
 filename = bar.mesh
 coordsys.space_dim = 1
 
 # ----------------------------------------------------------------------
 # problem
 # ----------------------------------------------------------------------
-[pylithapp.timedependent]
+[dislocation.timedependent]
 dimension = 1
 bc = [bc]
 interfaces = [fault]
 
 #formulation.solver = pylith.problems.SolverNonlinear
 
-[pylithapp.timedependent.formulation.time_step]
+[dislocation.timedependent.formulation.time_step]
 total_time = 0.0*s
 
 # ----------------------------------------------------------------------
 # materials
 # ----------------------------------------------------------------------
-[pylithapp.timedependent]
+[dislocation.timedependent]
 materials = [elastic]
 materials.elastic = pylith.materials.ElasticStrain1D
 
-[pylithapp.timedependent.materials.elastic]
+[dislocation.timedependent.materials.elastic]
 label = Elastic material
 id = 1
 properties_db.iohandler.filename = matprops.spatialdb
@@ -56,7 +56,7 @@
 # ----------------------------------------------------------------------
 # boundary conditions
 # ----------------------------------------------------------------------
-[pylithapp.timedependent.bc.bc]
+[dislocation.timedependent.bc.bc]
 fixed_dof = [0]
 label = end points
 db = spatialdata.spatialdb.SimpleDB
@@ -66,18 +66,18 @@
 # ----------------------------------------------------------------------
 # faults
 # ----------------------------------------------------------------------
-[pylithapp.timedependent.interfaces]
+[dislocation.timedependent.interfaces]
 # Set the type of fault interface condition.
 fault = pylith.faults.FaultCohesiveKin
 
 # Set the parameters for the fault interface condition.
 
-[pylithapp.timedependent.interfaces.fault]
+[dislocation.timedependent.interfaces.fault]
 label = fault
 quadrature.cell.shape = point
 mat_db.iohandler.filename = matprops.spatialdb
 
-[pylithapp.timedependent.interfaces.fault.eq_srcs.rupture.slip_function]
+[dislocation.timedependent.interfaces.fault.eq_srcs.rupture.slip_function]
 slip.iohandler.filename = finalslip.spatialdb
 slip_time.iohandler.filename = sliptime.spatialdb
 
@@ -85,7 +85,7 @@
 # ----------------------------------------------------------------------
 # PETSc
 # ----------------------------------------------------------------------
-[pylithapp.petsc]
+[dislocation.petsc]
 ksp_rtol = 1.0e-8
 pc_type = asm
 ksp_max_it = 100
@@ -94,15 +94,18 @@
 #ksp_view = true
 #log_summary = true
 #start_in_debugger = true
-snes_monitor = true
-snes_view = true
+#snes_monitor = true
+#snes_view = true
 
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.output.writer]
+[dislocation.problem.formulation.output.output.writer]
 filename = dislocation.vtk
 
-[pylithapp.timedependent.materials.elastic.output]
+[dislocation.timedependent.materials.elastic.output]
 cell_filter = pylith.meshio.CellFilterAvgMesh
 writer.filename = dislocation-statevars-elastic.vtk
+
+[dislocation.timedependent.interfaces.fault.output.writer]
+filename = dislocation-fault.vtk

Modified: short/3D/PyLith/trunk/tests/1d/line2/finalslip.spatialdb
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/finalslip.spatialdb	2009-05-06 16:58:12 UTC (rev 14887)
+++ short/3D/PyLith/trunk/tests/1d/line2/finalslip.spatialdb	2009-05-06 17:52:49 UTC (rev 14888)
@@ -12,4 +12,4 @@
     space-dim = 1
   }
 }
-0.0    +0.50
+0.0    -0.50

Modified: short/3D/PyLith/trunk/tests/1d/line2/testpylith.py
===================================================================
--- short/3D/PyLith/trunk/tests/1d/line2/testpylith.py	2009-05-06 16:58:12 UTC (rev 14887)
+++ short/3D/PyLith/trunk/tests/1d/line2/testpylith.py	2009-05-06 17:52:49 UTC (rev 14888)
@@ -23,6 +23,9 @@
   from TestAxial import TestAxial
   suite.addTest(unittest.makeSuite(TestAxial))
 
+  from TestDislocation import TestDislocation
+  suite.addTest(unittest.makeSuite(TestDislocation))
+
   return suite
 
 



More information about the CIG-COMMITS mailing list