[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