[cig-commits] r17127 - in short/3D/PyLith/branches/v1.5-stable/tests_auto/2d: . quad9
brad at geodynamics.org
brad at geodynamics.org
Thu Aug 26 18:00:42 PDT 2010
Author: brad
Date: 2010-08-26 18:00:41 -0700 (Thu, 26 Aug 2010)
New Revision: 17127
Added:
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/Makefile.am
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/README
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/TestAxialDisp.py
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axial_disp.spatialdb
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp.cfg
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp_gendb.py
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp_soln.py
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/dislocation.cfg
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/dislocation_soln.py
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/geometry.jou
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/matprops.spatialdb
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/mesh.exo
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/mesh.jou
short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/testpylith.py
Log:
Started adding automated tests for quad9 cells.
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/Makefile.am
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/Makefile.am (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/Makefile.am 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,141 @@
+# -*- Makefile -*-
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+TESTS = testpylith.py
+
+check_SCRIPTS = testpylith.py
+
+dist_noinst_PYTHON = \
+ TestQuad4.py \
+ TestAxialDisp.py \
+ axialdisp_soln.py \
+ axialdisp_gendb.py \
+ TestShearDisp.py \
+ sheardisp_soln.py \
+ sheardisp_gendb.py \
+ TestDislocation.py \
+ TestDislocation2.py \
+ dislocation_soln.py \
+ dislocation2_soln.py \
+ TestLgDeformRigidBody.py \
+ rigidbody_soln.py \
+ rigidbody_gendb.py \
+ TestLgDeformTraction.py \
+ lgdeformtraction_soln.py \
+ TestFrictionCompression.py \
+ TestFrictionOpening.py \
+ TestFrictionShearSliding.py \
+ TestFrictionShearStick.py \
+ TestSlipWeakeningCompression.py \
+ TestSlipWeakeningOpening.py \
+ TestSlipWeakeningShearSliding.py \
+ TestSlipWeakeningShearStick.py \
+ friction_compression_soln.py \
+ friction_shear_stick_soln.py \
+ friction_shear_sliding_soln.py \
+ friction_opening_soln.py \
+ slipweakening_compression_soln.py \
+ slipweakening_shear_stick_soln.py \
+ slipweakening_shear_sliding_soln.py \
+ slipweakening_opening_soln.py \
+ testpylith.py
+
+dist_noinst_DATA = \
+ geometry.jou \
+ mesh.jou \
+ mesh.exo \
+ matprops.spatialdb \
+ axialdisp.cfg \
+ sheardisp.cfg \
+ dislocation.cfg \
+ dislocation2.cfg \
+ lgdeformrigidbody.cfg \
+ lgdeformtraction.cfg \
+ friction_compression.cfg \
+ friction_shear_stick.cfg \
+ friction_shear_sliding.cfg \
+ friction_opening.cfg \
+ slipweakening_compression.cfg \
+ slipweakening_shear_stick.cfg \
+ slipweakening_shear_sliding.cfg \
+ slipweakening_opening.cfg
+
+noinst_TMP = \
+ axial_disp.spatialdb \
+ axialdisp_t0000000.vtk \
+ axialdisp-elastic_info.vtk \
+ axialdisp-elastic_t0000000.vtk \
+ shear_disp.spatialdb \
+ sheardisp_t0000000.vtk \
+ sheardisp-elastic_info.vtk \
+ sheardisp-elastic_t0000000.vtk \
+ dislocation_t0000000.vtk \
+ dislocation-elastic_info.vtk \
+ dislocation-elastic_t0000000.vtk \
+ dislocation-fault_info.vtk \
+ dislocation-fault_t0000000.vtk \
+ rigidbody_disp.spatialdb \
+ lgdeformrigidbody_t0000000.vtk \
+ lgdeformrigidbody-elastic_info.vtk \
+ lgdeformrigidbody-elastic_t0000000.vtk \
+ lgdeformtraction_t0000000.vtk \
+ lgdeformtraction-elastic_info.vtk \
+ lgdeformtraction-elastic_t0000000.vtk \
+ friction_compression_t0000000.vtk \
+ friction_compression-elastic_info.vtk \
+ friction_compression-elastic_t0000000.vtk \
+ friction_shear_stick_t0000000.vtk \
+ friction_shear_stick-elastic_info.vtk \
+ friction_shear_stick-elastic_t0000000.vtk \
+ friction_shear_sliding_t0000000.vtk \
+ friction_shear_sliding-elastic_info.vtk \
+ friction_shear_sliding-elastic_t0000000.vtk \
+ friction_opening_t0000000.vtk \
+ friction_opening-elastic_info.vtk \
+ friction_opening-elastic_t0000000.vtk \
+ slipweakening_compression_t0000000.vtk \
+ slipweakening_compression-elastic_info.vtk \
+ slipweakening_compression-elastic_t0000000.vtk \
+ slipweakening_shear_stick_t0000000.vtk \
+ slipweakening_shear_stick-elastic_info.vtk \
+ slipweakening_shear_stick-elastic_t0000000.vtk \
+ slipweakening_shear_sliding_t0000000.vtk \
+ slipweakening_shear_sliding-elastic_info.vtk \
+ slipweakening_shear_sliding-elastic_t0000000.vtk \
+ slipweakening_opening_t0000000.vtk \
+ slipweakening_opening-elastic_info.vtk \
+ slipweakening_opening-elastic_t0000000.vtk
+
+
+TESTS_ENVIRONMENT = $(PYTHON)
+
+
+# 'export' the input files by performing a mock install
+export_datadir = $(top_builddir)/tests_auto/2d/quad4
+export-data: $(dist_noinst_PYTHON) $(dist_noinst_DATA)
+ for f in $(dist_noinst_PYTHON) $(dist_noinst_DATA); do $(install_sh_DATA) $(srcdir)/$$f $(export_datadir); done
+
+clean-data:
+ if [ "X$(top_srcdir)" != "X$(top_builddir)" ]; then for f in $(dist_noinst_PYTHON) $(dist_noinst_DATA) $(noinst_TMP); do $(RM) $(RM_FLAGS) $(export_datadir)/$$f; done; fi
+
+
+BUILT_SOURCES = export-data
+clean-local: clean-data
+CLEANFILES = *.pyc
+
+# End of file
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/README
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/README (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/README 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,109 @@
+======================================================================
+DOMAIN
+======================================================================
+
+-4000 <= x <= +4000
+-4000 <= y <= +4000
+
+Mesh is quad4 cells with nominal 1000m discretization size.
+
+
+AXIAL COMPRESSION (axialdisp.cfg)
+ See axialdisp_soln.py
+
+SHEAR (sheardisp.cfg)
+ See sheardisp_soln.py
+
+DISLOCATION (dislocation.cfg)
+ See dislocation_soln.py
+
+DISLOCATION2 (dislocation2.cfg)
+ See dislocation2_soln.py
+
+SMALL STRAIN RIGID BODY ROTATION (lgdeform_rigidbody.cfg)
+
+SMALL STRAIN COMPRESSION (lfdeform_traction.cfg)
+
+======================================================================
+SHEAR
+======================================================================
+
+2-D shear test with linear quadrilateral cells.
+
+
+ ----------
+ | |
+Uy=-1.0 m | | Uy=+1.0m
+ | |
+ | |
+ ----------
+
+
+Dirichlet boundary conditions
+ Ux( 0,y) = 0.0
+ Uy( 0,y) = -1.0 m
+ Ux(+400,y) = 0.0
+ Uy(+400,y) = +1.0 m
+
+Analytical solution
+ Ux(x,y) = 0
+ Uy(x,y) = -0.0025 * x
+
+
+======================================================================
+DISLOCATION
+======================================================================
+
+2-D dislocation test with linear quadrilateral cells.
+
+
+ ----------
+ | | |
+Uy=-0.5 m | | | Uy=+0.5m
+ | | |
+ | | |
+ ----------
+
+
+Dirichlet boundary conditions
+ Ux( 0,y) = 0.0
+ Uy( 0,y) = -0.5 m
+ Ux(+400,y) = 0.0
+ Uy(+400,y) = +0.5 m
+
+Analytical solution
+ 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
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/TestAxialDisp.py
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/TestAxialDisp.py (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/TestAxialDisp.py 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+## @file tests/2d/quad4/TestAxialDisp.py
+##
+## @brief Test suite for testing pylith with 2-D axial extension.
+
+import numpy
+from TestQuad4 import TestQuad4
+from axialdisp_soln import AnalyticalSoln
+from pylith.utils.VTKDataReader import has_vtk
+from pylith.utils.VTKDataReader import VTKDataReader
+
+# Local version of PyLithApp
+from pylith.apps.PyLithApp import PyLithApp
+class AxialApp(PyLithApp):
+ def __init__(self):
+ PyLithApp.__init__(self, name="axialdisp")
+ return
+
+
+# Helper function to run PyLith
+def run_pylith():
+ """
+ Run pylith.
+ """
+ if not "done" in dir(run_pylith):
+ # Generate spatial databases
+ from axialdisp_gendb import GenerateDB
+ db = GenerateDB()
+ db.run()
+
+ # Run PyLith
+ app = AxialApp()
+ app.run()
+ run_pylith.done = True
+ return
+
+
+class TestAxialDisp(TestQuad4):
+ """
+ Test suite for testing pylith with 2-D axial extension.
+ """
+
+ def setUp(self):
+ """
+ Setup for test.
+ """
+ TestQuad4.setUp(self)
+ run_pylith()
+ self.outputRoot = "axialdisp"
+ if has_vtk():
+ self.reader = VTKDataReader()
+ self.soln = AnalyticalSoln()
+ else:
+ self.reader = None
+ return
+
+
+ def calcDisplacements(self, vertices):
+ """
+ Calculate displacement field given coordinates of vertices.
+ """
+ return self.soln.displacement(vertices)
+
+
+ def calcStateVar(self, name, vertices, cells):
+ """
+ Calculate state variable.
+ """
+ ncells = self.mesh['ncells']
+ pts = numpy.zeros( (ncells, 3), dtype=numpy.float64)
+ if name == "total_strain":
+ stateVar = self.soln.strain(pts)
+ elif name == "stress":
+ stateVar = self.soln.stress(pts)
+ else:
+ raise ValueError("Unknown state variable '%s'." % name)
+
+ return stateVar
+
+
+# End of file
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axial_disp.spatialdb
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axial_disp.spatialdb (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axial_disp.spatialdb 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,94 @@
+#SPATIAL.ascii 1
+SimpleDB {
+ num-values = 2
+ value-names = displacement-x displacement-y
+ value-units = m m
+ num-locs = 81
+ data-dim = 2
+ space-dim = 2
+ cs-data = cartesian {
+ to-meters = 1
+ space-dim = 2
+}
+}
+ -4.000000e+03 -4.000000e+03 -6.549708e-01 2.339181e-01
+ -3.000000e+03 -4.000000e+03 -4.912281e-01 2.339181e-01
+ -2.000000e+03 -4.000000e+03 -3.274854e-01 2.339181e-01
+ -1.000000e+03 -4.000000e+03 -1.637427e-01 2.339181e-01
+ 0.000000e+00 -4.000000e+03 0.000000e+00 2.339181e-01
+ 1.000000e+03 -4.000000e+03 1.637427e-01 2.339181e-01
+ 2.000000e+03 -4.000000e+03 3.274854e-01 2.339181e-01
+ 3.000000e+03 -4.000000e+03 4.912281e-01 2.339181e-01
+ 4.000000e+03 -4.000000e+03 6.549708e-01 2.339181e-01
+ -4.000000e+03 -3.000000e+03 -6.549708e-01 1.754386e-01
+ -3.000000e+03 -3.000000e+03 -4.912281e-01 1.754386e-01
+ -2.000000e+03 -3.000000e+03 -3.274854e-01 1.754386e-01
+ -1.000000e+03 -3.000000e+03 -1.637427e-01 1.754386e-01
+ 0.000000e+00 -3.000000e+03 0.000000e+00 1.754386e-01
+ 1.000000e+03 -3.000000e+03 1.637427e-01 1.754386e-01
+ 2.000000e+03 -3.000000e+03 3.274854e-01 1.754386e-01
+ 3.000000e+03 -3.000000e+03 4.912281e-01 1.754386e-01
+ 4.000000e+03 -3.000000e+03 6.549708e-01 1.754386e-01
+ -4.000000e+03 -2.000000e+03 -6.549708e-01 1.169591e-01
+ -3.000000e+03 -2.000000e+03 -4.912281e-01 1.169591e-01
+ -2.000000e+03 -2.000000e+03 -3.274854e-01 1.169591e-01
+ -1.000000e+03 -2.000000e+03 -1.637427e-01 1.169591e-01
+ 0.000000e+00 -2.000000e+03 0.000000e+00 1.169591e-01
+ 1.000000e+03 -2.000000e+03 1.637427e-01 1.169591e-01
+ 2.000000e+03 -2.000000e+03 3.274854e-01 1.169591e-01
+ 3.000000e+03 -2.000000e+03 4.912281e-01 1.169591e-01
+ 4.000000e+03 -2.000000e+03 6.549708e-01 1.169591e-01
+ -4.000000e+03 -1.000000e+03 -6.549708e-01 5.847953e-02
+ -3.000000e+03 -1.000000e+03 -4.912281e-01 5.847953e-02
+ -2.000000e+03 -1.000000e+03 -3.274854e-01 5.847953e-02
+ -1.000000e+03 -1.000000e+03 -1.637427e-01 5.847953e-02
+ 0.000000e+00 -1.000000e+03 0.000000e+00 5.847953e-02
+ 1.000000e+03 -1.000000e+03 1.637427e-01 5.847953e-02
+ 2.000000e+03 -1.000000e+03 3.274854e-01 5.847953e-02
+ 3.000000e+03 -1.000000e+03 4.912281e-01 5.847953e-02
+ 4.000000e+03 -1.000000e+03 6.549708e-01 5.847953e-02
+ -4.000000e+03 0.000000e+00 -6.549708e-01 -0.000000e+00
+ -3.000000e+03 0.000000e+00 -4.912281e-01 -0.000000e+00
+ -2.000000e+03 0.000000e+00 -3.274854e-01 -0.000000e+00
+ -1.000000e+03 0.000000e+00 -1.637427e-01 -0.000000e+00
+ 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
+ 1.000000e+03 0.000000e+00 1.637427e-01 0.000000e+00
+ 2.000000e+03 0.000000e+00 3.274854e-01 0.000000e+00
+ 3.000000e+03 0.000000e+00 4.912281e-01 0.000000e+00
+ 4.000000e+03 0.000000e+00 6.549708e-01 0.000000e+00
+ -4.000000e+03 1.000000e+03 -6.549708e-01 -5.847953e-02
+ -3.000000e+03 1.000000e+03 -4.912281e-01 -5.847953e-02
+ -2.000000e+03 1.000000e+03 -3.274854e-01 -5.847953e-02
+ -1.000000e+03 1.000000e+03 -1.637427e-01 -5.847953e-02
+ 0.000000e+00 1.000000e+03 0.000000e+00 -5.847953e-02
+ 1.000000e+03 1.000000e+03 1.637427e-01 -5.847953e-02
+ 2.000000e+03 1.000000e+03 3.274854e-01 -5.847953e-02
+ 3.000000e+03 1.000000e+03 4.912281e-01 -5.847953e-02
+ 4.000000e+03 1.000000e+03 6.549708e-01 -5.847953e-02
+ -4.000000e+03 2.000000e+03 -6.549708e-01 -1.169591e-01
+ -3.000000e+03 2.000000e+03 -4.912281e-01 -1.169591e-01
+ -2.000000e+03 2.000000e+03 -3.274854e-01 -1.169591e-01
+ -1.000000e+03 2.000000e+03 -1.637427e-01 -1.169591e-01
+ 0.000000e+00 2.000000e+03 0.000000e+00 -1.169591e-01
+ 1.000000e+03 2.000000e+03 1.637427e-01 -1.169591e-01
+ 2.000000e+03 2.000000e+03 3.274854e-01 -1.169591e-01
+ 3.000000e+03 2.000000e+03 4.912281e-01 -1.169591e-01
+ 4.000000e+03 2.000000e+03 6.549708e-01 -1.169591e-01
+ -4.000000e+03 3.000000e+03 -6.549708e-01 -1.754386e-01
+ -3.000000e+03 3.000000e+03 -4.912281e-01 -1.754386e-01
+ -2.000000e+03 3.000000e+03 -3.274854e-01 -1.754386e-01
+ -1.000000e+03 3.000000e+03 -1.637427e-01 -1.754386e-01
+ 0.000000e+00 3.000000e+03 0.000000e+00 -1.754386e-01
+ 1.000000e+03 3.000000e+03 1.637427e-01 -1.754386e-01
+ 2.000000e+03 3.000000e+03 3.274854e-01 -1.754386e-01
+ 3.000000e+03 3.000000e+03 4.912281e-01 -1.754386e-01
+ 4.000000e+03 3.000000e+03 6.549708e-01 -1.754386e-01
+ -4.000000e+03 4.000000e+03 -6.549708e-01 -2.339181e-01
+ -3.000000e+03 4.000000e+03 -4.912281e-01 -2.339181e-01
+ -2.000000e+03 4.000000e+03 -3.274854e-01 -2.339181e-01
+ -1.000000e+03 4.000000e+03 -1.637427e-01 -2.339181e-01
+ 0.000000e+00 4.000000e+03 0.000000e+00 -2.339181e-01
+ 1.000000e+03 4.000000e+03 1.637427e-01 -2.339181e-01
+ 2.000000e+03 4.000000e+03 3.274854e-01 -2.339181e-01
+ 3.000000e+03 4.000000e+03 4.912281e-01 -2.339181e-01
+ 4.000000e+03 4.000000e+03 6.549708e-01 -2.339181e-01
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp.cfg
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp.cfg (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp.cfg 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,108 @@
+# -*- Python -*-
+[pylithapp]
+
+[pylithapp.launcher] # WARNING: THIS IS NOT PORTABLE
+command = mpirun -np ${nodes}
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+[pylithapp.journal.info]
+#timedependent = 1
+#implicit = 1
+#petsc = 1
+#solverlinear = 1
+#meshiocubit = 1
+#implicitelasticity = 1
+#quadrature2d = 1
+fiatlagrange = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+#debug = 1
+reader = pylith.meshio.MeshIOCubit
+
+[pylithapp.mesh_generator.reader]
+filename = mesh.exo
+use_nodeset_names = True
+coordsys.space_dim = 2
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+dimension = 2
+bc = [x_neg,x_pos,y_neg]
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 0.0*s
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+materials = [elastic]
+materials.elastic = pylith.materials.ElasticPlaneStrain
+
+[pylithapp.timedependent.materials.elastic]
+label = Elastic material
+id = 1
+db_properties.iohandler.filename = matprops.spatialdb
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.degree = 2
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc.x_pos]
+bc_dof = [0]
+label = edge_xpos
+db_initial = spatialdata.spatialdb.SimpleDB
+db_initial.label = Dirichlet BC +x edge
+db_initial.iohandler.filename = axial_disp.spatialdb
+
+[pylithapp.timedependent.bc.x_neg]
+bc_dof = [0]
+label = edge_xneg
+db_initial = spatialdata.spatialdb.SimpleDB
+db_initial.label = Dirichlet BC -x edge
+db_initial.iohandler.filename = axial_disp.spatialdb
+
+[pylithapp.timedependent.bc.y_neg]
+bc_dof = [1]
+label = edge_yneg
+db_initial = spatialdata.spatialdb.SimpleDB
+db_initial.label = Dirichlet BC -y edge
+db_initial.iohandler.filename = axial_disp.spatialdb
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+pc_type = asm
+
+# Change the preconditioner settings.
+sub_pc_factor_shift_type = none
+
+ksp_rtol = 1.0e-8
+ksp_max_it = 100
+ksp_gmres_restart = 50
+ksp_monitor = true
+ksp_view = true
+ksp_converged_reason = true
+#log_summary = true
+# start_in_debugger = true
+
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.output.writer]
+filename = axialdisp.vtk
+
+[pylithapp.timedependent.materials.elastic.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = axialdisp-elastic.vtk
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp_gendb.py
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp_gendb.py (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp_gendb.py 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,85 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+## @file tests/2d/quad4/axialdisp_gendb.py
+##
+## @brief Python script to generate spatial database with displacement
+## boundary conditions for the axial displacement test.
+
+import numpy
+
+class GenerateDB(object):
+ """
+ Python object to generate spatial database with displacement
+ boundary conditions for the axial displacement test.
+ """
+
+ def __init__(self):
+ """
+ Constructor.
+ """
+ return
+
+
+ def run(self):
+ """
+ Generate the database.
+ """
+ # Domain
+ x = numpy.arange(-4000.0, 4000.1, 1000.0)
+ y = numpy.arange(-4000.0, 4000.1, 1000.0)
+ npts = x.shape[0]
+
+ xx = x * numpy.ones( (npts, 1), dtype=numpy.float64)
+ yy = y * numpy.ones( (npts, 1), dtype=numpy.float64)
+ xy = numpy.zeros( (npts**2, 2), dtype=numpy.float64)
+ xy[:,0] = numpy.ravel(xx)
+ xy[:,1] = numpy.ravel(numpy.transpose(yy))
+
+ from axialdisp_soln import AnalyticalSoln
+ soln = AnalyticalSoln()
+ disp = soln.displacement(xy)
+
+ from spatialdata.geocoords.CSCart import CSCart
+ cs = CSCart()
+ cs.inventory.spaceDim = 2
+ cs._configure()
+ data = {'points': xy,
+ 'coordsys': cs,
+ 'data_dim': 2,
+ 'values': [{'name': "displacement-x",
+ 'units': "m",
+ 'data': numpy.ravel(disp[:,0])},
+ {'name': "displacement-y",
+ 'units': "m",
+ 'data': numpy.ravel(disp[:,1])}]}
+
+ from spatialdata.spatialdb.SimpleIOAscii import SimpleIOAscii
+ io = SimpleIOAscii()
+ io.inventory.filename = "axial_disp.spatialdb"
+ io._configure()
+ io.write(data)
+ return
+
+# ======================================================================
+if __name__ == "__main__":
+ app = GenerateDB()
+ app.run()
+
+
+# End of file
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp_soln.py
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp_soln.py (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/axialdisp_soln.py 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,110 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+## @file tests/2d/quad4/axialdisp_soln.py
+##
+## @brief Analytical solution to axial displacement problem.
+
+## 2-D axial extension test with linear quadrilateral cells.
+##
+## Uy=-a
+## ----------
+## | |
+## Ux=-b | |
+## | |
+## | |
+## ----------
+## Uy=+a
+##
+## Dirichlet boundary conditions
+## Ux(0,y) = -b
+## Uy(x,-4000) = +a
+## Uy(x,+4000) = -a
+
+import numpy
+
+# Physical properties
+p_density = 2500.0
+p_vs = 3000.0
+p_vp = 5291.502622129181
+
+p_mu = p_density*p_vs**2
+p_lambda = p_density*p_vp**2 - 2*p_mu
+
+# Uniform stress field (plane strain)
+sxx = 1.0e+7
+sxy = 0.0
+syy = 0.0
+szz = p_lambda/(2*p_lambda+2*p_mu)*(sxx+syy)
+
+# Uniform strain field
+exx = 1.0/(2*p_mu) * (sxx - p_lambda/(3*p_lambda+2*p_mu) * (sxx+syy+szz))
+eyy = 1.0/(2*p_mu) * (syy - p_lambda/(3*p_lambda+2*p_mu) * (sxx+syy+szz))
+ezz = 1.0/(2*p_mu) * (szz - p_lambda/(3*p_lambda+2*p_mu) * (sxx+syy+szz))
+
+exy = 1.0/(2*p_mu) * (sxy)
+
+print exx,eyy,exy,ezz
+print -exx*p_lambda/(p_lambda+2*p_mu)
+
+# ----------------------------------------------------------------------
+class AnalyticalSoln(object):
+ """
+ Analytical solution to axial/shear displacement problem.
+ """
+
+ def __init__(self):
+ return
+
+
+ def displacement(self, locs):
+ """
+ Compute displacement field at locations.
+ """
+ (npts, dim) = locs.shape
+ disp = numpy.zeros( (npts, 3), dtype=numpy.float64)
+ disp[:,0] = exx*locs[:,0] + exy*locs[:,1]
+ disp[:,1] = eyy*locs[:,1] + exy*locs[:,0]
+ return disp
+
+
+ def strain(self, locs):
+ """
+ Compute strain field at locations.
+ """
+ (npts, dim) = locs.shape
+ strain = numpy.zeros( (npts, 3), dtype=numpy.float64)
+ strain[:,0] = exx
+ strain[:,1] = eyy
+ strain[:,2] = exy
+ return strain
+
+
+ def stress(self, locs):
+ """
+ Compute stress field at locations.
+ """
+ (npts, dim) = locs.shape
+ stress = numpy.zeros( (npts, 3), dtype=numpy.float64)
+ stress[:,0] = sxx
+ stress[:,1] = syy
+ stress[:,2] = sxy
+ return stress
+
+
+# End of file
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/dislocation.cfg
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/dislocation.cfg (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/dislocation.cfg 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,133 @@
+# -*- Python -*-
+[pylithapp]
+
+[pylithapp.launcher] # WARNING: THIS IS NOT PORTABLE
+command = mpirun -np ${nodes}
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+[pylithapp.journal.info]
+#timedependent = 1
+#implicit = 1
+#petsc = 1
+#solverlinear = 1
+#meshiocubit = 1
+#implicitelasticity = 1
+#quadrature2d = 1
+fiatlagrange = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+debug = 1
+reader = pylith.meshio.MeshIOCubit
+
+[pylithapp.mesh_generator.reader]
+filename = mesh.exo
+use_nodeset_names = True
+coordsys.space_dim = 2
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+dimension = 2
+bc = [x_neg,x_pos]
+interfaces = [fault]
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 0.0*s
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+materials = [elastic]
+materials.elastic = pylith.materials.ElasticPlaneStrain
+
+[pylithapp.timedependent.materials.elastic]
+label = Elastic material
+id = 1
+db_properties.iohandler.filename = matprops.spatialdb
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.degree = 2
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc.x_pos]
+bc_dof = [0,1]
+label = edge_xpos
+db_initial = spatialdata.spatialdb.UniformDB
+db_initial.label = Dirichlet BC +x edge
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*m,-1.0*m]
+
+[pylithapp.timedependent.bc.x_neg]
+bc_dof = [0,1]
+label = edge_xneg
+db_initial = spatialdata.spatialdb.UniformDB
+db_initial.label = Dirichlet BC -x edge
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*m,+1.0*m]
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces]
+fault = pylith.faults.FaultCohesiveKin
+
+[pylithapp.timedependent.interfaces.fault]
+id = 2
+label = fault_x
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 1
+quadrature.cell.degree = 2
+
+[pylithapp.timedependent.interfaces.fault.eq_srcs.rupture.slip_function]
+slip = spatialdata.spatialdb.UniformDB
+slip.label = Final slip
+slip.values = [left-lateral-slip,fault-opening]
+slip.data = [-2.0*m,0.0*m]
+
+slip_time = spatialdata.spatialdb.UniformDB
+slip_time.label = Slip start time
+slip_time.values = [slip-time]
+slip_time.data = [0.0*s]
+
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+pc_type = asm
+
+# Change the preconditioner settings.
+sub_pc_factor_shift_type = none
+
+ksp_rtol = 1.0e-8
+ksp_max_it = 100
+ksp_gmres_restart = 50
+
+ksp_monitor = true
+ksp_view = true
+ksp_converged_reason = true
+#log_summary = true
+# start_in_debugger = true
+
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.output.writer]
+filename = dislocation.vtk
+
+[pylithapp.timedependent.materials.elastic.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = dislocation-elastic.vtk
+
+[pylithapp.timedependent.interfaces.fault.output.writer]
+filename = dislocation-fault.vtk
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/dislocation_soln.py
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/dislocation_soln.py (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/dislocation_soln.py 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,99 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+
+## @file tests/2d/quad4/dislocation_soln.py
+##
+## @brief Analytical solution to dislocation (rigid motion).
+
+import numpy
+
+# Physical properties
+p_density = 2500.0
+p_vs = 3000.0
+p_vp = 5291.502622129181
+
+p_mu = p_density*p_vs**2
+p_lambda = p_density*p_vp**2 - 2*p_mu
+
+# Uniform stress field (plane strain)
+sxx = 0.0
+sxy = 0.0
+syy = 0.0
+szz = p_lambda/(2*p_lambda+2*p_mu)*(sxx+syy)
+
+# Uniform strain field
+exx = 1.0/(2*p_mu) * (sxx - p_lambda/(3*p_lambda+2*p_mu) * (sxx+syy+szz))
+eyy = 1.0/(2*p_mu) * (syy - p_lambda/(3*p_lambda+2*p_mu) * (sxx+syy+szz))
+ezz = 1.0/(2*p_mu) * (szz - p_lambda/(3*p_lambda+2*p_mu) * (sxx+syy+szz))
+
+exy = 1.0/(2*p_mu) * (sxy)
+
+#print exx,eyy,exy,ezz
+#print -exx*p_lambda/(p_lambda+2*p_mu)
+
+# ----------------------------------------------------------------------
+class AnalyticalSoln(object):
+ """
+ Analytical solution to axial/shear displacement problem.
+ """
+
+ def __init__(self):
+ return
+
+
+ def displacement(self, locs, nlocsO):
+ """
+ Compute displacement field at locations.
+ """
+ (nlocs, dim) = locs.shape
+
+ disp = numpy.zeros( (nlocs, 3), dtype=numpy.float64)
+ maskP = locs[:,0] >= 0.0
+ maskP[nlocsO:nlocs] = False
+ maskN = numpy.bitwise_and(locs[:,0] <= 0.0, ~maskP)
+ disp[:,1] = \
+ maskN*(+1.0) + \
+ maskP*(-1.0)
+ return disp
+
+
+ def strain(self, locs):
+ """
+ Compute strain field at locations.
+ """
+ (nlocs, dim) = locs.shape
+ strain = numpy.zeros( (nlocs, 3), dtype=numpy.float64)
+ strain[:,0] = exx
+ strain[:,1] = eyy
+ strain[:,2] = exy
+ return strain
+
+
+ def stress(self, locs):
+ """
+ Compute stress field at locations.
+ """
+ (nlocs, dim) = locs.shape
+ stress = numpy.zeros( (nlocs, 3), dtype=numpy.float64)
+ stress[:,0] = sxx
+ stress[:,1] = syy
+ stress[:,2] = sxy
+ return stress
+
+
+# End of file
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/geometry.jou
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/geometry.jou (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/geometry.jou 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,34 @@
+# ----------------------------------------------------------------------
+# Create surface using vertices
+# ----------------------------------------------------------------------
+
+# Block is 8000m x 8000m
+# -4000 m <= x <= 4000 m
+# -4000 m <= y <= 4000 m
+reset
+create vertex -4000.0 -4000.0 0.0
+create vertex -4000.0 +4000.0 0.0
+create vertex +4000.0 +4000.0 0.0
+create vertex +4000.0 -4000.0 0.0
+create surface vertex 1 2 3 4
+delete vertex all
+
+# ----------------------------------------------------------------------
+# Create interface surfaces
+# ----------------------------------------------------------------------
+
+# Fault at x=0
+create vertex 0.0 -4000.0 0.0
+create vertex 0.0 +4000.0 0.0
+split surface 1 across location vertex 5 location vertex 6
+
+# Fault at x=-2000.0
+create vertex -2000.0 +4000.0 0.0
+create vertex -2000.0 -4000.0 0.0
+split surface 2 across location vertex 9 location vertex 10
+split surface 3 across location vertex 9 location vertex 10
+
+delete vertex all
+
+
+# End of file
\ No newline at end of file
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/matprops.spatialdb
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/matprops.spatialdb (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/matprops.spatialdb 2010-08-27 01:00:41 UTC (rev 17127)
@@ -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 = 2
+ cs-data = cartesian {
+ to-meters = 1.0
+ space-dim = 2
+ }
+}
+0.0 0.0 2500.0 3000.0 5291.502622129181
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/mesh.exo
===================================================================
(Binary files differ)
Property changes on: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/mesh.exo
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/mesh.jou
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/mesh.jou (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/mesh.jou 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,79 @@
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size
+# ----------------------------------------------------------------------
+surface all size 1000
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+surface all scheme submap
+mesh surface all
+
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 surface 3 4 5
+block 1 name "elastic"
+block 1 element type QUAD9
+
+# ----------------------------------------------------------------------
+# Create nodeset for faults
+# ----------------------------------------------------------------------
+group "fault_x" add node in curve 5
+nodeset 10 group fault_x
+nodeset 10 name "fault_x"
+
+group "fault_x2" add node in curve 10
+nodeset 11 group fault_x2
+nodeset 11 name "fault_x2"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +x edge
+# ----------------------------------------------------------------------
+group "edge_xpos" add node in curve 3
+nodeset 20 group edge_xpos
+nodeset 20 name "edge_xpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x edge
+# ----------------------------------------------------------------------
+group "edge_xneg" add node in curve 1
+nodeset 21 group edge_xneg
+nodeset 21 name "edge_xneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y edge
+# ----------------------------------------------------------------------
+group "edge_ypos" add node in curve 8
+group "edge_ypos" add node in curve 11
+group "edge_ypos" add node in curve 14
+nodeset 22 group edge_ypos
+nodeset 22 name "edge_ypos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y edge
+# ----------------------------------------------------------------------
+group "edge_yneg" add node in curve 9
+group "edge_yneg" add node in curve 12
+group "edge_yneg" add node in curve 13
+nodeset 23 group edge_yneg
+nodeset 23 name "edge_yneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y edge w/o overlap with fault
+# ----------------------------------------------------------------------
+group "edge_yneg_nofault" add node in edge_yneg
+group "edge_yneg_nofault" remove node in fault_x
+nodeset 24 group edge_yneg_nofault
+nodeset 24 name "edge_yneg_nofault"
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "mesh.exo" dimension 2 overwrite
+
Added: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/testpylith.py
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/testpylith.py (rev 0)
+++ short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/testpylith.py 2010-08-27 01:00:41 UTC (rev 17127)
@@ -0,0 +1,87 @@
+#!/usr/bin/env python
+#
+# ======================================================================
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ======================================================================
+#
+
+__requires__ = "PyLith"
+
+import unittest
+
+def suite():
+ """
+ Create test suite.
+ """
+ suite = unittest.TestSuite()
+
+ from TestAxialDisp import TestAxialDisp
+ suite.addTest(unittest.makeSuite(TestAxialDisp))
+
+ from TestShearDisp import TestShearDisp
+ suite.addTest(unittest.makeSuite(TestShearDisp))
+
+ from TestDislocation import TestDislocation
+ suite.addTest(unittest.makeSuite(TestDislocation))
+
+ #from TestDislocation2 import TestDislocation2
+ #suite.addTest(unittest.makeSuite(TestDislocation2))
+
+ from TestLgDeformRigidBody import TestRigidBody
+ suite.addTest(unittest.makeSuite(TestRigidBody))
+
+ from TestLgDeformTraction import TestTraction
+ suite.addTest(unittest.makeSuite(TestTraction))
+
+ from TestFrictionCompression import TestFrictionCompression
+ suite.addTest(unittest.makeSuite(TestFrictionCompression))
+
+ from TestFrictionShearStick import TestFrictionShearStick
+ suite.addTest(unittest.makeSuite(TestFrictionShearStick))
+
+ from TestFrictionShearSliding import TestFrictionShearSliding
+ suite.addTest(unittest.makeSuite(TestFrictionShearSliding))
+
+ from TestFrictionOpening import TestFrictionOpening
+ suite.addTest(unittest.makeSuite(TestFrictionOpening))
+
+ from TestSlipWeakeningCompression import TestSlipWeakeningCompression
+ suite.addTest(unittest.makeSuite(TestSlipWeakeningCompression))
+
+ from TestSlipWeakeningShearStick import TestSlipWeakeningShearStick
+ suite.addTest(unittest.makeSuite(TestSlipWeakeningShearStick))
+
+ from TestSlipWeakeningShearSliding import TestSlipWeakeningShearSliding
+ suite.addTest(unittest.makeSuite(TestSlipWeakeningShearSliding))
+
+ from TestSlipWeakeningOpening import TestSlipWeakeningOpening
+ suite.addTest(unittest.makeSuite(TestSlipWeakeningOpening))
+
+ return suite
+
+
+def main():
+ """
+ Run test suite.
+ """
+ unittest.TextTestRunner(verbosity=2).run(suite())
+ return
+
+
+# ----------------------------------------------------------------------
+if __name__ == '__main__':
+ main()
+
+
+# End of file
Property changes on: short/3D/PyLith/branches/v1.5-stable/tests_auto/2d/quad9/testpylith.py
___________________________________________________________________
Name: svn:executable
+ *
More information about the CIG-COMMITS
mailing list