[cig-commits] r19683 - in short/3D/PyLith/trunk/tests/2d/plasticity: . cyclic mesh static

willic3 at geodynamics.org willic3 at geodynamics.org
Sun Feb 26 16:51:32 PST 2012


Author: willic3
Date: 2012-02-26 16:51:32 -0800 (Sun, 26 Feb 2012)
New Revision: 19683

Added:
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_cont2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_cont3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_sin2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_sin3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/loadcycle.timedb
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/loadcycle_sin.timedb
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/output/
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/planestrain_onecell_2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/planestrain_onecell_3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/pylithapp.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/run-models.sh
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/box_hex8_0.2m.exo
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/geometry2d.jou
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/geometry3d.jou
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/mesh_hex8_0.2m.jou
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/mesh_quad4_0.2m.jou
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/onehex8.mesh
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/onequad4.mesh
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/plane_quad4_0.2m.exo
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/twohex8.mesh
   short/3D/PyLith/trunk/tests/2d/plasticity/mesh/twoquad4.mesh
   short/3D/PyLith/trunk/tests/2d/plasticity/static/
   short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_fine_2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_fine_3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_twocells_2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_twocells_3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/output/
   short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_fine_2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_fine_3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_twocells_2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_twocells_3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/pylithapp.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/run-models.sh
   short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_fine_2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_fine_3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_twocells_2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_twocells_3d.cfg
Removed:
   short/3D/PyLith/trunk/tests/2d/plasticity/axialdisp2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/axialdisp3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/output/
   short/3D/PyLith/trunk/tests/2d/plasticity/planestrain2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/planestrain3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/pylithapp.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/run-models.sh
   short/3D/PyLith/trunk/tests/2d/plasticity/sheardisp2d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/sheardisp3d.cfg
   short/3D/PyLith/trunk/tests/2d/plasticity/twohex8.mesh
   short/3D/PyLith/trunk/tests/2d/plasticity/twoquad4.mesh
Log:
Fixed up plasticity tests.  Things are now divided into two directories
(cyclic and static). Still need to update a few more files, and more
debugging needs to be done.



Deleted: short/3D/PyLith/trunk/tests/2d/plasticity/axialdisp2d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/axialdisp2d.cfg	2012-02-25 16:39:12 UTC (rev 19682)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/axialdisp2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -1,104 +0,0 @@
-# -*- Python -*-
-
-# To run this problem, type "pylith planestrain2d.cfg axialdisp2d.cfg".
-# The settings in pylithapp.cfg will be read by default. See the README for
-# how to run other problems in this directory.
-#
-#
-#  <- ----------------------- ->
-#     |                     |
-#  <- |                     | ->
-#     |                     |
-#  <- |                     | ->
-#     |                     |
-#  <- ----------------------- ->
-#     ^          ^          ^
-#
-# Axial tension is applied by pulling on the left and right boundaries
-# in the horizontal direction.
-# Bottom boundary is pinned in the vertical direction.
-
-[pylithapp]
-
-# ----------------------------------------------------------------------
-# problem
-# ----------------------------------------------------------------------
-# Specify the problem settings.
-[pylithapp.timedependent]
-# Set bc to an array with 3 boundary conditions: 'x_neg', 'x_pos', 'y_neg'.
-bc = [x_neg,x_pos,y_neg]
-
-# ----------------------------------------------------------------------
-# boundary conditions
-# ----------------------------------------------------------------------
-
-# BC for the left (-x) side of the domain.
-[pylithapp.timedependent.bc.x_neg]
-
-# Fix the 0 (x) degree of freedom.
-bc_dof = [0]
-
-# The group of vertices in the mesh file associated with this boundary
-# condition have the name 'x_neg'.
-label = x_neg
-
-# Change the spatial database for the Dirichlet BC initial values from
-# ZeroDispDB (which has a uniform zero spatial distribution) to UniformDB.
-db_initial = spatialdata.spatialdb.UniformDB
-
-# Assign the label 'Dirichlet BC -x edge' to the database.
-db_initial.label = Dirichlet BC -x edge
-
-# Assign the displacement BC values
-db_initial.values = [displacement-x]
-db_initial.data = [-1.0*cm]
-
-# Boundary conditions to be applied to the positive x-side of the mesh.
-[pylithapp.timedependent.bc.x_pos]
-
-# Fix the 0 (x) degree of freedom.
-bc_dof = [0]
-
-# The group of vertices in the mesh file associated with this boundary
-# condition have the name 'x_pos'.
-label = x_pos
-
-# Change the spatial database for the Dirichlet BC initial values from
-# ZeroDispDB (which has a uniform spatial distribution) to UniformDB
-db_initial = spatialdata.spatialdb.UniformDB
-
-# Assign the label 'Dirichlet BC +x edge' to the database.
-db_initial.label = Dirichlet BC +x edge
-
-# Assign the displacement BC values
-db_initial.values = [displacement-x]
-db_initial.data = [1.0*cm]
-
-# Boundary conditions to be applied to the bottom boundary of the mesh.
-[pylithapp.timedependent.bc.y_neg]
-
-# We are fixing the 1 (y) degree of freedom.
-bc_dof = [1]
-
-# The group of vertices in the mesh file associated with this boundary
-# condition have the name 'y_neg'.
-label = y_neg
-
-# Assign the label 'Dirichlet BC -y corners' to the database.
-db_initial.label = Dirichlet BC -y edge
-
-# ----------------------------------------------------------------------
-# output
-# ----------------------------------------------------------------------
-# Give basename for VTK output of solution over domain.
-[pylithapp.problem.formulation.output.output.writer]
-filename = output/axialdisp2d.vtk
-time_format = %04.0f
-time_constant = 1.0*year
-
-# Give basename for VTK output of state variables.
-[pylithapp.timedependent.materials.material.output]
-cell_filter = pylith.meshio.CellFilterAvgMesh
-writer.filename = output/axialdisp2d-statevars.vtk
-writer.time_format = %04.0f
-writer.time_constant = 1.0*year

Deleted: short/3D/PyLith/trunk/tests/2d/plasticity/axialdisp3d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/axialdisp3d.cfg	2012-02-25 16:39:12 UTC (rev 19682)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/axialdisp3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -1,133 +0,0 @@
-# -*- Python -*-
-
-# To run this problem, type "pylith planestrain.cfg axialdisp3d.cfg".
-# The settings in pylithapp.cfg will be read by default. See the README for
-# how to run other problems in this directory.
-#
-#
-#  <- ----------------------- ->
-#     |                     |
-#  <- |                     | ->
-#     |                     |
-#  <- |                     | ->
-#     |                     |
-#  <- ----------------------- ->
-#     ^          ^          ^
-#
-# Axial tension is applied by pulling on the left and right boundaries
-# in the horizontal direction.
-# Bottom boundary is pinned in the vertical direction.
-# In this problem, we are simulating plane strain, so all z-displacements
-# are fixed.
-
-[pylithapp]
-
-# ----------------------------------------------------------------------
-# problem
-# ----------------------------------------------------------------------
-# Specify the problem settings.
-[pylithapp.timedependent]
-# Set bc to an array with 5 boundary conditions: 'x_neg', 'x_pos', 'y_neg',
-# 'z_neg', 'z_pos'.
-bc = [x_neg,x_pos,y_neg,z_neg,z_pos]
-
-# ----------------------------------------------------------------------
-# boundary conditions
-# ----------------------------------------------------------------------
-
-# BC for the left (-x) side of the domain.
-[pylithapp.timedependent.bc.x_neg]
-
-# Fix the 0 (x) degree of freedom.
-bc_dof = [0]
-
-# The group of vertices in the mesh file associated with this boundary
-# condition have the name 'x_neg'.
-label = x_neg
-
-# Change the spatial database for the Dirichlet BC initial values from
-# ZeroDispDB (which has a uniform zero spatial distribution) to UniformDB.
-db_initial = spatialdata.spatialdb.UniformDB
-
-# Assign the label 'Dirichlet BC -x edge' to the database.
-db_initial.label = Dirichlet BC -x edge
-
-# Assign the displacement BC values
-db_initial.values = [displacement-x]
-db_initial.data = [-1.0*cm]
-
-# Boundary conditions to be applied to the positive x-side of the mesh.
-[pylithapp.timedependent.bc.x_pos]
-
-# Fix the 0 (x) degree of freedom.
-bc_dof = [0]
-
-# The group of vertices in the mesh file associated with this boundary
-# condition have the name 'x_pos'.
-label = x_pos
-
-# Change the spatial database for the Dirichlet BC initial values from
-# ZeroDispDB (which has a uniform spatial distribution) to UniformDB
-db_initial = spatialdata.spatialdb.UniformDB
-
-# Assign the label 'Dirichlet BC +x edge' to the database.
-db_initial.label = Dirichlet BC +x edge
-
-# Assign the displacement BC values
-db_initial.values = [displacement-x]
-db_initial.data = [1.0*cm]
-
-# Boundary conditions to be applied to the bottom boundary of the mesh.
-[pylithapp.timedependent.bc.y_neg]
-
-# We are fixing the 1 (y) degree of freedom.
-bc_dof = [1]
-
-# The group of vertices in the mesh file associated with this boundary
-# condition have the name 'y_neg'.
-label = y_neg
-
-# Assign the label 'Dirichlet BC -y corners' to the database.
-db_initial.label = Dirichlet BC -y edge
-
-# Boundary conditions to be applied to the front of the mesh.
-[pylithapp.timedependent.bc.z_pos]
-
-# We are fixing the 2 (z) degree of freedom.
-bc_dof = [2]
-
-# The group of vertices in the mesh file associated with this boundary
-# condition have the name 'z_pos'.
-label = z_pos
-
-# Assign the label 'Dirichlet BC +z corners' to the database.
-db_initial.label = Dirichlet BC +z edge
-
-# Boundary conditions to be applied to the back of the mesh.
-[pylithapp.timedependent.bc.z_neg]
-
-# We are fixing the 2 (z) degree of freedom.
-bc_dof = [2]
-
-# The group of vertices in the mesh file associated with this boundary
-# condition have the name 'z_neg'.
-label = z_neg
-
-# Assign the label 'Dirichlet BC -z corners' to the database.
-db_initial.label = Dirichlet BC -z edge
-
-# ----------------------------------------------------------------------
-# output
-# ----------------------------------------------------------------------
-# Give basename for VTK output of solution over domain.
-[pylithapp.problem.formulation.output.output.writer]
-filename = output/axialdisp3d.vtk
-time_format = %04.0f
-time_constant = 1.0*year
-
-# Give basename for VTK output of state variables.
-[pylithapp.timedependent.materials.material.output]
-cell_filter = pylith.meshio.CellFilterAvgMesh
-writer.filename = output/axialdisp3d-statevars.vtk
-writer.time_format = %04.0f
-writer.time_constant = 1.0*year

Added: short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_cont2d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_cont2d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_cont2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,89 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_onecell_2d.cfg cycle_cont2d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+#
+#
+#  -> ----------------------- <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> ----------------------- <-
+#     ^          ^          ^
+#
+# Axial contraction is applied by pushing on the left and right boundaries
+# in the horizontal direction.
+# All displacements in the vertical direction are fixed so there are no
+# unconstrained dof.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+# Set bc to an array with 2 boundary conditions: 'x_neg', 'x_pos'
+bc = [x_neg,x_pos]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+
+# BC for the left (-x) side of the domain.
+[pylithapp.timedependent.bc.x_neg]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0,1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_neg'.
+label = x_neg
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Amplitude of Dirichlet BC on -x
+db_change.values = [displacement-x,displacement-y,change-start-time]
+db_change.data = [0.1*mm,0.00*cm,0.0*year]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Time history for Dirichlet BC on -x
+th_change.filename = loadcycle.timedb
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0,1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_pos'.
+label = x_pos
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Amplitude of Dirichlet BC on +x
+db_change.values = [displacement-x,displacement-y,change-start-time]
+db_change.data = [-0.1*mm,0.00*cm,0.0*year]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Time history for Dirichlet BC on +x
+th_change.filename = loadcycle.timedb
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/cycle_cont2d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/cycle_cont2d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Added: short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_cont3d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_cont3d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_cont3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,102 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_onecell_3d.cfg cycle_cont3d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+#
+#
+#  -> ----------------------- <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> ----------------------- <-
+#     ^          ^          ^
+#
+# Axial contraction is applied by pushing on the left and right boundaries
+# in the horizontal direction.
+# All displacements in the vertical direction are fixed, and all z-dof are
+# fixed to simulate plane strain conditions.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+# Set bc to an array with 4 boundary conditions: 'x_neg', 'x_pos', 'z_neg'
+# and 'z_pos'
+bc = [x_neg,x_pos,z_neg,z_pos]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+
+# BC for the left (-x) side of the domain.
+[pylithapp.timedependent.bc.x_neg]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0,1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_neg'.
+label = x_neg
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Amplitude of Dirichlet BC on -x
+db_change.values = [displacement-x,displacement-y,change-start-time]
+db_change.data = [0.1*mm,0.00*cm,0.0*year]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Time history for Dirichlet BC on -x
+th_change.filename = loadcycle.timedb
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0,1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_pos'.
+label = x_pos
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Amplitude of Dirichlet BC on +x
+db_change.values = [displacement-x,displacement-y,change-start-time]
+db_change.data = [-0.1*mm,0.00*cm,0.0*year]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Time history for Dirichlet BC on +x
+th_change.filename = loadcycle.timedb
+
+# Boundary conditions to be applied to the negative z-side of the mesh.
+[pylithapp.timedependent.bc.z_neg]
+bc_dof = [2]
+label = z_neg
+db_initial.label = Dirichlet BC -z face
+
+# Boundary conditions to be applied to the positive z-side of the mesh.
+[pylithapp.timedependent.bc.z_pos]
+bc_dof = [2]
+label = z_pos
+db_initial.label = Dirichlet BC +z face
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/cycle_cont3d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/cycle_cont3d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Added: short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_sin2d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_sin2d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_sin2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,93 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_onecell_2d.cfg cycle_sin2d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+#
+#
+#  -> ----------------------- <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> ----------------------- <-
+#     ^          ^          ^
+#
+# Axial contraction is applied by pushing on the left and right boundaries
+# in the horizontal direction.
+# All displacements in the vertical direction are fixed so there are no
+# unconstrained dof.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+# Set bc to an array with 2 boundary conditions: 'x_neg', 'x_pos'
+bc = [x_neg,x_pos]
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 2880.0*year
+dt = 20.0*year
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+
+# BC for the left (-x) side of the domain.
+[pylithapp.timedependent.bc.x_neg]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0,1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_neg'.
+label = x_neg
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Amplitude of Dirichlet BC on -x
+db_change.values = [displacement-x,displacement-y,change-start-time]
+db_change.data = [0.1*mm,0.00*cm,0.0*year]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Time history for Dirichlet BC on -x
+th_change.filename = loadcycle_sin.timedb
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0,1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_pos'.
+label = x_pos
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Amplitude of Dirichlet BC on +x
+db_change.values = [displacement-x,displacement-y,change-start-time]
+db_change.data = [-0.1*mm,0.00*cm,0.0*year]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Time history for Dirichlet BC on +x
+th_change.filename = loadcycle_sin.timedb
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/cycle_sin2d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/cycle_sin2d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Added: short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_sin3d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_sin3d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/cycle_sin3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,106 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_onecell_3d.cfg cycle_sin3d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+#
+#
+#  -> ----------------------- <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> ----------------------- <-
+#     ^          ^          ^
+#
+# Axial contraction is applied by pushing on the left and right boundaries
+# in the horizontal direction.
+# All displacements in the vertical direction are fixed, and all z-dof are
+# fixed to simulate plane strain conditions.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+# Set bc to an array with 4 boundary conditions: 'x_neg', 'x_pos', 'z_neg'
+# and 'z_pos'
+bc = [x_neg,x_pos,z_neg,z_pos]
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 2880.0*year
+dt = 20.0*year
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+
+# BC for the left (-x) side of the domain.
+[pylithapp.timedependent.bc.x_neg]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0,1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_neg'.
+label = x_neg
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Amplitude of Dirichlet BC on -x
+db_change.values = [displacement-x,displacement-y,change-start-time]
+db_change.data = [0.1*mm,0.00*cm,0.0*year]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Time history for Dirichlet BC on -x
+th_change.filename = loadcycle_sin.timedb
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0,1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_pos'.
+label = x_pos
+
+db_change = spatialdata.spatialdb.UniformDB
+db_change.label = Amplitude of Dirichlet BC on +x
+db_change.values = [displacement-x,displacement-y,change-start-time]
+db_change.data = [-0.1*mm,0.00*cm,0.0*year]
+
+th_change = spatialdata.spatialdb.TimeHistory
+th_change.label = Time history for Dirichlet BC on +x
+th_change.filename = loadcycle_sin.timedb
+
+# Boundary conditions to be applied to the negative z-side of the mesh.
+[pylithapp.timedependent.bc.z_neg]
+bc_dof = [2]
+label = z_neg
+db_initial.label = Dirichlet BC -z face
+
+# Boundary conditions to be applied to the positive z-side of the mesh.
+[pylithapp.timedependent.bc.z_pos]
+bc_dof = [2]
+label = z_pos
+db_initial.label = Dirichlet BC +z face
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/cycle_sin3d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/cycle_sin3d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Added: short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/loadcycle.timedb
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/loadcycle.timedb	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/loadcycle.timedb	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,18 @@
+// -*- C++ -*- (tell Emacs to use C++ mode for syntax highlighting)
+//
+#TIME HISTORY ascii
+TimeHistory {
+  num-points = 11 // number of points in time history
+  time-units = year // units for time
+}
+ 0.0  0.0
+10.0  1.0
+20.0  1.0
+30.0  0.0
+40.0  0.0
+50.0  1.0
+60.0  1.0
+70.0  0.0
+80.0  0.0
+90.0  1.0
+100.0 1.0

Added: short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/loadcycle_sin.timedb
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/loadcycle_sin.timedb	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/loadcycle_sin.timedb	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,152 @@
+// -*- C++ -*- (tell Emacs to use C++ mode for syntax highlighting)
+//
+#TIME HISTORY ascii
+TimeHistory {
+  num-points = 145 // number of points in time history
+  time-units = year // units for time
+}
+0.0000000000	0.0000000000
+20.000000000	0.34202014333
+40.000000000	0.64278760969
+60.000000000	0.86602540378
+80.000000000	0.98480775301
+100.00000000	0.98480775301
+120.00000000	0.86602540378
+140.00000000	0.64278760969
+160.00000000	0.34202014333
+180.00000000	0.0
+200.00000000	-0.34202014333
+220.00000000	-0.64278760969
+240.00000000	-0.86602540378
+260.00000000	-0.98480775301
+280.00000000	-0.98480775301
+300.00000000	-0.86602540378
+320.00000000	-0.64278760969
+340.00000000	-0.34202014333
+360.00000000	0.0
+380.00000000	0.34202014333
+400.00000000	0.64278760969
+420.00000000	0.86602540378
+440.00000000	0.98480775301
+460.00000000	0.98480775301
+480.00000000	0.86602540378
+500.00000000	0.64278760969
+520.00000000	0.34202014333
+540.00000000	0.0
+560.00000000	-0.34202014333
+580.00000000	-0.64278760969
+600.00000000	-0.86602540378
+620.00000000	-0.98480775301
+640.00000000	-0.98480775301
+660.00000000	-0.86602540378
+680.00000000	-0.64278760969
+700.00000000	-0.34202014333
+720.00000000	0.0
+740.00000000	0.34202014333
+760.00000000	0.64278760969
+780.00000000	0.86602540378
+800.00000000	0.98480775301
+820.00000000	0.98480775301
+840.00000000	0.86602540378
+860.00000000	0.64278760969
+880.00000000	0.34202014333
+900.00000000	0.0
+920.00000000	-0.34202014333
+940.00000000	-0.64278760969
+960.00000000	-0.86602540378
+980.00000000	-0.98480775301
+1000.0000000	-0.98480775301
+1020.0000000	-0.86602540378
+1040.0000000	-0.64278760969
+1060.0000000	-0.34202014333
+1080.0000000	0.0
+1100.0000000	0.34202014333
+1120.0000000	0.64278760969
+1140.0000000	0.86602540378
+1160.0000000	0.98480775301
+1180.0000000	0.98480775301
+1200.0000000	0.86602540378
+1220.0000000	0.64278760969
+1240.0000000	0.34202014333
+1260.0000000	0.0
+1280.0000000	-0.34202014333
+1300.0000000	-0.64278760969
+1320.0000000	-0.86602540378
+1340.0000000	-0.98480775301
+1360.0000000	-0.98480775301
+1380.0000000	-0.86602540378
+1400.0000000	-0.64278760969
+1420.0000000	-0.34202014333
+1440.0000000	0.0
+1460.0000000	0.34202014333
+1480.0000000	0.64278760969
+1500.0000000	0.86602540378
+1520.0000000	0.98480775301
+1540.0000000	0.98480775301
+1560.0000000	0.86602540378
+1580.0000000	0.64278760969
+1600.0000000	0.34202014333
+1620.0000000	0.0
+1640.0000000	-0.34202014333
+1660.0000000	-0.64278760969
+1680.0000000	-0.86602540378
+1700.0000000	-0.98480775301
+1720.0000000	-0.98480775301
+1740.0000000	-0.86602540378
+1760.0000000	-0.64278760969
+1780.0000000	-0.34202014333
+1800.0000000	0.0
+1820.0000000	0.34202014333
+1840.0000000	0.64278760969
+1860.0000000	0.86602540378
+1880.0000000	0.98480775301
+1900.0000000	0.98480775301
+1920.0000000	0.86602540378
+1940.0000000	0.64278760969
+1960.0000000	0.34202014333
+1980.0000000	0.0
+2000.0000000	-0.34202014333
+2020.0000000	-0.64278760969
+2040.0000000	-0.86602540378
+2060.0000000	-0.98480775301
+2080.0000000	-0.98480775301
+2100.0000000	-0.86602540378
+2120.0000000	-0.64278760969
+2140.0000000	-0.34202014333
+2160.0000000	0.0
+2180.0000000	0.34202014333
+2200.0000000	0.64278760969
+2220.0000000	0.86602540378
+2240.0000000	0.98480775301
+2260.0000000	0.98480775301
+2280.0000000	0.86602540378
+2300.0000000	0.64278760969
+2320.0000000	0.34202014333
+2340.0000000	0.0
+2360.0000000	-0.34202014333
+2380.0000000	-0.64278760969
+2400.0000000	-0.86602540378
+2420.0000000	-0.98480775301
+2440.0000000	-0.98480775301
+2460.0000000	-0.86602540378
+2480.0000000	-0.64278760969
+2500.0000000	-0.34202014333
+2520.0000000	0.0
+2540.0000000	0.34202014333
+2560.0000000	0.64278760969
+2580.0000000	0.86602540378
+2600.0000000	0.98480775301
+2620.0000000	0.98480775301
+2640.0000000	0.86602540378
+2660.0000000	0.64278760969
+2680.0000000	0.34202014333
+2700.0000000	0.0
+2720.0000000	-0.34202014333
+2740.0000000	-0.64278760969
+2760.0000000	-0.86602540378
+2780.0000000	-0.98480775301
+2800.0000000	-0.98480775301
+2820.0000000	-0.86602540378
+2840.0000000	-0.64278760969
+2860.0000000	-0.34202014333
+2880.0000000	0.0

Added: short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/planestrain_onecell_2d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/planestrain_onecell_2d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/planestrain_onecell_2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,34 @@
+# -*- Python -*-
+
+# The settings in this file define the setting specific to a 2D
+# (plane strain) problem.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+# This component specification means we are using PyLith ASCII format,
+# and we then specify the filename and number of space dimensions for
+# the mesh.
+[pylithapp.mesh_generator.reader]
+filename = ../mesh/onequad4.mesh
+coordsys.space_dim = 2
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# We define this as a 2D problem.
+# All other problem settings are in pylithapp.cfg.
+[pylithapp.timedependent]
+dimension = 2
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+# Define a single material that is DruckerPragerPlaneStrain.
+# Other material settings are defined in pylithapp.cfg.
+[pylithapp.timedependent.materials]
+material = pylith.materials.DruckerPragerPlaneStrain
+# The cell dimension for this material is 2.
+material.quadrature.cell.dimension = 2

Added: short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/planestrain_onecell_3d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/planestrain_onecell_3d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/planestrain_onecell_3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,33 @@
+# -*- Python -*-
+
+# The settings in this file define the setting specific to a 3D problem.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+# This component specification means we are using PyLith ASCII format,
+# and we then specify the filename and number of space dimensions for
+# the mesh.
+[pylithapp.mesh_generator.reader]
+filename = ../mesh/onehex8.mesh
+coordsys.space_dim = 3
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# We define this as a 3D problem.
+# All other problem settings are in pylithapp.cfg.
+[pylithapp.timedependent]
+dimension = 3
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+# Define a single material that is DruckerPrager3D.
+# Other material settings are defined in pylithapp.cfg.
+[pylithapp.timedependent.materials]
+material = pylith.materials.DruckerPrager3D
+# The cell dimension for this material is 3.
+material.quadrature.cell.dimension = 3

Copied: short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/pylithapp.cfg (from rev 19682, short/3D/PyLith/trunk/tests/2d/plasticity/pylithapp.cfg)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/pylithapp.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/pylithapp.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,106 @@
+# -*- Python -*-
+
+# The settings in this file (pylithapp.cfg) will be read automatically
+# by pylith, as long as the file is placed in the run directory.
+
+# The settings in this file will override any settings in:
+# PREFIX/etc/pylithapp.cfg
+# $HOME/.pyre/pylithapp/pylithapp.cfg
+
+# The settings in this file will be overridden by any .cfg file given
+# on the command line or by any command line settings.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+# The settings below turn on journal info for the specified components.
+# If you want less output to stdout, you can turn these off.
+[pylithapp.journal.info]
+timedependent = 1
+implicit = 1
+petsc = 1
+solverlinear = 1
+meshioascii = 1
+homogeneous = 1
+elasticityimplicit = 1
+fiatlagrange = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+# The settings below control the mesh generation (importing mesh info).
+# Turn on debugging output for mesh generation.
+[pylithapp.mesh_generator]
+#debug = 1
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+# This is a time-dependent problem, so we select this as our problem type.
+# We select a total time of 1 year, and a time step size of 0.1 year.
+[pylithapp.timedependent]
+implicit.solver = pylith.problems.SolverNonlinear
+normalizer.length_scale = 1.0*m
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 100.0*year
+dt = 10.0*year
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+# Specify the material information for the problem.
+[pylithapp.timedependent.materials.material]
+
+# We give a label of 'Elastoplastic material' to this material.
+label = Elastoplastic material
+
+# The cells associated with this material are given a material ID of 0
+# in the mesh file.
+id = 1
+
+# We specify a uniform DB and give the properties in this file.
+db_properties = spatialdata.spatialdb.UniformDB
+db_properties.label = DP elastoplastic db
+db_properties.values = [vp,vs,density,friction-angle,cohesion,dilatation-angle]
+db_properties.data = [5291.502622129181*m/s,3000.0*m/s,2700.0*kg/m**3,20.0*degree,1.0*MPa,20.0*degree]
+
+# Set cell type to FIAT Lagrange.
+quadrature.cell = pylith.feassemble.FIATLagrange
+
+# Set cell info and output fields
+output.cell_info_fields = [density,mu,lambda,alpha_yield,beta,alpha_flow]
+output.cell_data_fields = [total_strain,stress,plastic_strain]
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+pc_type = asm
+
+# Change the preconditioner settings.
+sub_pc_factor_shift_type = nonzero
+
+ksp_rtol = 1.0e-10
+ksp_atol = 1.0e-20
+ksp_max_it = 500
+ksp_gmres_restart = 50
+
+ksp_monitor = true
+ksp_view = true
+ksp_converged_reason = true
+
+snes_rtol = 1.0e-10
+snes_atol = 1.0e-16
+snes_max_it = 100
+snes_monitor = true
+snes_ls_monitor = true
+snes_view = true
+snes_converged_reason = true
+snes_max_linear_solve_fail = 4
+
+log_summary = true
+# start_in_debugger = true

Copied: short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/run-models.sh (from rev 19682, short/3D/PyLith/trunk/tests/2d/plasticity/run-models.sh)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/run-models.sh	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/cyclic/run-models.sh	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,4 @@
+pylith planestrain_onecell_2d.cfg cycle_cont2d.cfg
+pylith planestrain_onecell_3d.cfg cycle_cont3d.cfg
+pylith planestrain_onecell_2d.cfg cycle_sin2d.cfg
+pylith planestrain_onecell_3d.cfg cycle_sin3d.cfg

Added: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/box_hex8_0.2m.exo
===================================================================
(Binary files differ)


Property changes on: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/box_hex8_0.2m.exo
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/geometry2d.jou
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/mesh/geometry2d.jou	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/mesh/geometry2d.jou	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,16 @@
+# ----------------------------------------------------------------------
+# Create vertices defining plane.
+# ----------------------------------------------------------------------
+reset
+create vertex -2.0 -1.0 0.0
+create vertex 2.0 -1.0 0.0
+create vertex 2.0 1.0 0.0
+
+# ----------------------------------------------------------------------
+# Create plane.
+# ----------------------------------------------------------------------
+
+# Block is 4 m x 2 m
+# -2 km <= x <= 2 km
+# -1 km <= y <= 1 km
+create planar surface with plane vertex 1 vertex 2 vertex 3

Added: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/geometry3d.jou
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/mesh/geometry3d.jou	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/mesh/geometry3d.jou	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,10 @@
+# ----------------------------------------------------------------------
+# Create block
+# ----------------------------------------------------------------------
+
+# Block is 4 m x 2 m x 0.2 m
+# -2 m <= x <= 2 m
+# -1 m <= y <= 1 m
+# -0.2 m <= z <= 0.2 m
+reset
+brick x 4 y 2 z 0.2

Added: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/mesh_hex8_0.2m.jou
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/mesh/mesh_hex8_0.2m.jou	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/mesh/mesh_hex8_0.2m.jou	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,69 @@
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry3d.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size
+# ----------------------------------------------------------------------
+volume all size 0.2
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 volume 1
+block 1 name "elastoplastic"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +x face
+# ----------------------------------------------------------------------
+group "x_pos" add node in surface 6
+nodeset 11 group x_pos
+nodeset 11 name "x_pos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x face
+# ----------------------------------------------------------------------
+group "x_neg" add node in surface 4
+nodeset 12 group x_neg
+nodeset 12 name "x_neg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y face
+# ----------------------------------------------------------------------
+group "y_pos" add node in surface 5
+nodeset 13 group y_pos
+nodeset 13 name "y_pos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y face
+# ----------------------------------------------------------------------
+group "y_neg" add node in surface 3
+nodeset 14 group y_neg
+nodeset 14 name "y_neg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face
+# ----------------------------------------------------------------------
+group "z_neg" add node in surface 2
+nodeset 15 group z_neg
+nodeset 15 name "z_neg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +z face
+# ----------------------------------------------------------------------
+group "z_pos" add node in surface 1
+nodeset 16 group z_pos
+nodeset 16 name "z_pos"
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "box_hex8_0.2m.exo" dimension 3 overwrite
+
+

Added: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/mesh_quad4_0.2m.jou
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/mesh/mesh_quad4_0.2m.jou	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/mesh/mesh_quad4_0.2m.jou	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,56 @@
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry2d.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size
+# ----------------------------------------------------------------------
+surface all size 0.2
+surface 1 scheme map
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh surface all
+
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 surface 1
+block 1 name "elastoplastic"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +x edge
+# ----------------------------------------------------------------------
+group "x_pos" add node in curve 3
+nodeset 11 group x_pos
+nodeset 11 name "x_pos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x edge
+# ----------------------------------------------------------------------
+group "x_neg" add node in curve 1
+nodeset 12 group x_neg
+nodeset 12 name "x_neg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y face
+# ----------------------------------------------------------------------
+group "y_pos" add node in curve 4
+nodeset 13 group y_pos
+nodeset 13 name "y_pos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y face
+# ----------------------------------------------------------------------
+group "y_neg" add node in curve 2
+nodeset 14 group y_neg
+nodeset 14 name "y_neg"
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "plane_quad4_0.2m.exo" dimension 2 overwrite
+
+

Added: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/onehex8.mesh
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/mesh/onehex8.mesh	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/mesh/onehex8.mesh	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,174 @@
+// Finite-element mesh with one hex8 cell.
+//
+//
+//  1 ----- 3
+//  |       |
+//  |       |
+//  |       |
+//  0 ----- 2
+//
+// The layer behind (in the z-direction) is numbered similarly, with vertex
+// numbers beginning with 4.
+//
+// Each edge has a length of 2.0.
+//
+mesh = {
+
+  // Dimension associated with topology of mesh.
+  dimension = 3
+
+  // We are using zero-based indexing (default, C style) rather than 
+  // one-based (Fortran style) indexing.
+  use-index-zero = true
+
+  // Vertices in the mesh.
+  vertices = {
+
+    // Dimension of coordinate system for vertices.
+    dimension = 3
+
+    // Number of vertices in mesh.
+    count = 8
+
+    // Coordinates are listed as:
+    // Vertex number (starting from zero), x-coord, y-coord, z-coord
+    // Use coordinate units that are consistent with the other units used.
+    coordinates = {
+             0     -2.0 -1.0 -1.0
+             1     -2.0  1.0 -1.0
+             2      0.0 -1.0 -1.0
+             3      0.0  1.0 -1.0
+             4     -2.0 -1.0  1.0
+             5     -2.0  1.0  1.0
+             6      0.0 -1.0  1.0
+             7      0.0  1.0  1.0
+    }
+  }
+
+  // Finite-element cells in the mesh.
+  cells = {
+
+    // There is 1 cell.
+    count = 1
+
+    // These are trilinear hexahedral cells, so there are 8 corners per cell.
+    num-corners = 8
+
+    // List the vertices composing each cell, moving counter-clockwise 
+    // around the cell.
+    // List the information as:
+    // Cell number (starting from zero), vertex 0, vertex 1, vertex 2, vertex 3
+    simplices = {
+             0       0  2  3  1  4  6  7  5
+    }
+
+    // List the material ID's associated with each cell.
+    // Different ID's may be used to specify a different material type, or
+    // to use a different spatial database for each material ID.
+    // In this example, cell 0 is associated with material ID 1.
+    material-ids = {
+             0   1
+    }
+  }
+
+  // Here we list different groups (cells or vertices) that we want to 
+  // associate with a particular name.
+
+  // This group of vertices may be used to define a fault.
+  // There are 4 vertices corresponding to indices 2, 6, 7 and 3.
+  group = {
+    name = fault
+    type = vertices
+    count = 4
+    indices = {
+      2
+      3
+      6
+      7
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 4 vertices corresponding to indices 0, 1, 4, and 5.
+  group = {
+    name = x_neg
+    type = vertices
+    count = 4
+    indices = {
+      0
+      1
+      4
+      5
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 4 vertices corresponding to indices 2, 3, 6, and 7.
+  group = {
+    name = x_pos
+    type = vertices
+    count = 4
+    indices = {
+      2
+      3
+      6
+      7
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 4 vertices corresponding to indices 0, 2, 4, and 6.
+  group = {
+    name = y_neg
+    type = vertices
+    count = 4
+    indices = {
+      0
+      2
+      4
+      6
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 4 vertices corresponding to indices 1, 3, 5, and 7.
+  group = {
+    name = y_pos
+    type = vertices
+    count = 4
+    indices = {
+      1
+      3
+      5
+      7
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 4 vertices, corresponding to indices 4, 5, 6, and 7.
+  group = {
+    name = z_neg
+    type = vertices
+    count = 4
+    indices = {
+      4
+      5
+      6
+      7
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 4 vertices, corresponding to indices 0, 1, 2, and 3.
+  group = {
+    name = z_pos
+    type = vertices
+    count = 4
+    indices = {
+      0
+      1
+      2
+      3
+    }
+  }
+}

Added: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/onequad4.mesh
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/mesh/onequad4.mesh	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/mesh/onequad4.mesh	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,117 @@
+// Finite-element mesh with one quad4 cell.
+//
+//
+//  1 ----- 3
+//  |       |
+//  |       |
+//  |       |
+//  0 ----- 2
+//
+// Each edge has a length of 2.0.
+//
+mesh = {
+
+  // Dimenion associated with topology of mesh.
+  dimension = 2
+
+  // We are using zero-based indexing (default, C style) rather than 
+  // one-based (Fortran style) indexing.
+  use-index-zero = true
+
+  // Vertices in the mesh.
+  vertices = {
+
+    // Dimension of coordinate system for vertices.
+    dimension = 2
+
+    // Number of vertices in mesh.
+    count = 4
+
+    // Coordinates are listed as:
+    // Vertex number (starting from zero), x-coord, y-coord
+    // Use coordinate units that are consistent with the other units used.
+    coordinates = {
+             0     -2.0 -1.0
+             1     -2.0  1.0
+             2      0.0 -1.0
+             3      0.0  1.0
+    }
+  }
+
+  // Finite-element cells in the mesh.
+  cells = {
+
+    // There is 1 cell.
+    count = 1
+
+    // These are bilinear quadrilateral cells, so there are 4 corners per cell.
+    num-corners = 4
+
+    // List the vertices composing each cell, moving counter-clockwise 
+    // around the cell.
+    // List the information as:
+    // Cell number (starting from zero), vertex 0, vertex 1, vertex 2, vertex 3
+    simplices = {
+             0       0  2  3  1
+    }
+
+    // List the material ID's associated with each cell.
+    // Different ID's may be used to specify a different material type, or
+    // to use a different spatial database for each material ID.
+    // In this example, cells 0 and 1 both are associated with material ID 1.
+    material-ids = {
+             0   1
+    }
+  }
+
+  // Here we list different groups (cells or vertices) that we want to 
+  // associate with a particular name.
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 2 vertices corresponding to indices 0, 2.
+  group = {
+    name = y_neg
+    type = vertices
+    count = 2
+    indices = {
+      0
+      2
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 2 vertices corresponding to indices 0 and 1.
+  group = {
+    name = x_neg
+    type = vertices
+    count = 2
+    indices = {
+      0
+      1
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 2 vertices corresponding to indices 2 and 3.
+  group = {
+    name = x_pos
+    type = vertices
+    count = 2
+    indices = {
+      2
+      3
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 2 vertices corresponding to indices 1 and 3.
+  group = {
+    name = y_pos
+    type = vertices
+    count = 2
+    indices = {
+      1
+      3
+    }
+  }
+}

Added: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/plane_quad4_0.2m.exo
===================================================================
(Binary files differ)


Property changes on: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/plane_quad4_0.2m.exo
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Copied: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/twohex8.mesh (from rev 19682, short/3D/PyLith/trunk/tests/2d/plasticity/twohex8.mesh)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/mesh/twohex8.mesh	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/mesh/twohex8.mesh	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,188 @@
+// Finite-element mesh with two hex8 cells.
+//
+//
+//  1 ----- 3 ----- 5
+//  |       |       |
+//  |       |       |
+//  |       |       |
+//  0 ----- 2 ----- 4
+//
+// The layer behind (in the z-direction) is numbered similarly, with vertex
+// numbers beginning with 6.
+//
+// Each edge has a length of 2.0.
+//
+mesh = {
+
+  // Dimension associated with topology of mesh.
+  dimension = 3
+
+  // We are using zero-based indexing (default, C style) rather than 
+  // one-based (Fortran style) indexing.
+  use-index-zero = true
+
+  // Vertices in the mesh.
+  vertices = {
+
+    // Dimension of coordinate system for vertices.
+    dimension = 3
+
+    // Number of vertices in mesh.
+    count = 12
+
+    // Coordinates are listed as:
+    // Vertex number (starting from zero), x-coord, y-coord, z-coord
+    // Use coordinate units that are consistent with the other units used.
+    coordinates = {
+             0     -2.0 -1.0 -1.0
+             1     -2.0  1.0 -1.0
+             2      0.0 -1.0 -1.0
+             3      0.0  1.0 -1.0
+             4      2.0 -1.0 -1.0
+             5      2.0  1.0 -1.0
+             6     -2.0 -1.0  1.0
+             7     -2.0  1.0  1.0
+             8      0.0 -1.0  1.0
+             9      0.0  1.0  1.0
+            10      2.0 -1.0  1.0
+            11      2.0  1.0  1.0
+    }
+  }
+
+  // Finite-element cells in the mesh.
+  cells = {
+
+    // There are 2 cells.
+    count = 2
+
+    // These are trilinear hexahedral cells, so there are 8 corners per cell.
+    num-corners = 8
+
+    // List the vertices composing each cell, moving counter-clockwise 
+    // around the cell.
+    // List the information as:
+    // Cell number (starting from zero), vertex 0, vertex 1, vertex 2, vertex 3
+    simplices = {
+             0       0  2  3  1  6  8  9  7
+             1       2  4  5  3  8 10 11  9
+    }
+
+    // List the material ID's associated with each cell.
+    // Different ID's may be used to specify a different material type, or
+    // to use a different spatial database for each material ID.
+    // In this example, cells 0 and 1 both are associated with material ID 1.
+    material-ids = {
+             0   1
+             1   1
+    }
+  }
+
+  // Here we list different groups (cells or vertices) that we want to 
+  // associate with a particular name.
+
+  // This group of vertices may be used to define a fault.
+  // There are 4 vertices corresponding to indices 2, 8, 9 and 3.
+  group = {
+    name = fault
+    type = vertices
+    count = 4
+    indices = {
+      2
+      3
+      8
+      9
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 4 vertices corresponding to indices 0, 1, 6, and 7.
+  group = {
+    name = x_neg
+    type = vertices
+    count = 4
+    indices = {
+      0
+      1
+      6
+      7
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 4 vertices corresponding to indices 4, 5, 10, and 11.
+  group = {
+    name = x_pos
+    type = vertices
+    count = 4
+    indices = {
+      4
+      5
+     10
+     11
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 6 vertices corresponding to indices 0, 2, 4, 6, 8, and 10.
+  group = {
+    name = y_neg
+    type = vertices
+    count = 6
+    indices = {
+      0
+      2
+      4
+      6
+      8
+     10
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 6 vertices corresponding to indices 1, 3, 5, 7, 9, and 11.
+  group = {
+    name = y_pos
+    type = vertices
+    count = 6
+    indices = {
+      1
+      3
+      5
+      7
+      9
+     11
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 6 vertices, corresponding to indices 6, 7, 8, 9, 10, and 11.
+  group = {
+    name = z_neg
+    type = vertices
+    count = 6
+    indices = {
+      6
+      7
+      8
+      9
+     10
+     11
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 6 vertices, corresponding to indices 0, 1, 2, 3, 4, and 5.
+  group = {
+    name = z_pos
+    type = vertices
+    count = 6
+    indices = {
+      0
+      1
+      2
+      3
+      4
+      5
+    }
+  }
+}

Copied: short/3D/PyLith/trunk/tests/2d/plasticity/mesh/twoquad4.mesh (from rev 19682, short/3D/PyLith/trunk/tests/2d/plasticity/twoquad4.mesh)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/mesh/twoquad4.mesh	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/mesh/twoquad4.mesh	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,133 @@
+// Finite-element mesh with two quad4 cells.
+//
+//
+//  1 ----- 3 ----- 5
+//  |       |       |
+//  |       |       |
+//  |       |       |
+//  0 ----- 2 ----- 4
+//
+// Each edge has a length of 2.0.
+//
+mesh = {
+
+  // Dimenion associated with topology of mesh.
+  dimension = 2
+
+  // We are using zero-based indexing (default, C style) rather than 
+  // one-based (Fortran style) indexing.
+  use-index-zero = true
+
+  // Vertices in the mesh.
+  vertices = {
+
+    // Dimension of coordinate system for vertices.
+    dimension = 2
+
+    // Number of vertices in mesh.
+    count = 6
+
+    // Coordinates are listed as:
+    // Vertex number (starting from zero), x-coord, y-coord
+    // Use coordinate units that are consistent with the other units used.
+    coordinates = {
+             0     -2.0 -1.0
+             1     -2.0  1.0
+             2      0.0 -1.0
+             3      0.0  1.0
+             4      2.0 -1.0
+             5      2.0  1.0
+    }
+  }
+
+  // Finite-element cells in the mesh.
+  cells = {
+
+    // There are 2 cells.
+    count = 2
+
+    // These are bilinear quadrilateral cells, so there are 4 corners per cell.
+    num-corners = 4
+
+    // List the vertices composing each cell, moving counter-clockwise 
+    // around the cell.
+    // List the information as:
+    // Cell number (starting from zero), vertex 0, vertex 1, vertex 2, vertex 3
+    simplices = {
+             0       0  2  3  1
+             1       4  5  3  2
+    }
+
+    // List the material ID's associated with each cell.
+    // Different ID's may be used to specify a different material type, or
+    // to use a different spatial database for each material ID.
+    // In this example, cells 0 and 1 both are associated with material ID 1.
+    material-ids = {
+             0   1
+             1   1
+    }
+  }
+
+  // Here we list different groups (cells or vertices) that we want to 
+  // associate with a particular name.
+
+  // This group of vertices may be used to define a fault.
+  // There are 2 vertices corresponding to indices 2 and 3.
+  group = {
+    name = fault
+    type = vertices
+    count = 2
+    indices = {
+      2
+      3
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 3 vertices corresponding to indices 0, 2, and 4.
+  group = {
+    name = y_neg
+    type = vertices
+    count = 3
+    indices = {
+      0
+      2
+      4
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 2 vertices corresponding to indices 0 and 1.
+  group = {
+    name = x_neg
+    type = vertices
+    count = 2
+    indices = {
+      0
+      1
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There are 2 vertices corresponding to indices 4 and 5.
+  group = {
+    name = x_pos
+    type = vertices
+    count = 2
+    indices = {
+      4
+      5
+    }
+  }
+
+  // This group of vertices may be used to specify boundary conditions.
+  // There is 1 vertex corresponding to index 3.
+  group = {
+    name = y_pos
+    type = vertices
+    count = 1
+    indices = {
+      3
+    }
+  }
+}

Deleted: short/3D/PyLith/trunk/tests/2d/plasticity/planestrain2d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/planestrain2d.cfg	2012-02-25 16:39:12 UTC (rev 19682)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/planestrain2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -1,34 +0,0 @@
-# -*- Python -*-
-
-# The settings in this file define the setting specific to a 2D
-# (plane strain) problem.
-
-[pylithapp]
-
-# ----------------------------------------------------------------------
-# mesh_generator
-# ----------------------------------------------------------------------
-# This component specification means we are using PyLith ASCII format,
-# and we then specify the filename and number of space dimensions for
-# the mesh.
-[pylithapp.mesh_generator.reader]
-filename = twoquad4.mesh
-coordsys.space_dim = 2
-
-# ----------------------------------------------------------------------
-# problem
-# ----------------------------------------------------------------------
-# We define this as a 2D problem.
-# All other problem settings are in pylithapp.cfg.
-[pylithapp.timedependent]
-dimension = 2
-
-# ----------------------------------------------------------------------
-# materials
-# ----------------------------------------------------------------------
-# Define a single material that is DruckerPragerPlaneStrain.
-# Other material settings are defined in pylithapp.cfg.
-[pylithapp.timedependent.materials]
-material = pylith.materials.DruckerPragerPlaneStrain
-# The cell dimension for this material is 2.
-material.quadrature.cell.dimension = 2

Deleted: short/3D/PyLith/trunk/tests/2d/plasticity/planestrain3d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/planestrain3d.cfg	2012-02-25 16:39:12 UTC (rev 19682)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/planestrain3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -1,34 +0,0 @@
-# -*- Python -*-
-
-# The settings in this file define the setting specific to a 3D
-# problem simulating plane strain.
-
-[pylithapp]
-
-# ----------------------------------------------------------------------
-# mesh_generator
-# ----------------------------------------------------------------------
-# This component specification means we are using PyLith ASCII format,
-# and we then specify the filename and number of space dimensions for
-# the mesh.
-[pylithapp.mesh_generator.reader]
-filename = twohex8.mesh
-coordsys.space_dim = 3
-
-# ----------------------------------------------------------------------
-# problem
-# ----------------------------------------------------------------------
-# We define this as a 3D problem.
-# All other problem settings are in pylithapp.cfg.
-[pylithapp.timedependent]
-dimension = 3
-
-# ----------------------------------------------------------------------
-# materials
-# ----------------------------------------------------------------------
-# Define a single material that is DruckerPrager3D.
-# Other material settings are defined in pylithapp.cfg.
-[pylithapp.timedependent.materials]
-material = pylith.materials.DruckerPrager3D
-# The cell dimension for this material is 3.
-material.quadrature.cell.dimension = 3

Deleted: short/3D/PyLith/trunk/tests/2d/plasticity/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/pylithapp.cfg	2012-02-25 16:39:12 UTC (rev 19682)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/pylithapp.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -1,105 +0,0 @@
-# -*- Python -*-
-
-# The settings in this file (pylithapp.cfg) will be read automatically
-# by pylith, as long as the file is placed in the run directory.
-
-# The settings in this file will override any settings in:
-# PREFIX/etc/pylithapp.cfg
-# $HOME/.pyre/pylithapp/pylithapp.cfg
-
-# The settings in this file will be overridden by any .cfg file given
-# on the command line or by any command line settings.
-
-[pylithapp]
-
-# ----------------------------------------------------------------------
-# journal
-# ----------------------------------------------------------------------
-# The settings below turn on journal info for the specified components.
-# If you want less output to stdout, you can turn these off.
-[pylithapp.journal.info]
-timedependent = 1
-implicit = 1
-petsc = 1
-solverlinear = 1
-meshioascii = 1
-homogeneous = 1
-elasticityimplicit = 1
-fiatlagrange = 1
-
-# ----------------------------------------------------------------------
-# mesh_generator
-# ----------------------------------------------------------------------
-# The settings below control the mesh generation (importing mesh info).
-# Turn on debugging output for mesh generation.
-[pylithapp.mesh_generator]
-#debug = 1
-
-# ----------------------------------------------------------------------
-# problem
-# ----------------------------------------------------------------------
-# Specify the problem settings.
-# This is a time-dependent problem, so we select this as our problem type.
-# We select a total time of 1 year, and a time step size of 0.1 year.
-[pylithapp.timedependent]
-implicit.solver = pylith.problems.SolverNonlinear
-normalizer.length_scale = 1.0*m
-
-[pylithapp.timedependent.formulation.time_step]
-total_time = 100.0*year
-dt = 10.0*year
-
-# ----------------------------------------------------------------------
-# materials
-# ----------------------------------------------------------------------
-# Specify the material information for the problem.
-[pylithapp.timedependent.materials.material]
-
-# We give a label of 'Elastoplastic material' to this material.
-label = Elastoplastic material
-
-# The cells associated with this material are given a material ID of 0
-# in the mesh file.
-id = 0
-
-# We specify a uniform DB and give the properties in this file.
-db_properties = spatialdata.spatialdb.UniformDB
-db_properties.label = DP elastoplastic db
-db_properties.values = [vp,vs,density,friction-angle,cohesion,dilatation-angle]
-db_properties.data = [5291.502622129181*m/s,3000.0*m/s,2700.0*kg/m**3,30.0*degree,5.0*kPa,30.0*degree]
-
-# Set cell type to FIAT Lagrange.
-quadrature.cell = pylith.feassemble.FIATLagrange
-
-# Set cell info and output fields
-output.cell_info_fields = [density,mu,lambda,alpha_yield,beta,alpha_flow]
-output.cell_data_fields = [total_strain,stress,plastic_strain]
-
-# ----------------------------------------------------------------------
-# PETSc
-# ----------------------------------------------------------------------
-[pylithapp.petsc]
-pc_type = asm
-
-# Change the preconditioner settings.
-sub_pc_factor_shift_type = nonzero
-
-ksp_rtol = 1.0e-10
-ksp_atol = 1.0e-20
-ksp_max_it = 100
-ksp_gmres_restart = 50
-
-ksp_monitor = true
-ksp_view = true
-ksp_converged_reason = true
-
-snes_rtol = 1.0e-10
-snes_atol = 1.0e-16
-snes_max_it = 100
-snes_monitor = true
-snes_ls_monitor = true
-snes_view = true
-snes_converged_reason = true
-
-log_summary = true
-# start_in_debugger = true

Deleted: short/3D/PyLith/trunk/tests/2d/plasticity/run-models.sh
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/run-models.sh	2012-02-25 16:39:12 UTC (rev 19682)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/run-models.sh	2012-02-27 00:51:32 UTC (rev 19683)
@@ -1,4 +0,0 @@
-pylith planestrain2d.cfg axialdisp2d.cfg
-pylith planestrain3d.cfg axialdisp3d.cfg
-pylith planestrain2d.cfg sheardisp2d.cfg
-pylith planestrain3d.cfg sheardisp3d.cfg

Deleted: short/3D/PyLith/trunk/tests/2d/plasticity/sheardisp2d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/sheardisp2d.cfg	2012-02-25 16:39:12 UTC (rev 19682)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/sheardisp2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -1,88 +0,0 @@
-# -*- Python -*-
-
-# To run this problem, type "pylith planestrain2d.cfg sheardisp2d.cfg".
-# The settings in pylithapp.cfg will be read by default. See the README for
-# how to run other problems in this directory.
-
-[pylithapp]
-
-# ----------------------------------------------------------------------
-# problem
-# ----------------------------------------------------------------------
-# Specify the problem settings.
-[pylithapp.timedependent]
-
-# Set bc to an array with 2 boundary conditions: 'x_neg' and 'x_pos'.
-bc = [x_neg,x_pos]
-
-# ----------------------------------------------------------------------
-# boundary conditions
-# ----------------------------------------------------------------------
-# Provide information on the boundary conditions.
-
-# Boundary conditions to be applied to the negative x-side of the mesh.
-[pylithapp.timedependent.bc.x_neg]
-
-# We are fixing the 0 (x) and 1 (y) degrees of freedom.
-bc_dof = [0, 1]
-
-# The nodes associated with this boundary condition have the name
-# 'x_neg' in the mesh file.
-label = x_neg
-
-# Change spatial database for initial value from ZeroDispDB (which has
-# a uniform zero spatial distribution) to UniformDB.
-db_initial = spatialdata.spatialdb.UniformDB
-
-# We are assigning the label 'Dirichlet BC -x edge' to the database.
-db_initial.label = Dirichlet BC -x edge
-
-# Assign the displacement BC values.
-db_initial.values = [displacement-x,displacement-y]
-db_initial.data = [0.0*cm,-0.0001*cm]
-
-
-# Boundary conditions to be applied to the positive x-side of the mesh.
-[pylithapp.timedependent.bc.x_pos]
-
-# We are fixing the 0 (x) and 1 (y) degrees of freedom.
-bc_dof = [0, 1]
-
-# The nodes associated with this boundary condition have the name
-# 'x_pos' in the mesh file.
-label = x_pos
-
-# Change spatial database for initial value from ZeroDispDB (which has
-# a uniform zero spatial distribution) to UniformDB.
-db_initial = spatialdata.spatialdb.UniformDB
-
-# We are assigning the label 'Dirichlet BC +x edge' to the database.
-db_initial.label = Dirichlet BC +x edge
-
-# Assign the displacement BC values.
-db_initial.values = [displacement-x,displacement-y]
-db_initial.data = [0.0*cm,0.0001*cm]
-
-# ----------------------------------------------------------------------
-# PETSc
-# ----------------------------------------------------------------------
-[pylithapp.petsc]
-ksp_rtol = 1.0e-18
-snes_rtol = 1.0e-10
-snes_atol = 1.0e-18
-
-# ----------------------------------------------------------------------
-# output
-# ----------------------------------------------------------------------
-# Give basename for VTK output of solution over domain.
-[pylithapp.problem.formulation.output.output.writer]
-filename = output/sheardisp2d.vtk
-time_format = %04.0f
-time_constant = 1.0*year
-
-# Give basename for VTK output of state variables.
-[pylithapp.timedependent.materials.material.output]
-cell_filter = pylith.meshio.CellFilterAvgMesh
-writer.filename = output/sheardisp2d-statevars.vtk
-writer.time_format = %04.0f
-writer.time_constant = 1.0*year

Deleted: short/3D/PyLith/trunk/tests/2d/plasticity/sheardisp3d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/sheardisp3d.cfg	2012-02-25 16:39:12 UTC (rev 19682)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/sheardisp3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -1,115 +0,0 @@
-# -*- Python -*-
-
-# To run this problem, type "pylith planestrain3d.cfg sheardisp3d.cfg".
-# The settings in pylithapp.cfg will be read by default. See the README for
-# how to run other problems in this directory.
-
-[pylithapp]
-
-# ----------------------------------------------------------------------
-# problem
-# ----------------------------------------------------------------------
-# Specify the problem settings.
-[pylithapp.timedependent]
-
-# Set bc to an array with 4 boundary conditions: 'x_neg', 'x_pos', 'z_neg'
-# and 'z_pos'.
-bc = [x_neg,x_pos,z_neg,z_pos]
-
-# ----------------------------------------------------------------------
-# boundary conditions
-# ----------------------------------------------------------------------
-# Provide information on the boundary conditions.
-
-# Boundary conditions to be applied to the negative x-side of the mesh.
-[pylithapp.timedependent.bc.x_neg]
-
-# We are fixing the 0 (x) and 1 (y) degrees of freedom.
-bc_dof = [0, 1]
-
-# The nodes associated with this boundary condition have the name
-# 'x_neg' in the mesh file.
-label = x_neg
-
-# Change spatial database for initial value from ZeroDispDB (which has
-# a uniform zero spatial distribution) to UniformDB.
-db_initial = spatialdata.spatialdb.UniformDB
-
-# We are assigning the label 'Dirichlet BC -x edge' to the database.
-db_initial.label = Dirichlet BC -x edge
-
-# Assign the displacement BC values.
-db_initial.values = [displacement-x,displacement-y]
-db_initial.data = [0.0*cm,-0.0001*cm]
-
-
-# Boundary conditions to be applied to the positive x-side of the mesh.
-[pylithapp.timedependent.bc.x_pos]
-
-# We are fixing the 0 (x) and 1 (y) degrees of freedom.
-bc_dof = [0, 1]
-
-# The nodes associated with this boundary condition have the name
-# 'x_pos' in the mesh file.
-label = x_pos
-
-# Change spatial database for initial value from ZeroDispDB (which has
-# a uniform zero spatial distribution) to UniformDB.
-db_initial = spatialdata.spatialdb.UniformDB
-
-# We are assigning the label 'Dirichlet BC +x edge' to the database.
-db_initial.label = Dirichlet BC +x edge
-
-# Assign the displacement BC values.
-db_initial.values = [displacement-x,displacement-y]
-db_initial.data = [0.0*cm,0.0001*cm]
-
-# Boundary conditions to be applied to the front of the mesh.
-[pylithapp.timedependent.bc.z_pos]
-
-# We are fixing the 2 (z) degree of freedom.
-bc_dof = [2]
-
-# The group of vertices in the mesh file associated with this boundary
-# condition have the name 'z_pos'.
-label = z_pos
-
-# Assign the label 'Dirichlet BC +z corners' to the database.
-db_initial.label = Dirichlet BC +z edge
-
-# Boundary conditions to be applied to the back of the mesh.
-[pylithapp.timedependent.bc.z_neg]
-
-# We are fixing the 2 (z) degree of freedom.
-bc_dof = [2]
-
-# The group of vertices in the mesh file associated with this boundary
-# condition have the name 'z_neg'.
-label = z_neg
-
-# Assign the label 'Dirichlet BC -z corners' to the database.
-db_initial.label = Dirichlet BC -z edge
-
-# ----------------------------------------------------------------------
-# PETSc
-# ----------------------------------------------------------------------
-[pylithapp.petsc]
-ksp_rtol = 1.0e-18
-snes_rtol = 1.0e-10
-snes_atol = 1.0e-18
-
-# ----------------------------------------------------------------------
-# output
-# ----------------------------------------------------------------------
-# Give basename for VTK output of solution over domain.
-[pylithapp.problem.formulation.output.output.writer]
-filename = output/sheardisp3d.vtk
-time_format = %04.0f
-time_constant = 1.0*year
-
-# Give basename for VTK output of state variables.
-[pylithapp.timedependent.materials.material.output]
-cell_filter = pylith.meshio.CellFilterAvgMesh
-writer.filename = output/sheardisp3d-statevars.vtk
-writer.time_format = %04.0f
-writer.time_constant = 1.0*year

Added: short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_fine_2d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_fine_2d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_fine_2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,105 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_fine_2d.cfg axialdisp_fine_2d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+#
+#
+#  -> ----------------------- <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> ----------------------- <-
+#     ^          ^          ^
+#
+# Axial contraction is applied by pushing on the left and right boundaries
+# in the horizontal direction.
+# Bottom boundary is pinned in the vertical direction.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+# Set bc to an array with 3 boundary conditions: 'x_neg', 'x_pos', 'y_neg'.
+bc = [x_neg,x_pos,y_neg]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+
+# BC for the left (-x) side of the domain.
+[pylithapp.timedependent.bc.x_neg]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_neg'.
+label = x_neg
+
+# Change the spatial database for the Dirichlet BC initial values from
+# ZeroDispDB (which has a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# Assign the label 'Dirichlet BC -x edge' to the database.
+db_initial.label = Dirichlet BC -x edge
+
+# Assign the displacement BC values
+db_initial.values = [displacement-x]
+db_initial.data = [1.00*cm]
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_pos'.
+label = x_pos
+
+# Change the spatial database for the Dirichlet BC initial values from
+# ZeroDispDB (which has a uniform spatial distribution) to UniformDB
+db_initial = spatialdata.spatialdb.UniformDB
+
+# Assign the label 'Dirichlet BC +x edge' to the database.
+db_initial.label = Dirichlet BC +x edge
+
+# Assign the displacement BC values
+db_initial.values = [displacement-x]
+db_initial.data = [-1.00*cm]
+
+# Boundary conditions to be applied to the bottom boundary of the mesh.
+[pylithapp.timedependent.bc.y_neg]
+
+# We are fixing the 1 (y) degree of freedom.
+bc_dof = [1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'y_neg'.
+label = y_neg
+
+# Assign the label 'Dirichlet BC -y corners' to the database.
+db_initial.label = Dirichlet BC -y edge
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/axialdisp_fine_2d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/axialdisp_fine_2d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Added: short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_fine_3d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_fine_3d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_fine_3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,134 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_fine_3d.cfg axialdisp_fine_3d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+#
+#
+#  -> ----------------------- <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> ----------------------- <-
+#     ^          ^          ^
+#
+# Axial contraction is applied by pushing on the left and right boundaries
+# in the horizontal direction.
+# Bottom boundary is pinned in the vertical direction.
+# In this problem, we are simulating plane strain, so all z-displacements
+# are fixed.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+# Set bc to an array with 5 boundary conditions: 'x_neg', 'x_pos', 'y_neg',
+# 'z_neg', 'z_pos'.
+bc = [x_neg,x_pos,y_neg,z_neg,z_pos]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+
+# BC for the left (-x) side of the domain.
+[pylithapp.timedependent.bc.x_neg]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_neg'.
+label = x_neg
+
+# Change the spatial database for the Dirichlet BC initial values from
+# ZeroDispDB (which has a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# Assign the label 'Dirichlet BC -x edge' to the database.
+db_initial.label = Dirichlet BC -x edge
+
+# Assign the displacement BC values
+db_initial.values = [displacement-x]
+db_initial.data = [1.00*cm]
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_pos'.
+label = x_pos
+
+# Change the spatial database for the Dirichlet BC initial values from
+# ZeroDispDB (which has a uniform spatial distribution) to UniformDB
+db_initial = spatialdata.spatialdb.UniformDB
+
+# Assign the label 'Dirichlet BC +x edge' to the database.
+db_initial.label = Dirichlet BC +x edge
+
+# Assign the displacement BC values
+db_initial.values = [displacement-x]
+db_initial.data = [-1.00*cm]
+
+# Boundary conditions to be applied to the bottom boundary of the mesh.
+[pylithapp.timedependent.bc.y_neg]
+
+# We are fixing the 1 (y) degree of freedom.
+bc_dof = [1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'y_neg'.
+label = y_neg
+
+# Assign the label 'Dirichlet BC -y corners' to the database.
+db_initial.label = Dirichlet BC -y edge
+
+# Boundary conditions to be applied to the front of the mesh.
+[pylithapp.timedependent.bc.z_pos]
+
+# We are fixing the 2 (z) degree of freedom.
+bc_dof = [2]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'z_pos'.
+label = z_pos
+
+# Assign the label 'Dirichlet BC +z corners' to the database.
+db_initial.label = Dirichlet BC +z edge
+
+# Boundary conditions to be applied to the back of the mesh.
+[pylithapp.timedependent.bc.z_neg]
+
+# We are fixing the 2 (z) degree of freedom.
+bc_dof = [2]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'z_neg'.
+label = z_neg
+
+# Assign the label 'Dirichlet BC -z corners' to the database.
+db_initial.label = Dirichlet BC -z edge
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/axialdisp_fine_3d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/axialdisp_fine_3d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Copied: short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_twocells_2d.cfg (from rev 19682, short/3D/PyLith/trunk/tests/2d/plasticity/axialdisp2d.cfg)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_twocells_2d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_twocells_2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,105 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_twocells_2d.cfg axialdisp_twocells_2d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+#
+#
+#  -> ----------------------- <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> ----------------------- <-
+#     ^          ^          ^
+#
+# Axial tension is applied by pulling on the left and right boundaries
+# in the horizontal direction.
+# Bottom boundary is pinned in the vertical direction.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+# Set bc to an array with 3 boundary conditions: 'x_neg', 'x_pos', 'y_neg'.
+bc = [x_neg,x_pos,y_neg]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+
+# BC for the left (-x) side of the domain.
+[pylithapp.timedependent.bc.x_neg]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_neg'.
+label = x_neg
+
+# Change the spatial database for the Dirichlet BC initial values from
+# ZeroDispDB (which has a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# Assign the label 'Dirichlet BC -x edge' to the database.
+db_initial.label = Dirichlet BC -x edge
+
+# Assign the displacement BC values
+db_initial.values = [displacement-x]
+db_initial.data = [1.00*cm]
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_pos'.
+label = x_pos
+
+# Change the spatial database for the Dirichlet BC initial values from
+# ZeroDispDB (which has a uniform spatial distribution) to UniformDB
+db_initial = spatialdata.spatialdb.UniformDB
+
+# Assign the label 'Dirichlet BC +x edge' to the database.
+db_initial.label = Dirichlet BC +x edge
+
+# Assign the displacement BC values
+db_initial.values = [displacement-x]
+db_initial.data = [-1.00*cm]
+
+# Boundary conditions to be applied to the bottom boundary of the mesh.
+[pylithapp.timedependent.bc.y_neg]
+
+# We are fixing the 1 (y) degree of freedom.
+bc_dof = [1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'y_neg'.
+label = y_neg
+
+# Assign the label 'Dirichlet BC -y corners' to the database.
+db_initial.label = Dirichlet BC -y edge
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/axialdisp_twocells_2d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/axialdisp_twocells_2d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Copied: short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_twocells_3d.cfg (from rev 19682, short/3D/PyLith/trunk/tests/2d/plasticity/axialdisp3d.cfg)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_twocells_3d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/axialdisp_twocells_3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,134 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_twocells_3d.cfg axialdisp_twocells_3d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+#
+#
+#  -> ----------------------- <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> |                     | <-
+#     |                     |
+#  -> ----------------------- <-
+#     ^          ^          ^
+#
+# Axial contraction is applied by pushing on the left and right boundaries
+# in the horizontal direction.
+# Bottom boundary is pinned in the vertical direction.
+# In this problem, we are simulating plane strain, so all z-displacements
+# are fixed.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+# Set bc to an array with 5 boundary conditions: 'x_neg', 'x_pos', 'y_neg',
+# 'z_neg', 'z_pos'.
+bc = [x_neg,x_pos,y_neg,z_neg,z_pos]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+
+# BC for the left (-x) side of the domain.
+[pylithapp.timedependent.bc.x_neg]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_neg'.
+label = x_neg
+
+# Change the spatial database for the Dirichlet BC initial values from
+# ZeroDispDB (which has a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# Assign the label 'Dirichlet BC -x edge' to the database.
+db_initial.label = Dirichlet BC -x edge
+
+# Assign the displacement BC values
+db_initial.values = [displacement-x]
+db_initial.data = [1.00*cm]
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# Fix the 0 (x) degree of freedom.
+bc_dof = [0]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'x_pos'.
+label = x_pos
+
+# Change the spatial database for the Dirichlet BC initial values from
+# ZeroDispDB (which has a uniform spatial distribution) to UniformDB
+db_initial = spatialdata.spatialdb.UniformDB
+
+# Assign the label 'Dirichlet BC +x edge' to the database.
+db_initial.label = Dirichlet BC +x edge
+
+# Assign the displacement BC values
+db_initial.values = [displacement-x]
+db_initial.data = [-1.00*cm]
+
+# Boundary conditions to be applied to the bottom boundary of the mesh.
+[pylithapp.timedependent.bc.y_neg]
+
+# We are fixing the 1 (y) degree of freedom.
+bc_dof = [1]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'y_neg'.
+label = y_neg
+
+# Assign the label 'Dirichlet BC -y corners' to the database.
+db_initial.label = Dirichlet BC -y edge
+
+# Boundary conditions to be applied to the front of the mesh.
+[pylithapp.timedependent.bc.z_pos]
+
+# We are fixing the 2 (z) degree of freedom.
+bc_dof = [2]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'z_pos'.
+label = z_pos
+
+# Assign the label 'Dirichlet BC +z corners' to the database.
+db_initial.label = Dirichlet BC +z edge
+
+# Boundary conditions to be applied to the back of the mesh.
+[pylithapp.timedependent.bc.z_neg]
+
+# We are fixing the 2 (z) degree of freedom.
+bc_dof = [2]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'z_neg'.
+label = z_neg
+
+# Assign the label 'Dirichlet BC -z corners' to the database.
+db_initial.label = Dirichlet BC -z edge
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/axialdisp_twocells_3d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/axialdisp_twocells_3d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Added: short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_fine_2d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_fine_2d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_fine_2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,34 @@
+# -*- Python -*-
+
+# The settings in this file define the setting specific to a 2D
+# (plane strain) problem.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+reader = pylith.meshio.MeshIOCubit
+
+[pylithapp.mesh_generator.reader]
+filename = ../mesh/plane_quad4_0.2m.exo
+coordsys.space_dim = 2
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# We define this as a 2D problem.
+# All other problem settings are in pylithapp.cfg.
+[pylithapp.timedependent]
+dimension = 2
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+# Define a single material that is DruckerPragerPlaneStrain.
+# Other material settings are defined in pylithapp.cfg.
+[pylithapp.timedependent.materials]
+material = pylith.materials.DruckerPragerPlaneStrain
+# The cell dimension for this material is 2.
+material.quadrature.cell.dimension = 2

Added: short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_fine_3d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_fine_3d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_fine_3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,34 @@
+# -*- Python -*-
+
+# The settings in this file define the setting specific to a 3D
+# problem simulating plane strain.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+reader = pylith.meshio.MeshIOCubit
+
+[pylithapp.mesh_generator.reader]
+filename = ../mesh/box_hex8_0.2m.exo
+coordsys.space_dim = 3
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# We define this as a 3D problem.
+# All other problem settings are in pylithapp.cfg.
+[pylithapp.timedependent]
+dimension = 3
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+# Define a single material that is DruckerPrager3D.
+# Other material settings are defined in pylithapp.cfg.
+[pylithapp.timedependent.materials]
+material = pylith.materials.DruckerPrager3D
+# The cell dimension for this material is 3.
+material.quadrature.cell.dimension = 3

Copied: short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_twocells_2d.cfg (from rev 19624, short/3D/PyLith/trunk/tests/2d/plasticity/planestrain2d.cfg)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_twocells_2d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_twocells_2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,34 @@
+# -*- Python -*-
+
+# The settings in this file define the setting specific to a 2D
+# (plane strain) problem.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+# This component specification means we are using PyLith ASCII format,
+# and we then specify the filename and number of space dimensions for
+# the mesh.
+[pylithapp.mesh_generator.reader]
+filename = ../mesh/twoquad4.mesh
+coordsys.space_dim = 2
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# We define this as a 2D problem.
+# All other problem settings are in pylithapp.cfg.
+[pylithapp.timedependent]
+dimension = 2
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+# Define a single material that is DruckerPragerPlaneStrain.
+# Other material settings are defined in pylithapp.cfg.
+[pylithapp.timedependent.materials]
+material = pylith.materials.DruckerPragerPlaneStrain
+# The cell dimension for this material is 2.
+material.quadrature.cell.dimension = 2

Copied: short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_twocells_3d.cfg (from rev 19624, short/3D/PyLith/trunk/tests/2d/plasticity/planestrain3d.cfg)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_twocells_3d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/planestrain_twocells_3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,34 @@
+# -*- Python -*-
+
+# The settings in this file define the setting specific to a 3D
+# problem simulating plane strain.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+# This component specification means we are using PyLith ASCII format,
+# and we then specify the filename and number of space dimensions for
+# the mesh.
+[pylithapp.mesh_generator.reader]
+filename = ../mesh/twohex8.mesh
+coordsys.space_dim = 3
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# We define this as a 3D problem.
+# All other problem settings are in pylithapp.cfg.
+[pylithapp.timedependent]
+dimension = 3
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+# Define a single material that is DruckerPrager3D.
+# Other material settings are defined in pylithapp.cfg.
+[pylithapp.timedependent.materials]
+material = pylith.materials.DruckerPrager3D
+# The cell dimension for this material is 3.
+material.quadrature.cell.dimension = 3

Added: short/3D/PyLith/trunk/tests/2d/plasticity/static/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/pylithapp.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/pylithapp.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,106 @@
+# -*- Python -*-
+
+# The settings in this file (pylithapp.cfg) will be read automatically
+# by pylith, as long as the file is placed in the run directory.
+
+# The settings in this file will override any settings in:
+# PREFIX/etc/pylithapp.cfg
+# $HOME/.pyre/pylithapp/pylithapp.cfg
+
+# The settings in this file will be overridden by any .cfg file given
+# on the command line or by any command line settings.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+# The settings below turn on journal info for the specified components.
+# If you want less output to stdout, you can turn these off.
+[pylithapp.journal.info]
+timedependent = 1
+implicit = 1
+petsc = 1
+solverlinear = 1
+meshioascii = 1
+homogeneous = 1
+elasticityimplicit = 1
+fiatlagrange = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+# The settings below control the mesh generation (importing mesh info).
+# Turn on debugging output for mesh generation.
+[pylithapp.mesh_generator]
+#debug = 1
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+# This is a time-dependent problem, so we select this as our problem type.
+# We select a total time of 1 year, and a time step size of 0.1 year.
+[pylithapp.timedependent]
+implicit.solver = pylith.problems.SolverNonlinear
+normalizer.length_scale = 1.0*m
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 100.0*year
+dt = 10.0*year
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+# Specify the material information for the problem.
+[pylithapp.timedependent.materials.material]
+
+# We give a label of 'Elastoplastic material' to this material.
+label = Elastoplastic material
+
+# The cells associated with this material are given a material ID of 0
+# in the mesh file.
+id = 1
+
+# We specify a uniform DB and give the properties in this file.
+db_properties = spatialdata.spatialdb.UniformDB
+db_properties.label = DP elastoplastic db
+db_properties.values = [vp,vs,density,friction-angle,cohesion,dilatation-angle]
+db_properties.data = [5291.502622129181*m/s,3000.0*m/s,2700.0*kg/m**3,20.0*degree,1.0*MPa,20.0*degree]
+
+# Set cell type to FIAT Lagrange.
+quadrature.cell = pylith.feassemble.FIATLagrange
+
+# Set cell info and output fields
+output.cell_info_fields = [density,mu,lambda,alpha_yield,beta,alpha_flow]
+output.cell_data_fields = [total_strain,stress,plastic_strain]
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+pc_type = asm
+
+# Change the preconditioner settings.
+sub_pc_factor_shift_type = nonzero
+
+ksp_rtol = 1.0e-10
+ksp_atol = 1.0e-20
+ksp_max_it = 500
+ksp_gmres_restart = 50
+
+ksp_monitor = true
+ksp_view = true
+ksp_converged_reason = true
+
+snes_rtol = 1.0e-10
+snes_atol = 1.0e-16
+snes_max_it = 100
+snes_monitor = true
+snes_ls_monitor = true
+snes_view = true
+snes_converged_reason = true
+snes_max_linear_solve_fail = 4
+
+log_summary = true
+# start_in_debugger = true

Added: short/3D/PyLith/trunk/tests/2d/plasticity/static/run-models.sh
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/run-models.sh	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/run-models.sh	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,8 @@
+pylith planestrain_twocells_2d.cfg axialdisp_twocells_2d.cfg
+pylith planestrain_twocells_3d.cfg axialdisp_twocells_3d.cfg
+pylith planestrain_twocells_2d.cfg sheardisp_twocells_2d.cfg
+pylith planestrain_twocells_3d.cfg sheardisp_twocells_3d.cfg
+pylith planestrain_fine_2d.cfg axialdisp_fine_2d.cfg
+pylith planestrain_fine_3d.cfg axialdisp_fine_3d.cfg
+pylith planestrain_fine_2d.cfg sheardisp_fine_2d.cfg
+pylith planestrain_fine_3d.cfg sheardisp_fine_3d.cfg


Property changes on: short/3D/PyLith/trunk/tests/2d/plasticity/static/run-models.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_fine_2d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_fine_2d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_fine_2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,89 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_fine_2d.cfg sheardisp_fine_2d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+
+# Set bc to an array with 2 boundary conditions: 'x_neg' and 'x_pos'.
+bc = [x_neg,x_pos]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+# Provide information on the boundary conditions.
+
+# Boundary conditions to be applied to the negative x-side of the mesh.
+[pylithapp.timedependent.bc.x_neg]
+
+# We are fixing the 0 (x) and 1 (y) degrees of freedom.
+bc_dof = [0, 1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_neg' in the mesh file.
+label = x_neg
+
+# Change spatial database for initial value from ZeroDispDB (which has
+# a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# We are assigning the label 'Dirichlet BC -x edge' to the database.
+db_initial.label = Dirichlet BC -x edge
+
+# Assign the displacement BC values.
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*cm,-0.0001*cm]
+
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# We are fixing the 0 (x) and 1 (y) degrees of freedom.
+bc_dof = [0, 1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_pos' in the mesh file.
+label = x_pos
+
+# Change spatial database for initial value from ZeroDispDB (which has
+# a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# We are assigning the label 'Dirichlet BC +x edge' to the database.
+db_initial.label = Dirichlet BC +x edge
+
+# Assign the displacement BC values.
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*cm,0.0001*cm]
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+ksp_rtol = 1.0e-18
+snes_rtol = 1.0e-10
+snes_atol = 1.0e-18
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/sheardisp_fine_2d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/sheardisp_fine_2d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Added: short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_fine_3d.cfg
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_fine_3d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_fine_3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,116 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_fine_3d.cfg sheardisp_fine_3d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+
+# Set bc to an array with 4 boundary conditions: 'x_neg', 'x_pos', 'z_neg'
+# and 'z_pos'.
+bc = [x_neg,x_pos,z_neg,z_pos]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+# Provide information on the boundary conditions.
+
+# Boundary conditions to be applied to the negative x-side of the mesh.
+[pylithapp.timedependent.bc.x_neg]
+
+# We are fixing the 0 (x) and 1 (y) degrees of freedom.
+bc_dof = [0, 1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_neg' in the mesh file.
+label = x_neg
+
+# Change spatial database for initial value from ZeroDispDB (which has
+# a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# We are assigning the label 'Dirichlet BC -x edge' to the database.
+db_initial.label = Dirichlet BC -x edge
+
+# Assign the displacement BC values.
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*cm,-0.0001*cm]
+
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# We are fixing the 0 (x) and 1 (y) degrees of freedom.
+bc_dof = [0, 1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_pos' in the mesh file.
+label = x_pos
+
+# Change spatial database for initial value from ZeroDispDB (which has
+# a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# We are assigning the label 'Dirichlet BC +x edge' to the database.
+db_initial.label = Dirichlet BC +x edge
+
+# Assign the displacement BC values.
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*cm,0.0001*cm]
+
+# Boundary conditions to be applied to the front of the mesh.
+[pylithapp.timedependent.bc.z_pos]
+
+# We are fixing the 2 (z) degree of freedom.
+bc_dof = [2]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'z_pos'.
+label = z_pos
+
+# Assign the label 'Dirichlet BC +z corners' to the database.
+db_initial.label = Dirichlet BC +z edge
+
+# Boundary conditions to be applied to the back of the mesh.
+[pylithapp.timedependent.bc.z_neg]
+
+# We are fixing the 2 (z) degree of freedom.
+bc_dof = [2]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'z_neg'.
+label = z_neg
+
+# Assign the label 'Dirichlet BC -z corners' to the database.
+db_initial.label = Dirichlet BC -z edge
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+ksp_rtol = 1.0e-18
+snes_rtol = 1.0e-10
+snes_atol = 1.0e-18
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/sheardisp_fine_3d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/sheardisp_fine_3d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Copied: short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_twocells_2d.cfg (from rev 19682, short/3D/PyLith/trunk/tests/2d/plasticity/sheardisp2d.cfg)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_twocells_2d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_twocells_2d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,89 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_twocells_2d.cfg sheardisp_twocells_2d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+
+# Set bc to an array with 2 boundary conditions: 'x_neg' and 'x_pos'.
+bc = [x_neg,x_pos]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+# Provide information on the boundary conditions.
+
+# Boundary conditions to be applied to the negative x-side of the mesh.
+[pylithapp.timedependent.bc.x_neg]
+
+# We are fixing the 0 (x) and 1 (y) degrees of freedom.
+bc_dof = [0, 1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_neg' in the mesh file.
+label = x_neg
+
+# Change spatial database for initial value from ZeroDispDB (which has
+# a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# We are assigning the label 'Dirichlet BC -x edge' to the database.
+db_initial.label = Dirichlet BC -x edge
+
+# Assign the displacement BC values.
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*cm,-0.0001*cm]
+
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# We are fixing the 0 (x) and 1 (y) degrees of freedom.
+bc_dof = [0, 1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_pos' in the mesh file.
+label = x_pos
+
+# Change spatial database for initial value from ZeroDispDB (which has
+# a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# We are assigning the label 'Dirichlet BC +x edge' to the database.
+db_initial.label = Dirichlet BC +x edge
+
+# Assign the displacement BC values.
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*cm,0.0001*cm]
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+ksp_rtol = 1.0e-18
+snes_rtol = 1.0e-10
+snes_atol = 1.0e-18
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/sheardisp_twocells_2d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/sheardisp_twocells_2d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Copied: short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_twocells_3d.cfg (from rev 19682, short/3D/PyLith/trunk/tests/2d/plasticity/sheardisp3d.cfg)
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_twocells_3d.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/static/sheardisp_twocells_3d.cfg	2012-02-27 00:51:32 UTC (rev 19683)
@@ -0,0 +1,116 @@
+# -*- Python -*-
+
+# To run this problem, type
+# "pylith planestrain_twocells_3d.cfg sheardisp_twocells_3d.cfg".
+# The settings in pylithapp.cfg will be read by default. See the README for
+# how to run other problems in this directory.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+[pylithapp.timedependent]
+
+# Set bc to an array with 4 boundary conditions: 'x_neg', 'x_pos', 'z_neg'
+# and 'z_pos'.
+bc = [x_neg,x_pos,z_neg,z_pos]
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+# Provide information on the boundary conditions.
+
+# Boundary conditions to be applied to the negative x-side of the mesh.
+[pylithapp.timedependent.bc.x_neg]
+
+# We are fixing the 0 (x) and 1 (y) degrees of freedom.
+bc_dof = [0, 1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_neg' in the mesh file.
+label = x_neg
+
+# Change spatial database for initial value from ZeroDispDB (which has
+# a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# We are assigning the label 'Dirichlet BC -x edge' to the database.
+db_initial.label = Dirichlet BC -x edge
+
+# Assign the displacement BC values.
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*cm,-0.0001*cm]
+
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# We are fixing the 0 (x) and 1 (y) degrees of freedom.
+bc_dof = [0, 1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_pos' in the mesh file.
+label = x_pos
+
+# Change spatial database for initial value from ZeroDispDB (which has
+# a uniform zero spatial distribution) to UniformDB.
+db_initial = spatialdata.spatialdb.UniformDB
+
+# We are assigning the label 'Dirichlet BC +x edge' to the database.
+db_initial.label = Dirichlet BC +x edge
+
+# Assign the displacement BC values.
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*cm,0.0001*cm]
+
+# Boundary conditions to be applied to the front of the mesh.
+[pylithapp.timedependent.bc.z_pos]
+
+# We are fixing the 2 (z) degree of freedom.
+bc_dof = [2]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'z_pos'.
+label = z_pos
+
+# Assign the label 'Dirichlet BC +z corners' to the database.
+db_initial.label = Dirichlet BC +z edge
+
+# Boundary conditions to be applied to the back of the mesh.
+[pylithapp.timedependent.bc.z_neg]
+
+# We are fixing the 2 (z) degree of freedom.
+bc_dof = [2]
+
+# The group of vertices in the mesh file associated with this boundary
+# condition have the name 'z_neg'.
+label = z_neg
+
+# Assign the label 'Dirichlet BC -z corners' to the database.
+db_initial.label = Dirichlet BC -z edge
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+ksp_rtol = 1.0e-18
+snes_rtol = 1.0e-10
+snes_atol = 1.0e-18
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = output/sheardisp_twocells_3d.vtk
+time_format = %04.0f
+time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = output/sheardisp_twocells_3d-statevars.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Deleted: short/3D/PyLith/trunk/tests/2d/plasticity/twohex8.mesh
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/twohex8.mesh	2012-02-25 16:39:12 UTC (rev 19682)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/twohex8.mesh	2012-02-27 00:51:32 UTC (rev 19683)
@@ -1,188 +0,0 @@
-// Finite-element mesh with two hex8 cells.
-//
-//
-//  1 ----- 3 ----- 5
-//  |       |       |
-//  |       |       |
-//  |       |       |
-//  0 ----- 2 ----- 4
-//
-// The layer behind (in the z-direction) is numbered similarly, with vertex
-// numbers beginning with 6.
-//
-// Each edge has a length of 2.0.
-//
-mesh = {
-
-  // Dimension associated with topology of mesh.
-  dimension = 3
-
-  // We are using zero-based indexing (default, C style) rather than 
-  // one-based (Fortran style) indexing.
-  use-index-zero = true
-
-  // Vertices in the mesh.
-  vertices = {
-
-    // Dimension of coordinate system for vertices.
-    dimension = 3
-
-    // Number of vertices in mesh.
-    count = 12
-
-    // Coordinates are listed as:
-    // Vertex number (starting from zero), x-coord, y-coord, z-coord
-    // Use coordinate units that are consistent with the other units used.
-    coordinates = {
-             0     -2.0 -1.0 -1.0
-             1     -2.0  1.0 -1.0
-             2      0.0 -1.0 -1.0
-             3      0.0  1.0 -1.0
-             4      2.0 -1.0 -1.0
-             5      2.0  1.0 -1.0
-             6     -2.0 -1.0  1.0
-             7     -2.0  1.0  1.0
-             8      0.0 -1.0  1.0
-             9      0.0  1.0  1.0
-            10      2.0 -1.0  1.0
-            11      2.0  1.0  1.0
-    }
-  }
-
-  // Finite-element cells in the mesh.
-  cells = {
-
-    // There are 2 cells.
-    count = 2
-
-    // These are trilinear hexahedral cells, so there are 8 corners per cell.
-    num-corners = 8
-
-    // List the vertices composing each cell, moving counter-clockwise 
-    // around the cell.
-    // List the information as:
-    // Cell number (starting from zero), vertex 0, vertex 1, vertex 2, vertex 3
-    simplices = {
-             0       0  2  3  1  6  8  9  7
-             1       2  4  5  3  8 10 11  9
-    }
-
-    // List the material ID's associated with each cell.
-    // Different ID's may be used to specify a different material type, or
-    // to use a different spatial database for each material ID.
-    // In this example, cells 0 and 1 both are associated with material ID 0.
-    material-ids = {
-             0   0
-             1   0
-    }
-  }
-
-  // Here we list different groups (cells or vertices) that we want to 
-  // associate with a particular name.
-
-  // This group of vertices may be used to define a fault.
-  // There are 4 vertices corresponding to indices 2, 8, 9 and 3.
-  group = {
-    name = fault
-    type = vertices
-    count = 4
-    indices = {
-      2
-      3
-      8
-      9
-    }
-  }
-
-  // This group of vertices may be used to specify boundary conditions.
-  // There are 4 vertices corresponding to indices 0, 1, 6, and 7.
-  group = {
-    name = x_neg
-    type = vertices
-    count = 4
-    indices = {
-      0
-      1
-      6
-      7
-    }
-  }
-
-  // This group of vertices may be used to specify boundary conditions.
-  // There are 4 vertices corresponding to indices 4, 5, 10, and 11.
-  group = {
-    name = x_pos
-    type = vertices
-    count = 4
-    indices = {
-      4
-      5
-     10
-     11
-    }
-  }
-
-  // This group of vertices may be used to specify boundary conditions.
-  // There are 6 vertices corresponding to indices 0, 2, 4, 6, 8, and 10.
-  group = {
-    name = y_neg
-    type = vertices
-    count = 6
-    indices = {
-      0
-      2
-      4
-      6
-      8
-     10
-    }
-  }
-
-  // This group of vertices may be used to specify boundary conditions.
-  // There are 6 vertices corresponding to indices 1, 3, 5, 7, 9, and 11.
-  group = {
-    name = y_pos
-    type = vertices
-    count = 6
-    indices = {
-      1
-      3
-      5
-      7
-      9
-     11
-    }
-  }
-
-  // This group of vertices may be used to specify boundary conditions.
-  // There are 6 vertices, corresponding to indices 6, 7, 8, 9, 10, and 11.
-  group = {
-    name = z_neg
-    type = vertices
-    count = 6
-    indices = {
-      6
-      7
-      8
-      9
-     10
-     11
-    }
-  }
-
-  // This group of vertices may be used to specify boundary conditions.
-  // There are 6 vertices, corresponding to indices 0, 1, 2, 3, 4, and 5.
-  group = {
-    name = z_pos
-    type = vertices
-    count = 6
-    indices = {
-      0
-      1
-      2
-      3
-      4
-      5
-    }
-  }
-}

Deleted: short/3D/PyLith/trunk/tests/2d/plasticity/twoquad4.mesh
===================================================================
--- short/3D/PyLith/trunk/tests/2d/plasticity/twoquad4.mesh	2012-02-25 16:39:12 UTC (rev 19682)
+++ short/3D/PyLith/trunk/tests/2d/plasticity/twoquad4.mesh	2012-02-27 00:51:32 UTC (rev 19683)
@@ -1,133 +0,0 @@
-// Finite-element mesh with two quad4 cells.
-//
-//
-//  1 ----- 3 ----- 5
-//  |       |       |
-//  |       |       |
-//  |       |       |
-//  0 ----- 2 ----- 4
-//
-// Each edge has a length of 2.0.
-//
-mesh = {
-
-  // Dimenion associated with topology of mesh.
-  dimension = 2
-
-  // We are using zero-based indexing (default, C style) rather than 
-  // one-based (Fortran style) indexing.
-  use-index-zero = true
-
-  // Vertices in the mesh.
-  vertices = {
-
-    // Dimension of coordinate system for vertices.
-    dimension = 2
-
-    // Number of vertices in mesh.
-    count = 6
-
-    // Coordinates are listed as:
-    // Vertex number (starting from zero), x-coord, y-coord
-    // Use coordinate units that are consistent with the other units used.
-    coordinates = {
-             0     -2.0 -1.0
-             1     -2.0  1.0
-             2      0.0 -1.0
-             3      0.0  1.0
-             4      2.0 -1.0
-             5      2.0  1.0
-    }
-  }
-
-  // Finite-element cells in the mesh.
-  cells = {
-
-    // There are 2 cells.
-    count = 2
-
-    // These are bilinear quadrilateral cells, so there are 4 corners per cell.
-    num-corners = 4
-
-    // List the vertices composing each cell, moving counter-clockwise 
-    // around the cell.
-    // List the information as:
-    // Cell number (starting from zero), vertex 0, vertex 1, vertex 2, vertex 3
-    simplices = {
-             0       0  2  3  1
-             1       4  5  3  2
-    }
-
-    // List the material ID's associated with each cell.
-    // Different ID's may be used to specify a different material type, or
-    // to use a different spatial database for each material ID.
-    // In this example, cells 0 and 1 both are associated with material ID 0.
-    material-ids = {
-             0   0
-             1   0
-    }
-  }
-
-  // Here we list different groups (cells or vertices) that we want to 
-  // associate with a particular name.
-
-  // This group of vertices may be used to define a fault.
-  // There are 2 vertices corresponding to indices 2 and 3.
-  group = {
-    name = fault
-    type = vertices
-    count = 2
-    indices = {
-      2
-      3
-    }
-  }
-
-  // This group of vertices may be used to specify boundary conditions.
-  // There are 3 vertices corresponding to indices 0, 2, and 4.
-  group = {
-    name = y_neg
-    type = vertices
-    count = 3
-    indices = {
-      0
-      2
-      4
-    }
-  }
-
-  // This group of vertices may be used to specify boundary conditions.
-  // There are 2 vertices corresponding to indices 0 and 1.
-  group = {
-    name = x_neg
-    type = vertices
-    count = 2
-    indices = {
-      0
-      1
-    }
-  }
-
-  // This group of vertices may be used to specify boundary conditions.
-  // There are 2 vertices corresponding to indices 4 and 5.
-  group = {
-    name = x_pos
-    type = vertices
-    count = 2
-    indices = {
-      4
-      5
-    }
-  }
-
-  // This group of vertices may be used to specify boundary conditions.
-  // There is 1 vertex corresponding to index 3.
-  group = {
-    name = y_pos
-    type = vertices
-    count = 1
-    indices = {
-      3
-    }
-  }
-}



More information about the CIG-COMMITS mailing list