[cig-commits] r21936 - short/3D/PyLith/trunk/unittests/libtests/feassemble

brad at geodynamics.org brad at geodynamics.org
Thu Apr 25 09:34:43 PDT 2013


Author: brad
Date: 2013-04-25 09:34:43 -0700 (Thu, 25 Apr 2013)
New Revision: 21936

Added:
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitCases.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitCases.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformCases.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformCases.hh
Removed:
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.hh
Modified:
   short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc
Log:
Code cleanup. Consolidated test objects into *Cases files.

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am	2013-04-25 16:34:43 UTC (rev 21936)
@@ -57,34 +57,12 @@
 	TestElasticityExplicitTri3.cc \
 	TestElasticityExplicitTet4.cc \
 	TestElasticityImplicit.cc \
-	TestElasticityImplicit1DLinear.cc \
-	TestElasticityImplicit1DQuadratic.cc \
-	TestElasticityImplicit2DLinear.cc \
-	TestElasticityImplicit2DQuadratic.cc \
-	TestElasticityImplicit3DLinear.cc \
-	TestElasticityImplicit3DQuadratic.cc \
-	TestElasticityImplicitGrav1DLinear.cc \
-	TestElasticityImplicitGrav1DQuadratic.cc \
-	TestElasticityImplicitGrav2DLinear.cc \
-	TestElasticityImplicitGrav2DQuadratic.cc \
-	TestElasticityImplicitGrav3DLinear.cc \
-	TestElasticityImplicitGrav3DQuadratic.cc \
+	TestElasticityImplicitCases.cc \
 	TestIntegratorElasticityLgDeform.cc \
 	TestElasticityExplicitLgDeform.cc \
 	TestElasticityExplicitLgDeformCases.cc \
 	TestElasticityImplicitLgDeform.cc \
-	TestElasticityImplicitLgDeform1DLinear.cc \
-	TestElasticityImplicitLgDeform1DQuadratic.cc \
-	TestElasticityImplicitLgDeform2DLinear.cc \
-	TestElasticityImplicitLgDeform2DQuadratic.cc \
-	TestElasticityImplicitLgDeform3DLinear.cc \
-	TestElasticityImplicitLgDeform3DQuadratic.cc \
-	TestElasticityImplicitLgDeformGrav1DLinear.cc \
-	TestElasticityImplicitLgDeformGrav1DQuadratic.cc \
-	TestElasticityImplicitLgDeformGrav2DLinear.cc \
-	TestElasticityImplicitLgDeformGrav2DQuadratic.cc \
-	TestElasticityImplicitLgDeformGrav3DLinear.cc \
-	TestElasticityImplicitLgDeformGrav3DQuadratic.cc \
+	TestElasticityImplicitLgDeformCases.cc \
 	test_feassemble.cc
 
 
@@ -96,34 +74,12 @@
 	TestElasticityExplicitTri3.hh \
 	TestElasticityExplicitTet4.hh \
 	TestElasticityImplicit.hh \
-	TestElasticityImplicit1DLinear.hh \
-	TestElasticityImplicit1DQuadratic.hh \
-	TestElasticityImplicit2DLinear.hh \
-	TestElasticityImplicit2DQuadratic.hh \
-	TestElasticityImplicit3DLinear.hh \
-	TestElasticityImplicit3DQuadratic.hh \
-	TestElasticityImplicitGrav1DLinear.hh \
-	TestElasticityImplicitGrav1DQuadratic.hh \
-	TestElasticityImplicitGrav2DLinear.hh \
-	TestElasticityImplicitGrav2DQuadratic.hh \
-	TestElasticityImplicitGrav3DLinear.hh \
-	TestElasticityImplicitGrav3DQuadratic.hh \
+	TestElasticityImplicitCases.hh \
 	TestIntegratorElasticityLgDeform.hh \
 	TestElasticityExplicitLgDeform.hh \
 	TestElasticityExplicitLgDeformCases.hh \
 	TestElasticityImplicitLgDeform.hh \
-	TestElasticityImplicitLgDeform1DLinear.hh \
-	TestElasticityImplicitLgDeform1DQuadratic.hh \
-	TestElasticityImplicitLgDeform2DLinear.hh \
-	TestElasticityImplicitLgDeform2DQuadratic.hh \
-	TestElasticityImplicitLgDeform3DLinear.hh \
-	TestElasticityImplicitLgDeform3DQuadratic.hh \
-	TestElasticityImplicitLgDeformGrav1DLinear.hh \
-	TestElasticityImplicitLgDeformGrav1DQuadratic.hh \
-	TestElasticityImplicitLgDeformGrav2DLinear.hh \
-	TestElasticityImplicitLgDeformGrav2DQuadratic.hh \
-	TestElasticityImplicitLgDeformGrav3DLinear.hh \
-	TestElasticityImplicitLgDeformGrav3DQuadratic.hh \
+	TestElasticityImplicitLgDeformCases.hh \
 	TestGeometryPoint1D.hh \
 	TestGeometryPoint2D.hh \
 	TestGeometryPoint3D.hh \

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -28,6 +28,8 @@
 #include "pylith/feassemble/Quadrature.hh" // USES Quadrature
 #include "pylith/topology/Mesh.hh" // USES Mesh
 #include "pylith/topology/SubMesh.hh" // USES SubMesh
+#include "pylith/topology/Stratum.hh" // USES Stratum
+#include "pylith/topology/VisitorMesh.hh" // USES VecVisitorMesh
 #include "pylith/topology/SolutionFields.hh" // USES SolutionFields
 #include "pylith/topology/Jacobian.hh" // USES Jacobian
 
@@ -43,18 +45,18 @@
 CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit );
 
 // ----------------------------------------------------------------------
-typedef pylith::topology::Mesh::SieveMesh SieveMesh;
-typedef pylith::topology::Mesh::RealSection RealSection;
-
-// ----------------------------------------------------------------------
 // Setup testing data.
 void
 pylith::feassemble::TestElasticityImplicit::setUp(void)
 { // setUp
+  PYLITH_METHOD_BEGIN;
+
   _quadrature = new Quadrature<topology::Mesh>();
   _data = 0;
   _material = 0;
   _gravityField = 0;
+
+  PYLITH_METHOD_END;
 } // setUp
 
 // ----------------------------------------------------------------------
@@ -62,10 +64,14 @@
 void
 pylith::feassemble::TestElasticityImplicit::tearDown(void)
 { // tearDown
+  PYLITH_METHOD_BEGIN;
+
   delete _data; _data = 0;
   delete _quadrature; _quadrature = 0;
   delete _material; _material = 0;
   delete _gravityField; _gravityField = 0;
+
+  PYLITH_METHOD_END;
 } // tearDown
 
 // ----------------------------------------------------------------------
@@ -73,7 +79,11 @@
 void
 pylith::feassemble::TestElasticityImplicit::testConstructor(void)
 { // testConstructor
+  PYLITH_METHOD_BEGIN;
+
   ElasticityImplicit integrator;
+
+  PYLITH_METHOD_END;
 } // testConstructor
 
 // ----------------------------------------------------------------------
@@ -81,6 +91,8 @@
 void
 pylith::feassemble::TestElasticityImplicit::testTimeStep(void)
 { // testTimeStep
+  PYLITH_METHOD_BEGIN;
+
   ElasticityImplicit integrator;
 
   const PylithScalar dt1 = 2.0;
@@ -89,6 +101,8 @@
   integrator.timeStep(dt1);
   CPPUNIT_ASSERT_EQUAL(dt1, integrator._dtm1);
   CPPUNIT_ASSERT_EQUAL(dt1, integrator._dt);
+
+  PYLITH_METHOD_END;
 } // testTimeStep
 
 // ----------------------------------------------------------------------
@@ -96,6 +110,8 @@
 void
 pylith::feassemble::TestElasticityImplicit::testMaterial(void)
 { // testMaterial
+  PYLITH_METHOD_BEGIN;
+
   ElasticityImplicit integrator;
 
   materials::ElasticIsotropic3D material;
@@ -110,6 +126,8 @@
   const PylithScalar dt = 2.0;
   integrator.timeStep(dt);
   CPPUNIT_ASSERT_EQUAL(dt, integrator._material->timeStep());
+
+  PYLITH_METHOD_END;
 } // testMaterial
 
 // ----------------------------------------------------------------------
@@ -117,6 +135,8 @@
 void
 pylith::feassemble::TestElasticityImplicit::testNeedNewJacobian(void)
 { // testNeedNewJacobian
+  PYLITH_METHOD_BEGIN;
+
   ElasticityImplicit integrator;
 
   materials::ElasticIsotropic3D material;
@@ -124,6 +144,8 @@
   CPPUNIT_ASSERT_EQUAL(true, integrator.needNewJacobian());
   integrator._needNewJacobian = false;
   CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());  
+
+  PYLITH_METHOD_END;
 } // testNeedNewJacobian
 
 // ----------------------------------------------------------------------
@@ -131,13 +153,16 @@
 void 
 pylith::feassemble::TestElasticityImplicit::testInitialize(void)
 { // testInitialize
-  CPPUNIT_ASSERT(0 != _data);
+  PYLITH_METHOD_BEGIN;
 
+  CPPUNIT_ASSERT(_data);
+
   topology::Mesh mesh;
   ElasticityImplicit integrator;
   topology::SolutionFields fields(mesh);
   _initialize(&mesh, &integrator, &fields);
 
+  PYLITH_METHOD_END;
 } // testInitialize
 
 // ----------------------------------------------------------------------
@@ -145,8 +170,10 @@
 void
 pylith::feassemble::TestElasticityImplicit::testIntegrateResidual(void)
 { // testIntegrateResidual
-  CPPUNIT_ASSERT(0 != _data);
+  PYLITH_METHOD_BEGIN;
 
+  CPPUNIT_ASSERT(_data);
+
   topology::Mesh mesh;
   ElasticityImplicit integrator;
   topology::SolutionFields fields(mesh);
@@ -157,26 +184,41 @@
   integrator.integrateResidual(residual, t, &fields);
 
   const PylithScalar* valsE = _data->valsResidual;
-  const int sizeE = _data->spaceDim * _data->numVertices;
 
-  PetscSection   residualSection = residual.petscSection();
-  Vec            residualVec     = residual.localVector();
-  PetscScalar   *vals;
-  PetscInt       size;
-  PetscErrorCode err;
+#if 0 // DEBUGGING
+  residual.view("RESIDUAL");
+  std::cout << "EXPECTED RESIDUAL" << std::endl;
+  const int size = _data->numVertices * _data->spaceDim;
+  for (int i=0; i < size; ++i)
+    std::cout << "  " << valsE[i] << std::endl;
+#endif
 
-  CPPUNIT_ASSERT(residualSection);
-  err = PetscSectionGetStorageSize(residualSection, &size);CHECK_PETSC_ERROR(err);
-  err = VecGetArray(residualVec, &vals);CHECK_PETSC_ERROR(err);
-  CPPUNIT_ASSERT_EQUAL(sizeE, size);
+  const PetscDM dmMesh = mesh.dmMesh();
+  topology::Stratum verticesStratum(dmMesh, topology::Stratum::DEPTH, 0);
+  const PetscInt vStart = verticesStratum.begin();
+  const PetscInt vEnd = verticesStratum.end();
+  CPPUNIT_ASSERT_EQUAL(_data->numVertices, verticesStratum.size());
 
-  const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 4.0e-05;
-  for (int i=0; i < size; ++i)
-    if (fabs(valsE[i]) > 1.0)
-      CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
-    else
-      CPPUNIT_ASSERT_DOUBLES_EQUAL(valsE[i], vals[i], tolerance);
-  err = VecRestoreArray(residualVec, &vals);CHECK_PETSC_ERROR(err);
+  topology::VecVisitorMesh residualVisitor(residual);
+  const PetscScalar* residualArray = residualVisitor.localArray();CPPUNIT_ASSERT(residualArray);
+
+  const PylithScalar accScale = _data->lengthScale / pow(_data->timeScale, 2);
+  const PylithScalar residualScale = _data->densityScale * accScale*pow(_data->lengthScale, _data->spaceDim);
+
+  const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
+  for (PetscInt v = vStart, index = 0; v < vEnd; ++v) {
+    const PetscInt off = residualVisitor.sectionOffset(v);
+    CPPUNIT_ASSERT_EQUAL(_data->spaceDim, residualVisitor.sectionDof(v));
+
+    for (int d=0; d < _data->spaceDim; ++d, ++index) {
+      if (fabs(valsE[index]) > 1.0)
+	CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, residualArray[off+d]/valsE[index]*residualScale, tolerance);
+      else
+	CPPUNIT_ASSERT_DOUBLES_EQUAL(valsE[index], residualArray[off+d]*residualScale, tolerance);
+    } // for
+  } // for
+
+  PYLITH_METHOD_END;
 } // testIntegrateResidual
 
 // ----------------------------------------------------------------------
@@ -184,8 +226,10 @@
 void
 pylith::feassemble::TestElasticityImplicit::testIntegrateJacobian(void)
 { // testIntegrateJacobian
-  CPPUNIT_ASSERT(0 != _data);
+  PYLITH_METHOD_BEGIN;
 
+  CPPUNIT_ASSERT(_data);
+
   topology::Mesh mesh;
   ElasticityImplicit integrator;
   topology::SolutionFields fields(mesh);
@@ -195,10 +239,8 @@
   topology::Jacobian jacobian(fields.solution());
 
   const PylithScalar t = 1.0;
-  //mesh->getSieve()->setDebug(10);
   integrator.integrateJacobian(&jacobian, t, &fields);
   CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
-  //mesh->getSieve()->setDebug(0);
   jacobian.assemble("final_assembly");
 
   const PylithScalar* valsE = _data->valsJacobian;
@@ -224,16 +266,21 @@
   for (int iCol=0; iCol < ncols; ++iCol)
     cols[iCol] = iCol;
   MatGetValues(jDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
+
   const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-04;
+  const PylithScalar jacobianScale = _data->densityScale / pow(_data->timeScale, 2) * pow(_data->lengthScale, _data->spaceDim);
+
   for (int iRow=0; iRow < nrows; ++iRow)
     for (int iCol=0; iCol < ncols; ++iCol) {
       const int index = ncols*iRow+iCol;
       if (fabs(valsE[index]) > 1.0)
-	CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[index]/valsE[index], tolerance);
+	CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[index]/valsE[index]*jacobianScale, tolerance);
       else
-	CPPUNIT_ASSERT_DOUBLES_EQUAL(valsE[index], vals[index], tolerance);
+	CPPUNIT_ASSERT_DOUBLES_EQUAL(valsE[index], vals[index]*jacobianScale, tolerance);
     } // for
   MatDestroy(&jDense);
+
+  PYLITH_METHOD_END;
 } // testIntegrateJacobian
 
 // ----------------------------------------------------------------------
@@ -241,8 +288,10 @@
 void 
 pylith::feassemble::TestElasticityImplicit::testUpdateStateVars(void)
 { // testUpdateStateVars
-  CPPUNIT_ASSERT(0 != _data);
+  PYLITH_METHOD_BEGIN;
 
+  CPPUNIT_ASSERT(_data);
+
   topology::Mesh mesh;
   ElasticityImplicit integrator;
   topology::SolutionFields fields(mesh);
@@ -250,6 +299,8 @@
 
   const PylithScalar t = 1.0;
   integrator.updateStateVars(t, &fields);
+
+  PYLITH_METHOD_END;
 } // testUpdateStateVars
 
 // ----------------------------------------------------------------------
@@ -257,6 +308,7 @@
 void
 pylith::feassemble::TestElasticityImplicit::testStableTimeStep(void)
 { // testStableTimeStep
+  PYLITH_METHOD_BEGIN;
 
   topology::Mesh mesh;
   ElasticityImplicit integrator;
@@ -265,80 +317,46 @@
 
   const PylithScalar stableTimeStep = integrator.stableTimeStep(mesh);
   CPPUNIT_ASSERT_EQUAL(pylith::PYLITH_MAXSCALAR, stableTimeStep);
+
+  PYLITH_METHOD_END;
 } // testStableTimeStep
 
+// ----------------------------------------------------------------------
 extern PetscErrorCode DMPlexBuildFromCellList_Private(DM dm, PetscInt numCells, PetscInt numVertices, PetscInt numCorners, const int cells[]);
 extern PetscErrorCode DMPlexBuildCoordinates_Private(DM dm, PetscInt spaceDim, PetscInt numCells, PetscInt numVertices, const double vertexCoords[]);
 
-// ----------------------------------------------------------------------
 // Initialize elasticity integrator.
 void
-pylith::feassemble::TestElasticityImplicit::_initialize(
-					 topology::Mesh* mesh,
-					 ElasticityImplicit* const integrator,
-					 topology::SolutionFields* fields)
+pylith::feassemble::TestElasticityImplicit::_initialize(topology::Mesh* mesh,
+							ElasticityImplicit* const integrator,
+							topology::SolutionFields* fields)
 { // _initialize
-  CPPUNIT_ASSERT(0 != mesh);
-  CPPUNIT_ASSERT(0 != integrator);
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _material);
+  PYLITH_METHOD_BEGIN;
 
+  CPPUNIT_ASSERT(mesh);
+  CPPUNIT_ASSERT(integrator);
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_material);
+
+  const int spaceDim = _data->spaceDim;
+
   // Setup mesh
-  spatialdata::geocoords::CSCart cs;
-  cs.setSpaceDim(_data->spaceDim);
-  cs.initialize();
-  mesh->coordsys(&cs);
-  mesh->createSieveMesh(_data->cellDim);
-  const ALE::Obj<SieveMesh>& sieveMesh = mesh->sieveMesh();
-  CPPUNIT_ASSERT(!sieveMesh.isNull());
-  ALE::Obj<SieveMesh::sieve_type> sieve = 
-    new SieveMesh::sieve_type(mesh->comm());
-  CPPUNIT_ASSERT(!sieve.isNull());
-
   mesh->createDMMesh(_data->cellDim);
-  DM dmMesh = mesh->dmMesh();
-  CPPUNIT_ASSERT(dmMesh);
+  PetscDM dmMesh = mesh->dmMesh();CPPUNIT_ASSERT(dmMesh);
 
   // Cells and vertices
   const bool interpolate = false;
-  ALE::Obj<SieveFlexMesh::sieve_type> s = 
-    new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
-  
-  ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, 
-					      _data->cellDim, _data->numCells,
-                                              const_cast<int*>(_data->cells), 
-					      _data->numVertices,
-                                              interpolate, _data->numBasis);
-  std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
-  ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
-  sieveMesh->setSieve(sieve);
-  sieveMesh->stratify();
-  ALE::SieveBuilder<SieveMesh>::buildCoordinates(sieveMesh, _data->spaceDim, 
-						 _data->vertices);
   PetscErrorCode err;
-
   err = DMPlexBuildFromCellList_Private(dmMesh, _data->numCells, _data->numVertices, _data->numBasis, _data->cells);CHECK_PETSC_ERROR(err);
   err = DMPlexBuildCoordinates_Private(dmMesh, _data->spaceDim, _data->numCells, _data->numVertices, _data->vertices);CHECK_PETSC_ERROR(err);
 
   // Material ids
-  const ALE::Obj<SieveMesh::label_sequence>& cells = 
-    sieveMesh->heightStratum(0);
-  CPPUNIT_ASSERT(!cells.isNull());
-  const ALE::Obj<SieveMesh::label_type>& labelMaterials = 
-    sieveMesh->createLabel("material-id");
-  CPPUNIT_ASSERT(!labelMaterials.isNull());
-  int i = 0;
-  for(SieveMesh::label_sequence::iterator e_iter=cells->begin(); 
-      e_iter != cells->end();
-      ++e_iter)
-    sieveMesh->setValue(labelMaterials, *e_iter, _data->matId);
   PetscInt cStart, cEnd;
-
   err = DMPlexGetHeightStratum(dmMesh, 0, &cStart, &cEnd);CHECK_PETSC_ERROR(err);
   for(PetscInt c = cStart; c < cEnd; ++c) {
     err = DMPlexSetLabelValue(dmMesh, "material-id", c, _data->matId);CHECK_PETSC_ERROR(err);
-  }
+  } // for
 
   // Setup quadrature
   _quadrature->initialize(_data->basis, _data->numQuadPts, _data->numBasis,
@@ -348,14 +366,30 @@
 			  _data->quadWts, _data->numQuadPts,
 			  _data->spaceDim);
 
+  // Setup coordinate system.
+  spatialdata::geocoords::CSCart cs;
+  cs.setSpaceDim(spaceDim);
+  cs.initialize();
+  mesh->coordsys(&cs);
+
+  // Setup scales.
+  const PylithScalar timeScale = _data->timeScale;
+  const PylithScalar lengthScale = _data->lengthScale;
+  const PylithScalar velScale = lengthScale / timeScale;
+  const PylithScalar accScale = lengthScale / (timeScale*timeScale);
+  spatialdata::units::Nondimensional normalizer;
+  normalizer.lengthScale(_data->lengthScale);
+  normalizer.pressureScale(_data->pressureScale);
+  normalizer.densityScale(_data->densityScale);
+  normalizer.timeScale(_data->timeScale);
+  mesh->nondimensionalize(normalizer);
+
   // Setup material
   spatialdata::spatialdb::SimpleIOAscii iohandler;
   iohandler.filename(_data->matDBFilename);
   spatialdata::spatialdb::SimpleDB dbProperties;
   dbProperties.ioHandler(&iohandler);
   
-  spatialdata::units::Nondimensional normalizer;
-
   _material->id(_data->matId);
   _material->label(_data->matLabel);
   _material->dbProperties(&dbProperties);
@@ -363,12 +397,12 @@
 
   integrator->quadrature(_quadrature);
   integrator->gravityField(_gravityField);
-  integrator->timeStep(_data->dt);
+  integrator->timeStep(_data->dt / _data->timeScale);
   integrator->material(_material);
   integrator->initialize(*mesh);
 
   // Setup fields
-  CPPUNIT_ASSERT(0 != fields);
+  CPPUNIT_ASSERT(fields);
   fields->add("residual", "residual");
   fields->add("disp(t)", "displacement");
   fields->add("dispIncr(t->t+dt)", "displacement_increment");
@@ -380,18 +414,30 @@
   residual.zero();
   fields->copyLayout("residual");
 
-  const int offset = _data->numCells;
-  PetscSection dispTSectionP     = fields->get("disp(t)").petscSection();
-  Vec          dispTVec          = fields->get("disp(t)").localVector();
-  CPPUNIT_ASSERT(dispTSectionP);CPPUNIT_ASSERT(dispTVec);
-  PetscSection dispTIncrSectionP = fields->get("dispIncr(t->t+dt)").petscSection();
-  Vec          dispTIncrVec      = fields->get("dispIncr(t->t+dt)").localVector();
-  CPPUNIT_ASSERT(dispTIncrSectionP);CPPUNIT_ASSERT(dispTIncrVec);
-  for(int iVertex=0; iVertex < _data->numVertices; ++iVertex) {
-    err = DMPlexVecSetClosure(dmMesh, dispTSectionP, dispTVec, iVertex+offset, &_data->fieldT[iVertex*_data->spaceDim], INSERT_ALL_VALUES);CHECK_PETSC_ERROR(err);
-    err = DMPlexVecSetClosure(dmMesh, dispTIncrSectionP, dispTIncrVec, iVertex+offset, &_data->fieldTIncr[iVertex*_data->spaceDim], INSERT_ALL_VALUES);CHECK_PETSC_ERROR(err);
+  topology::VecVisitorMesh dispTVisitor(fields->get("disp(t)"));
+  PetscScalar* dispTArray = dispTVisitor.localArray();CPPUNIT_ASSERT(dispTArray);
+
+  topology::VecVisitorMesh dispTIncrVisitor(fields->get("dispIncr(t->t+dt)"));
+  PetscScalar* dispTIncrArray = dispTIncrVisitor.localArray();CPPUNIT_ASSERT(dispTIncrArray);
+
+  topology::Stratum verticesStratum(dmMesh, topology::Stratum::DEPTH, 0);
+  const PetscInt vStart = verticesStratum.begin();
+  const PetscInt vEnd = verticesStratum.end();
+  
+  for(PetscInt v = vStart, iVertex = 0; v < vEnd; ++v, ++iVertex) {
+    const PetscInt dtoff = dispTVisitor.sectionOffset(v);
+    CPPUNIT_ASSERT_EQUAL(spaceDim, dispTVisitor.sectionDof(v));
+
+    const PetscInt dioff = dispTIncrVisitor.sectionOffset(v);
+    CPPUNIT_ASSERT_EQUAL(spaceDim, dispTIncrVisitor.sectionDof(v));
+
+    for(int iDim=0; iDim < spaceDim; ++iDim) {
+      dispTArray[dtoff+iDim] = _data->fieldT[iVertex*spaceDim+iDim] / lengthScale;
+      dispTIncrArray[dioff+iDim] = _data->fieldTIncr[iVertex*spaceDim+iDim] / lengthScale;
+    } // for
   } // for
 
+  PYLITH_METHOD_END;
 } // _initialize
 
 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicit1DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitData1DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
-#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit1DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicit1DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitData1DLinear();
-  _gravityField = 0;
-  GeometryLine1D geometry;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  _quadrature->refGeometry(&geometry);
-  _material = new materials::ElasticStrain1D;
-
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,66 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 1-D linear cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicit1dlinear_hh)
-#define pylith_feassemble_testelasticityimplicit1dlinear_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicit1DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicit1DLinear :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit1DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicit1DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-  CPPUNIT_TEST( testStableTimeStep );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicit1DLinear
-
-#endif // pylith_feassemble_testelasticityimplicit1dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicit1DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitData1DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
-#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit1DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicit1DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitData1DQuadratic();
-  _gravityField = 0;
-  GeometryLine1D geometry;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  _quadrature->refGeometry(&geometry);
-  _material = new materials::ElasticStrain1D;
-
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,66 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 1-D quadratic cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicit1dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicit1dquadratic_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicit1DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicit1DQuadratic :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit1DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicit1DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-  CPPUNIT_TEST( testStableTimeStep );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicit1DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicit1dquadratic_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicit2DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitData2DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTri2D.hh" // USES GeometryTri2D
-#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit2DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicit2DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitData2DLinear();
-  _gravityField = 0;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  GeometryTri2D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  _material = new materials::ElasticPlaneStrain;
-  CPPUNIT_ASSERT(0 != _material);
-
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,66 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 1-D linear cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicit2dlinear_hh)
-#define pylith_feassemble_testelasticityimplicit2dlinear_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicit2DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicit2DLinear :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit2DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicit2DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-  CPPUNIT_TEST( testStableTimeStep );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicit2DLinear
-
-#endif // pylith_feassemble_testelasticityimplicit2dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicit2DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitData2DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTri2D.hh" // USES GeometryTri2D
-#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit2DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicit2DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitData2DQuadratic();
-  _gravityField = 0;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  GeometryTri2D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  _material = new materials::ElasticPlaneStrain;
-  CPPUNIT_ASSERT(0 != _material);
-
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,66 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 2-D quadratic cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicit2dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicit2dquadratic_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicit2DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicit2DQuadratic :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit2DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicit2DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-  CPPUNIT_TEST( testStableTimeStep );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicit2DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicit2dquadratic_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicit3DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitData3DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTet3D.hh" // USES GeometryTet3D
-#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit3DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicit3DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitData3DLinear();
-  _gravityField = 0;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  GeometryTet3D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  _material = new materials::ElasticIsotropic3D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,66 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 1-D linear cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicit3dlinear_hh)
-#define pylith_feassemble_testelasticityimplicit3dlinear_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicit3DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicit3DLinear :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit3DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicit3DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-  CPPUNIT_TEST( testStableTimeStep );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicit3DLinear
-
-#endif // pylith_feassemble_testelasticityimplicit3dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicit3DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitData3DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTet3D.hh" // USES GeometryTet3D
-#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit3DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicit3DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitData3DQuadratic();
-  _gravityField = 0;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  GeometryTet3D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  _material = new materials::ElasticIsotropic3D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,66 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 3-D quadratic cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicit3dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicit3dquadratic_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicit3DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicit3DQuadratic :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit3DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicit3DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-  CPPUNIT_TEST( testStableTimeStep );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicit3DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicit3dquadratic_hh
-
-
-// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitCases.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitCases.cc	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitCases.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -0,0 +1,408 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2012 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestElasticityImplicitCases.hh" // Implementation of class methods
+
+
+#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
+#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
+
+#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
+#include "pylith/feassemble/GeometryTri2D.hh" // USES GeometryTri2D
+#include "pylith/feassemble/GeometryTet3D.hh" // USES GeometryTet3D
+
+#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
+#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
+#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
+
+#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitData1DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit1DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit1DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitData1DLinear();
+  _gravityField = 0;
+  GeometryLine1D geometry;
+  CPPUNIT_ASSERT(_quadrature);
+  _quadrature->refGeometry(&geometry);
+  _material = new materials::ElasticStrain1D;
+
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitData1DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit1DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit1DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitData1DQuadratic();
+  _gravityField = 0;
+  GeometryLine1D geometry;
+  CPPUNIT_ASSERT(_quadrature);
+  _quadrature->refGeometry(&geometry);
+  _material = new materials::ElasticStrain1D;
+
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitData2DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit2DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit2DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitData2DLinear();
+  _gravityField = 0;
+  CPPUNIT_ASSERT(_quadrature);
+  GeometryTri2D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  _material = new materials::ElasticPlaneStrain;
+  CPPUNIT_ASSERT(_material);
+
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitData2DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit2DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit2DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitData2DQuadratic();
+  _gravityField = 0;
+  CPPUNIT_ASSERT(_quadrature);
+  GeometryTri2D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  _material = new materials::ElasticPlaneStrain;
+  CPPUNIT_ASSERT(_material);
+
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitData3DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit3DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit3DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitData3DLinear();
+  _gravityField = 0;
+  CPPUNIT_ASSERT(_quadrature);
+  GeometryTet3D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  _material = new materials::ElasticIsotropic3D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit3DQuadratic );
+#include "data/ElasticityImplicitData3DQuadratic.hh"
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit3DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitData3DQuadratic();
+  _gravityField = 0;
+  CPPUNIT_ASSERT(_quadrature);
+  GeometryTet3D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  _material = new materials::ElasticIsotropic3D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitGravData1DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav1DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitGrav1DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitGravData1DLinear();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryLine1D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  const PylithScalar gravityDir[3] = { -1.0, 0.0, 0.0};
+  _gravityField->gravAcceleration(g);
+  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
+
+  _material = new materials::ElasticStrain1D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitGravData1DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav1DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitGrav1DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitGravData1DQuadratic();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryLine1D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  const PylithScalar gravityDir[3] = { -1.0, 0.0, 0.0};
+  _gravityField->gravAcceleration(g);
+  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
+
+  _material = new materials::ElasticStrain1D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitGravData2DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav2DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitGrav2DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitGravData2DLinear();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryTri2D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  const PylithScalar gravityDir[3] = { 0.0, -1.0, 0.0 };
+  _gravityField->gravAcceleration(g);
+  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
+
+  _material = new materials::ElasticPlaneStrain;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitGravData2DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav2DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitGrav2DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitGravData2DQuadratic();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryTri2D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  const PylithScalar gravityDir[3] = { 0.0, -1.0, 0.0 };
+  _gravityField->gravAcceleration(g);
+  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
+
+  _material = new materials::ElasticPlaneStrain;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitGravData3DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav3DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitGrav3DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitGravData3DLinear();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryTet3D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  _gravityField->gravAcceleration(g);
+
+  _material = new materials::ElasticIsotropic3D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitGravData3DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav3DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitGrav3DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+
+  TestElasticityImplicit::setUp();
+
+  _data = new ElasticityImplicitGravData3DQuadratic();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryTet3D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  _gravityField->gravAcceleration(g);
+
+  _material = new materials::ElasticIsotropic3D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitCases.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitCases.hh	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitCases.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -0,0 +1,366 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2012 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestElasticityImplicitCases.hh
+ *
+ * @brief C++ TestElasticityImplicit object
+ *
+ * C++ unit testing for ElasticityImplicit.
+ */
+
+#if !defined(pylith_feassemble_testelasticityimplicitcases_hh)
+#define pylith_feassemble_testelasticityimplicitcases_hh
+
+#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestElasticityImplicit1DLinear;
+    class TestElasticityImplicit1DQuadratic;
+    class TestElasticityImplicit2DLinear;
+    class TestElasticityImplicit2DQuadratic;
+    class TestElasticityImplicit3DLinear;
+    class TestElasticityImplicit3DQuadratic;
+
+    class TestElasticityImplicitGrav1DLinear;
+    class TestElasticityImplicitGrav1DQuadratic;
+    class TestElasticityImplicitGrav2DLinear;
+    class TestElasticityImplicitGrav2DQuadratic;
+    class TestElasticityImplicitGrav3DLinear;
+    class TestElasticityImplicitGrav3DQuadratic;
+  } // feassemble
+} // pylith
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/1-D linear cells.
+class pylith::feassemble::TestElasticityImplicit1DLinear :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicit1DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicit1DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicit1DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/1-D quadratic cells.
+class pylith::feassemble::TestElasticityImplicit1DQuadratic :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicit1DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicit1DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicit1DQuadratic
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/2-D linear cells.
+class pylith::feassemble::TestElasticityImplicit2DLinear :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicit2DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicit2DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicit2DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/2-D quadratic cells.
+class pylith::feassemble::TestElasticityImplicit2DQuadratic :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicit2DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicit2DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicit2DQuadratic
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/3-D linear cells.
+class pylith::feassemble::TestElasticityImplicit3DLinear :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicit3DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicit3DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicit3DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/3-D quadratic cells.
+class pylith::feassemble::TestElasticityImplicit3DQuadratic :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicit3DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicit3DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicit3DQuadratic
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/1-D linear cells and gravity.
+class pylith::feassemble::TestElasticityImplicitGrav1DLinear :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicitGrav1DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav1DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitGrav1DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/1-D quadratic cells and gravity.
+class pylith::feassemble::TestElasticityImplicitGrav1DQuadratic :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicitGrav1DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav1DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitGrav1DQuadratic
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/2-D linear cells and gravity.
+class pylith::feassemble::TestElasticityImplicitGrav2DLinear :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicitGrav2DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav2DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitGrav2DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/2-D quadratic cells and gravity.
+class pylith::feassemble::TestElasticityImplicitGrav2DQuadratic :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicitGrav2DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav2DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitGrav2DQuadratic
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/3-D linear cells and gravity.
+class pylith::feassemble::TestElasticityImplicitGrav3DLinear :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicitGrav3DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav3DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitGrav3DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicit w/3-D quadratic cells and gravity.
+class pylith::feassemble::TestElasticityImplicitGrav3DQuadratic :
+  public TestElasticityImplicit
+{ // class TestElasticityImplicitGrav3DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav3DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+  CPPUNIT_TEST( testStableTimeStep );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitGrav3DQuadratic
+
+
+#endif // pylith_feassemble_testelasticityimplicitcases_hh
+
+
+// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitGrav1DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitGravData1DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
-#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav1DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitGrav1DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitGravData1DLinear();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryLine1D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
-  _gravityField->gravAcceleration(g);
-  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
-
-  _material = new materials::ElasticStrain1D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitGrav1DLinear.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 1-D linear cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitgrav1dlinear_hh)
-#define pylith_feassemble_testelasticityimplicitgrav1dlinear_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitGrav1DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicitGrav1DLinear :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit1DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav1DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitGrav1DLinear
-
-#endif // pylith_feassemble_testelasticityimplicitgrav1dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitGrav1DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitGravData1DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
-#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav1DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitGrav1DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitGravData1DQuadratic();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryLine1D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
-  _gravityField->gravAcceleration(g);
-  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
-
-  _material = new materials::ElasticStrain1D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitGrav1DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 1-D quadratic cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitgrav1dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicitgrav1dquadratic_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitGrav1DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicitGrav1DQuadratic :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit1DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav1DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitGrav1DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicitgrav1dquadratic_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitGrav2DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitGravData2DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTri2D.hh" // USES GeometryTri2D
-#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav2DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitGrav2DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitGravData2DLinear();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryTri2D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
-  _gravityField->gravAcceleration(g);
-  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
-
-  _material = new materials::ElasticPlaneStrain;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitGrav2DLinear.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 2-D linear cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitgrav2dlinear_hh)
-#define pylith_feassemble_testelasticityimplicitgrav2dlinear_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitGrav2DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicitGrav2DLinear :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit2DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav2DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitGrav2DLinear
-
-#endif // pylith_feassemble_testelasticityimplicitgrav2dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitGrav2DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitGravData2DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTri2D.hh" // USES GeometryTri2D
-#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav2DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitGrav2DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitGravData2DQuadratic();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryTri2D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
-  _gravityField->gravAcceleration(g);
-  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
-
-  _material = new materials::ElasticPlaneStrain;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitGrav2DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 2-D quadratic cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitgrav2dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicitgrav2dquadratic_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitGrav2DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicitGrav2DQuadratic :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit2DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav2DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitGrav2DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicitgrav2dquadratic_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitGrav3DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitGravData3DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/Quadrature3D.hh" // USES Quadrature3D
-#include "pylith/feassemble/GeometryTet3D.hh" // USES GeometryTet3D
-#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav3DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitGrav3DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitGravData3DLinear();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryTet3D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  _gravityField->gravAcceleration(g);
-
-  _material = new materials::ElasticIsotropic3D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitGrav3DLinear.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 1-D linear cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitgrav3dlinear_hh)
-#define pylith_feassemble_testelasticityimplicitgrav3dlinear_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitGrav3DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicitGrav3DLinear :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit3DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav3DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitGrav3DLinear
-
-#endif // pylith_feassemble_testelasticityimplicitgrav3dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitGrav3DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitGravData3DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/Quadrature3D.hh" // USES Quadrature3D
-#include "pylith/feassemble/GeometryTet3D.hh" // USES GeometryTet3D
-#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitGrav3DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitGrav3DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicit::setUp();
-
-  _data = new ElasticityImplicitGravData3DQuadratic();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryTet3D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  _gravityField->gravAcceleration(g);
-
-  _material = new materials::ElasticIsotropic3D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitGrav3DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicit object
- *
- * C++ unit testing for ElasticityImplicit with 1-D quadratic cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitgrav3dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicitgrav3dquadratic_hh
-
-#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitGrav3DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicit
-class pylith::feassemble::TestElasticityImplicitGrav3DQuadratic :
-  public TestElasticityImplicit
-{ // class TestElasticityImplicit3DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitGrav3DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitGrav3DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicitgrav3dquadratic_hh
-
-
-// End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -27,6 +27,8 @@
 #include "pylith/feassemble/Quadrature.hh" // USES Quadrature
 #include "pylith/topology/Mesh.hh" // USES Mesh
 #include "pylith/topology/SubMesh.hh" // USES SubMesh
+#include "pylith/topology/Stratum.hh" // USES Stratum
+#include "pylith/topology/VisitorMesh.hh" // USES VecVisitorMesh
 #include "pylith/topology/SolutionFields.hh" // USES SolutionFields
 #include "pylith/topology/Jacobian.hh" // USES Jacobian
 
@@ -42,18 +44,18 @@
 CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform );
 
 // ----------------------------------------------------------------------
-typedef pylith::topology::Mesh::SieveMesh SieveMesh;
-typedef pylith::topology::Mesh::RealSection RealSection;
-
-// ----------------------------------------------------------------------
 // Setup testing data.
 void
 pylith::feassemble::TestElasticityImplicitLgDeform::setUp(void)
 { // setUp
+  PYLITH_METHOD_BEGIN;
+
   _quadrature = new Quadrature<topology::Mesh>();
   _data = 0;
   _material = 0;
   _gravityField = 0;
+
+  PYLITH_METHOD_END;
 } // setUp
 
 // ----------------------------------------------------------------------
@@ -61,10 +63,14 @@
 void
 pylith::feassemble::TestElasticityImplicitLgDeform::tearDown(void)
 { // tearDown
+  PYLITH_METHOD_BEGIN;
+
   delete _data; _data = 0;
   delete _quadrature; _quadrature = 0;
   delete _material; _material = 0;
   delete _gravityField; _gravityField = 0;
+
+  PYLITH_METHOD_END;
 } // tearDown
 
 // ----------------------------------------------------------------------
@@ -72,7 +78,11 @@
 void
 pylith::feassemble::TestElasticityImplicitLgDeform::testConstructor(void)
 { // testConstructor
+  PYLITH_METHOD_BEGIN;
+
   ElasticityImplicitLgDeform integrator;
+
+  PYLITH_METHOD_END;
 } // testConstructor
 
 // ----------------------------------------------------------------------
@@ -80,13 +90,16 @@
 void 
 pylith::feassemble::TestElasticityImplicitLgDeform::testInitialize(void)
 { // testInitialize
-  CPPUNIT_ASSERT(0 != _data);
+  PYLITH_METHOD_BEGIN;
 
+  CPPUNIT_ASSERT(_data);
+
   topology::Mesh mesh;
   ElasticityImplicitLgDeform integrator;
   topology::SolutionFields fields(mesh);
   _initialize(&mesh, &integrator, &fields);
 
+  PYLITH_METHOD_END;
 } // testInitialize
 
 // ----------------------------------------------------------------------
@@ -94,8 +107,10 @@
 void
 pylith::feassemble::TestElasticityImplicitLgDeform::testIntegrateResidual(void)
 { // testIntegrateResidual
-  CPPUNIT_ASSERT(0 != _data);
+  PYLITH_METHOD_BEGIN;
 
+  CPPUNIT_ASSERT(_data);
+
   topology::Mesh mesh;
   ElasticityImplicitLgDeform integrator;
   topology::SolutionFields fields(mesh);
@@ -106,33 +121,41 @@
   integrator.integrateResidual(residual, t, &fields);
 
   const PylithScalar* valsE = _data->valsResidual;
-  const int sizeE = _data->spaceDim * _data->numVertices;
 
 #if 0 // DEBUGGING
   residual.view("RESIDUAL");
-  std::cout << "RESIDUAL EXPECTED\n";
-  for (int i=0; i < sizeE; ++i)
-    std::cout << "  " << valsE[i] << "\n";
+  std::cout << "EXPECTED RESIDUAL" << std::endl;
+  const int size = _data->numVertices * _data->spaceDim;
+  for (int i=0; i < size; ++i)
+    std::cout << "  " << valsE[i] << std::endl;
 #endif
 
-  PetscSection   residualSection = residual.petscSection();
-  Vec            residualVec     = residual.localVector();
-  PetscScalar   *vals;
-  PetscInt       size;
-  PetscErrorCode err;
+  const PetscDM dmMesh = mesh.dmMesh();
+  topology::Stratum verticesStratum(dmMesh, topology::Stratum::DEPTH, 0);
+  const PetscInt vStart = verticesStratum.begin();
+  const PetscInt vEnd = verticesStratum.end();
+  CPPUNIT_ASSERT_EQUAL(_data->numVertices, verticesStratum.size());
 
-  CPPUNIT_ASSERT(residualSection);
-  err = PetscSectionGetStorageSize(residualSection, &size);CHECK_PETSC_ERROR(err);
-  err = VecGetArray(residualVec, &vals);CHECK_PETSC_ERROR(err);
-  CPPUNIT_ASSERT_EQUAL(sizeE, size);
+  topology::VecVisitorMesh residualVisitor(residual);
+  const PetscScalar* residualArray = residualVisitor.localArray();CPPUNIT_ASSERT(residualArray);
 
-  const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-04;
-  for (int i=0; i < size; ++i)
-    if (fabs(valsE[i]) > 1.0)
-      CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
-    else
-      CPPUNIT_ASSERT_DOUBLES_EQUAL(valsE[i], vals[i], tolerance);
-  err = VecRestoreArray(residualVec, &vals);CHECK_PETSC_ERROR(err);
+  const PylithScalar accScale = _data->lengthScale / pow(_data->timeScale, 2);
+  const PylithScalar residualScale = _data->densityScale * accScale*pow(_data->lengthScale, _data->spaceDim);
+
+  const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 1.0e-05;
+  for (PetscInt v = vStart, index = 0; v < vEnd; ++v) {
+    const PetscInt off = residualVisitor.sectionOffset(v);
+    CPPUNIT_ASSERT_EQUAL(_data->spaceDim, residualVisitor.sectionDof(v));
+
+    for (int d=0; d < _data->spaceDim; ++d, ++index) {
+      if (fabs(valsE[index]) > 1.0)
+	CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, residualArray[off+d]/valsE[index]*residualScale, tolerance);
+      else
+	CPPUNIT_ASSERT_DOUBLES_EQUAL(valsE[index], residualArray[off+d]*residualScale, tolerance);
+    } // for
+  } // for
+
+  PYLITH_METHOD_END;
 } // testIntegrateResidual
 
 // ----------------------------------------------------------------------
@@ -140,8 +163,10 @@
 void
 pylith::feassemble::TestElasticityImplicitLgDeform::testIntegrateJacobian(void)
 { // testIntegrateJacobian
-  CPPUNIT_ASSERT(0 != _data);
+  PYLITH_METHOD_BEGIN;
 
+  CPPUNIT_ASSERT(_data);
+
   topology::Mesh mesh;
   ElasticityImplicitLgDeform integrator;
   topology::SolutionFields fields(mesh);
@@ -178,7 +203,10 @@
   for (int iCol=0; iCol < ncols; ++iCol)
     cols[iCol] = iCol;
   MatGetValues(jDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
+
   const PylithScalar tolerance = (sizeof(double) == sizeof(PylithScalar)) ? 1.0e-06 : 2.0e-05;
+  const PylithScalar jacobianScale = _data->densityScale / pow(_data->timeScale, 2) * pow(_data->lengthScale, _data->spaceDim);
+
   for (int iRow=0; iRow < nrows; ++iRow)
     for (int iCol=0; iCol < ncols; ++iCol) {
       const int index = ncols*iRow+iCol;
@@ -186,11 +214,13 @@
       if (fabs(valE) > 1.0) {
 	// Adjust tolerance based on magnitude of expected value compared to typical Jacobian values of 1.0e+11
 	const PylithScalar toleranceAdj = (fabs(valE) < 1.0e+10) ? tolerance*1.0e+11/fabs(valE) : tolerance;
-	CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[index]/valE, toleranceAdj);
+	CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[index]/valE*jacobianScale, toleranceAdj);
       } else
-	CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[index], tolerance);
+	CPPUNIT_ASSERT_DOUBLES_EQUAL(valE, vals[index]*jacobianScale, tolerance);
     } // for
   MatDestroy(&jDense);
+
+  PYLITH_METHOD_END;
 } // testIntegrateJacobian
 
 // ----------------------------------------------------------------------
@@ -198,8 +228,10 @@
 void 
 pylith::feassemble::TestElasticityImplicitLgDeform::testUpdateStateVars(void)
 { // testUpdateStateVars
-  CPPUNIT_ASSERT(0 != _data);
+  PYLITH_METHOD_BEGIN;
 
+  CPPUNIT_ASSERT(_data);
+
   topology::Mesh mesh;
   ElasticityImplicitLgDeform integrator;
   topology::SolutionFields fields(mesh);
@@ -207,80 +239,45 @@
 
   const PylithScalar t = 1.0;
   integrator.updateStateVars(t, &fields);
+
+  PYLITH_METHOD_END;
 } // testUpdateStateVars
 
+// ----------------------------------------------------------------------
 extern PetscErrorCode DMPlexBuildFromCellList_Private(DM dm, PetscInt numCells, PetscInt numVertices, PetscInt numCorners, const int cells[]);
 extern PetscErrorCode DMPlexBuildCoordinates_Private(DM dm, PetscInt spaceDim, PetscInt numCells, PetscInt numVertices, const double vertexCoords[]);
 
-// ----------------------------------------------------------------------
 // Initialize elasticity integrator.
 void
-pylith::feassemble::TestElasticityImplicitLgDeform::_initialize(
-					 topology::Mesh* mesh,
-					 ElasticityImplicitLgDeform* const integrator,
-					 topology::SolutionFields* fields)
+pylith::feassemble::TestElasticityImplicitLgDeform::_initialize(topology::Mesh* mesh,
+								ElasticityImplicitLgDeform* const integrator,
+								topology::SolutionFields* fields)
 { // _initialize
-  CPPUNIT_ASSERT(0 != mesh);
-  CPPUNIT_ASSERT(0 != integrator);
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _material);
+  PYLITH_METHOD_BEGIN;
 
+  CPPUNIT_ASSERT(mesh);
+  CPPUNIT_ASSERT(integrator);
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_material);
+
+  const int spaceDim = _data->spaceDim;
+
   // Setup mesh
-  spatialdata::geocoords::CSCart cs;
-  cs.setSpaceDim(_data->spaceDim);
-  cs.initialize();
-  mesh->coordsys(&cs);
-  mesh->createSieveMesh(_data->cellDim);
-  const ALE::Obj<SieveMesh>& sieveMesh = mesh->sieveMesh();
-  CPPUNIT_ASSERT(!sieveMesh.isNull());
-  ALE::Obj<SieveMesh::sieve_type> sieve = 
-    new SieveMesh::sieve_type(mesh->comm());
-  CPPUNIT_ASSERT(!sieve.isNull());
-
   mesh->createDMMesh(_data->cellDim);
-  DM dmMesh = mesh->dmMesh();
-  CPPUNIT_ASSERT(dmMesh);
+  PetscDM dmMesh = mesh->dmMesh();CPPUNIT_ASSERT(dmMesh);
 
   // Cells and vertices
-  const bool interpolate = false;
-  ALE::Obj<SieveFlexMesh::sieve_type> s = 
-    new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
-  
-  ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, 
-					      _data->cellDim, _data->numCells,
-                                              const_cast<int*>(_data->cells), 
-					      _data->numVertices,
-                                              interpolate, _data->numBasis);
-  std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
-  ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
-  sieveMesh->setSieve(sieve);
-  sieveMesh->stratify();
-  ALE::SieveBuilder<SieveMesh>::buildCoordinates(sieveMesh, _data->spaceDim, 
-						 _data->vertices);
   PetscErrorCode err;
-
   err = DMPlexBuildFromCellList_Private(dmMesh, _data->numCells, _data->numVertices, _data->numBasis, _data->cells);CHECK_PETSC_ERROR(err);
   err = DMPlexBuildCoordinates_Private(dmMesh, _data->spaceDim, _data->numCells, _data->numVertices, _data->vertices);CHECK_PETSC_ERROR(err);
 
   // Material ids
-  const ALE::Obj<SieveMesh::label_sequence>& cells = 
-    sieveMesh->heightStratum(0);
-  CPPUNIT_ASSERT(!cells.isNull());
-  const ALE::Obj<SieveMesh::label_type>& labelMaterials = 
-    sieveMesh->createLabel("material-id");
-  CPPUNIT_ASSERT(!labelMaterials.isNull());
-  int i = 0;
-  for(SieveMesh::label_sequence::iterator e_iter=cells->begin(); 
-      e_iter != cells->end();
-      ++e_iter)
-    sieveMesh->setValue(labelMaterials, *e_iter, _data->matId);
   PetscInt cStart, cEnd;
-
   err = DMPlexGetHeightStratum(dmMesh, 0, &cStart, &cEnd);CHECK_PETSC_ERROR(err);
   for(PetscInt c = cStart; c < cEnd; ++c) {
     err = DMPlexSetLabelValue(dmMesh, "material-id", c, _data->matId);CHECK_PETSC_ERROR(err);
-  }
+  } // for
 
   // Setup quadrature
   _quadrature->initialize(_data->basis, _data->numQuadPts, _data->numBasis,
@@ -290,14 +287,30 @@
 			  _data->quadWts, _data->numQuadPts,
 			  _data->spaceDim);
 
+  // Setup coordinate system.
+  spatialdata::geocoords::CSCart cs;
+  cs.setSpaceDim(spaceDim);
+  cs.initialize();
+  mesh->coordsys(&cs);
+
+  // Setup scales.
+  const PylithScalar timeScale = _data->timeScale;
+  const PylithScalar lengthScale = _data->lengthScale;
+  const PylithScalar velScale = lengthScale / timeScale;
+  const PylithScalar accScale = lengthScale / (timeScale*timeScale);
+  spatialdata::units::Nondimensional normalizer;
+  normalizer.lengthScale(_data->lengthScale);
+  normalizer.pressureScale(_data->pressureScale);
+  normalizer.densityScale(_data->densityScale);
+  normalizer.timeScale(_data->timeScale);
+  mesh->nondimensionalize(normalizer);
+
   // Setup material
   spatialdata::spatialdb::SimpleIOAscii iohandler;
   iohandler.filename(_data->matDBFilename);
   spatialdata::spatialdb::SimpleDB dbProperties;
   dbProperties.ioHandler(&iohandler);
   
-  spatialdata::units::Nondimensional normalizer;
-
   _material->id(_data->matId);
   _material->label(_data->matLabel);
   _material->dbProperties(&dbProperties);
@@ -305,12 +318,12 @@
 
   integrator->quadrature(_quadrature);
   integrator->gravityField(_gravityField);
-  integrator->timeStep(_data->dt);
+  integrator->timeStep(_data->dt / _data->timeScale);
   integrator->material(_material);
   integrator->initialize(*mesh);
 
   // Setup fields
-  CPPUNIT_ASSERT(0 != fields);
+  CPPUNIT_ASSERT(fields);
   fields->add("residual", "residual");
   fields->add("disp(t)", "displacement");
   fields->add("dispIncr(t->t+dt)", "displacement_increment");
@@ -322,17 +335,30 @@
   residual.zero();
   fields->copyLayout("residual");
 
-  const int offset = _data->numCells;
-  PetscSection dispTSectionP     = fields->get("disp(t)").petscSection();
-  Vec          dispTVec          = fields->get("disp(t)").localVector();
-  CPPUNIT_ASSERT(dispTSectionP);CPPUNIT_ASSERT(dispTVec);
-  PetscSection dispTIncrSectionP = fields->get("dispIncr(t->t+dt)").petscSection();
-  Vec          dispTIncrVec      = fields->get("dispIncr(t->t+dt)").localVector();
-  CPPUNIT_ASSERT(dispTIncrSectionP);CPPUNIT_ASSERT(dispTIncrVec);
-  for(int iVertex=0; iVertex < _data->numVertices; ++iVertex) {
-    err = DMPlexVecSetClosure(dmMesh, dispTSectionP, dispTVec, iVertex+offset, &_data->fieldT[iVertex*_data->spaceDim], INSERT_ALL_VALUES);CHECK_PETSC_ERROR(err);
-    err = DMPlexVecSetClosure(dmMesh, dispTIncrSectionP, dispTIncrVec, iVertex+offset, &_data->fieldTIncr[iVertex*_data->spaceDim], INSERT_ALL_VALUES);CHECK_PETSC_ERROR(err);
+  topology::VecVisitorMesh dispTVisitor(fields->get("disp(t)"));
+  PetscScalar* dispTArray = dispTVisitor.localArray();CPPUNIT_ASSERT(dispTArray);
+
+  topology::VecVisitorMesh dispTIncrVisitor(fields->get("dispIncr(t->t+dt)"));
+  PetscScalar* dispTIncrArray = dispTIncrVisitor.localArray();CPPUNIT_ASSERT(dispTIncrArray);
+
+  topology::Stratum verticesStratum(dmMesh, topology::Stratum::DEPTH, 0);
+  const PetscInt vStart = verticesStratum.begin();
+  const PetscInt vEnd = verticesStratum.end();
+  
+  for(PetscInt v = vStart, iVertex = 0; v < vEnd; ++v, ++iVertex) {
+    const PetscInt dtoff = dispTVisitor.sectionOffset(v);
+    CPPUNIT_ASSERT_EQUAL(spaceDim, dispTVisitor.sectionDof(v));
+
+    const PetscInt dioff = dispTIncrVisitor.sectionOffset(v);
+    CPPUNIT_ASSERT_EQUAL(spaceDim, dispTIncrVisitor.sectionDof(v));
+
+    for(int iDim=0; iDim < spaceDim; ++iDim) {
+      dispTArray[dtoff+iDim] = _data->fieldT[iVertex*spaceDim+iDim] / lengthScale;
+      dispTIncrArray[dioff+iDim] = _data->fieldTIncr[iVertex*spaceDim+iDim] / lengthScale;
+    } // for
   } // for
+
+  PYLITH_METHOD_END;
 } // _initialize
 
 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeform1DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformData1DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
-#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform1DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeform1DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformData1DLinear();
-  _gravityField = 0;
-  GeometryLine1D geometry;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  _quadrature->refGeometry(&geometry);
-  _material = new materials::ElasticStrain1D;
-
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DLinear.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 1-D linear cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeform1dlinear_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeform1dlinear_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeform1DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeform1DLinear :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform1DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform1DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeform1DLinear
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeform1dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,53 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeform1DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformData1DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
-#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform1DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeform1DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformData1DQuadratic();
-  _gravityField = 0;
-  GeometryLine1D geometry;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  _quadrature->refGeometry(&geometry);
-  _material = new materials::ElasticStrain1D;
-
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeform1DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 1-D quadratic cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeform1dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeform1dquadratic_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeform1DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeform1DQuadratic :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform1DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform1DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeform1DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeform1dquadratic_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeform2DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformData2DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTri2D.hh" // USES GeometryTri2D
-#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform2DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeform2DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformData2DLinear();
-  _gravityField = 0;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  GeometryTri2D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  _material = new materials::ElasticPlaneStrain;
-  CPPUNIT_ASSERT(0 != _material);
-
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DLinear.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 2-D linear cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeform2dlinear_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeform2dlinear_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeform2DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeform2DLinear :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform2DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform2DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeform2DLinear
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeform2dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeform2DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformData2DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTri2D.hh" // USES GeometryTri2D
-#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform2DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeform2DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformData2DQuadratic();
-  _gravityField = 0;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  GeometryTri2D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  _material = new materials::ElasticPlaneStrain;
-  CPPUNIT_ASSERT(0 != _material);
-
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeform2DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 2-D quadratic cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeform2dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeform2dquadratic_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeform2DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeform2DQuadratic :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform2DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform2DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeform2DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeform2dquadratic_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeform3DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformData3DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTet3D.hh" // USES GeometryTet3D
-#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform3DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeform3DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformData3DLinear();
-  _gravityField = 0;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  GeometryTet3D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  _material = new materials::ElasticIsotropic3D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DLinear.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 1-D linear cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeform3dlinear_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeform3dlinear_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeform3DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeform3DLinear :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform3DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform3DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeform3DLinear
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeform3dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeform3DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformData3DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTet3D.hh" // USES GeometryTet3D
-#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform3DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeform3DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformData3DQuadratic();
-  _gravityField = 0;
-  CPPUNIT_ASSERT(0 != _quadrature);
-  GeometryTet3D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  _material = new materials::ElasticIsotropic3D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeform3DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 1-D quadratic cells.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeform3dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeform3dquadratic_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeform3DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeform3DQuadratic :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform3DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform3DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeform3DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeform3dquadratic_hh
-
-
-// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformCases.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformCases.cc	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformCases.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -0,0 +1,407 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2012 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestElasticityImplicitLgDeformCases.hh" // Implementation of class methods
+
+#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
+#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
+
+#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
+#include "pylith/feassemble/GeometryTri2D.hh" // USES GeometryTri2D
+#include "pylith/feassemble/GeometryTet3D.hh" // USES GeometryTet3D
+
+#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
+#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
+#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
+
+#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformData1DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform1DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeform1DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformData1DLinear();
+  _gravityField = 0;
+  GeometryLine1D geometry;
+  CPPUNIT_ASSERT(_quadrature);
+  _quadrature->refGeometry(&geometry);
+  _material = new materials::ElasticStrain1D;
+
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformData1DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform1DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeform1DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformData1DQuadratic();
+  _gravityField = 0;
+  GeometryLine1D geometry;
+  CPPUNIT_ASSERT(_quadrature);
+  _quadrature->refGeometry(&geometry);
+  _material = new materials::ElasticStrain1D;
+
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformData2DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform2DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeform2DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformData2DLinear();
+  _gravityField = 0;
+  CPPUNIT_ASSERT(_quadrature);
+  GeometryTri2D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  _material = new materials::ElasticPlaneStrain;
+  CPPUNIT_ASSERT(_material);
+
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformData2DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform2DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeform2DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformData2DQuadratic();
+  _gravityField = 0;
+  CPPUNIT_ASSERT(_quadrature);
+  GeometryTri2D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  _material = new materials::ElasticPlaneStrain;
+  CPPUNIT_ASSERT(_material);
+
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformData3DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform3DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeform3DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformData3DLinear();
+  _gravityField = 0;
+  CPPUNIT_ASSERT(_quadrature);
+  GeometryTet3D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  _material = new materials::ElasticIsotropic3D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformData3DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeform3DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeform3DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformData3DQuadratic();
+  _gravityField = 0;
+  CPPUNIT_ASSERT(_quadrature);
+  GeometryTet3D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  _material = new materials::ElasticIsotropic3D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformGravData1DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav1DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeformGrav1DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformGravData1DLinear();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryLine1D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  const PylithScalar gravityDir[3] = { -1.0, 0.0, 0.0};
+  _gravityField->gravAcceleration(g);
+  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
+
+  _material = new materials::ElasticStrain1D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformGravData1DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav1DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeformGrav1DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformGravData1DQuadratic();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryLine1D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  const PylithScalar gravityDir[3] = { -1.0, 0.0, 0.0};
+  _gravityField->gravAcceleration(g);
+  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
+
+  _material = new materials::ElasticStrain1D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformGravData2DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav2DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeformGrav2DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformGravData2DLinear();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryTri2D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  const PylithScalar gravityDir[3] = { 0.0, -1.0, 0.0 };
+  _gravityField->gravAcceleration(g);
+  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
+
+  _material = new materials::ElasticPlaneStrain;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformGravData2DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav2DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeformGrav2DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformGravData2DQuadratic();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryTri2D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  const PylithScalar gravityDir[3] = { 0.0, -1.0, 0.0 };
+  _gravityField->gravAcceleration(g);
+  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
+
+  _material = new materials::ElasticPlaneStrain;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformGravData3DLinear.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav3DLinear );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeformGrav3DLinear::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformGravData3DLinear();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryTet3D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  _gravityField->gravAcceleration(g);
+
+  _material = new materials::ElasticIsotropic3D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// ----------------------------------------------------------------------
+#include "data/ElasticityImplicitLgDeformGravData3DQuadratic.hh"
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav3DQuadratic );
+
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicitLgDeformGrav3DQuadratic::setUp(void)
+{ // setUp
+  PYLITH_METHOD_BEGIN;
+  
+  TestElasticityImplicitLgDeform::setUp();
+
+  _data = new ElasticityImplicitLgDeformGravData3DQuadratic();
+  _gravityField = new spatialdata::spatialdb::GravityField();
+  CPPUNIT_ASSERT(_quadrature);
+  CPPUNIT_ASSERT(_gravityField);
+  GeometryTet3D geometry;
+  _quadrature->refGeometry(&geometry);
+
+  const PylithScalar accScale = _data->lengthScale / (_data->timeScale * _data->timeScale);
+  const PylithScalar g = 1.0e8 / accScale;
+  _gravityField->gravAcceleration(g);
+
+  _material = new materials::ElasticIsotropic3D;
+  CPPUNIT_ASSERT(_material);
+  
+  CPPUNIT_ASSERT(_data);
+  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"), std::string(_data->matType));
+
+  PYLITH_METHOD_END;
+} // setUp
+
+
+// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformCases.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformCases.hh	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformCases.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -0,0 +1,354 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard, U.S. Geological Survey
+// Charles A. Williams, GNS Science
+// Matthew G. Knepley, University of Chicago
+//
+// This code was developed as part of the Computational Infrastructure
+// for Geodynamics (http://geodynamics.org).
+//
+// Copyright (c) 2010-2012 University of California, Davis
+//
+// See COPYING for license information.
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeformCases.hh
+ *
+ * @brief C++ TestElasticityImplicitLgDeform object
+ *
+ * C++ unit testing for ElasticityImplicitLgDeform.
+ */
+
+#if !defined(pylith_feassemble_testelasticityimplicitlgdeformcases_hh)
+#define pylith_feassemble_testelasticityimplicitlgdeformcases_hh
+
+#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
+
+/// Namespace for pylith package
+namespace pylith {
+  namespace feassemble {
+    class TestElasticityImplicitLgDeform1DLinear;
+    class TestElasticityImplicitLgDeform1DQuadratic;
+    class TestElasticityImplicitLgDeform2DLinear;
+    class TestElasticityImplicitLgDeform2DQuadratic;
+    class TestElasticityImplicitLgDeform3DLinear;
+    class TestElasticityImplicitLgDeform3DQuadratic;
+
+    class TestElasticityImplicitLgDeformGrav1DLinear;
+    class TestElasticityImplicitLgDeformGrav1DQuadratic;
+    class TestElasticityImplicitLgDeformGrav2DLinear;
+    class TestElasticityImplicitLgDeformGrav2DQuadratic;
+    class TestElasticityImplicitLgDeformGrav3DLinear;
+    class TestElasticityImplicitLgDeformGrav3DQuadratic;
+  } // feassemble
+} // pylith
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/1-D linear cells.
+class pylith::feassemble::TestElasticityImplicitLgDeform1DLinear :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeform1DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform1DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeform1DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/1-D quadratic cells.
+class pylith::feassemble::TestElasticityImplicitLgDeform1DQuadratic :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeform1DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform1DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeform1DQuadratic
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/2-D linear cells.
+class pylith::feassemble::TestElasticityImplicitLgDeform2DLinear :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeform2DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform2DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeform2DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/2-D quadratic cells.
+class pylith::feassemble::TestElasticityImplicitLgDeform2DQuadratic :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeform2DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform2DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeform2DQuadratic
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/3-D linear cells.
+class pylith::feassemble::TestElasticityImplicitLgDeform3DLinear :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeform3DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform3DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeform3DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/3-D quadratic cells.
+class pylith::feassemble::TestElasticityImplicitLgDeform3DQuadratic :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeform3DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeform3DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeform3DQuadratic
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/1-D linear cells and gravity.
+class pylith::feassemble::TestElasticityImplicitLgDeformGrav1DLinear :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeformGrav1DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav1DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeformGrav1DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/1-D quadratic cells and gravity.
+class pylith::feassemble::TestElasticityImplicitLgDeformGrav1DQuadratic :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeformGrav1DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav1DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeformGrav1DQuadratic
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/2-D linear cells and gravity.
+class pylith::feassemble::TestElasticityImplicitLgDeformGrav2DLinear :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeformGrav2DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav2DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeformGrav2DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/2-D quadratic cells and gravity.
+class pylith::feassemble::TestElasticityImplicitLgDeformGrav2DQuadratic :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeformGrav2DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav2DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeformGrav2DQuadratic
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/3-D linear cells and gravity.
+class pylith::feassemble::TestElasticityImplicitLgDeformGrav3DLinear :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeformGrav3DLinear
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav3DLinear );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeformGrav3DLinear
+
+
+// ----------------------------------------------------------------------
+/// C++ unit testing for ElasticityImplicitLgDeform w/3-D quadratic cells and gravity.
+class pylith::feassemble::TestElasticityImplicitLgDeformGrav3DQuadratic :
+  public TestElasticityImplicitLgDeform
+{ // class TestElasticityImplicitLgDeformGrav3DQuadratic
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav3DQuadratic );
+
+  CPPUNIT_TEST( testInitialize );
+  CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testUpdateStateVars );
+
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Setup testing data.
+  void setUp(void);
+
+}; // class TestElasticityImplicitLgDeformGrav3DQuadratic
+
+
+#endif // pylith_feassemble_testelasticityimplicitlgdeformcases_hh
+
+
+// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeformGrav1DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformGravData1DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
-#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav1DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeformGrav1DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformGravData1DLinear();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryLine1D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
-  _gravityField->gravAcceleration(g);
-  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
-
-  _material = new materials::ElasticStrain1D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DLinear.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 1-D linear cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeformgrav1dlinear_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeformgrav1dlinear_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeformGrav1DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeformGrav1DLinear :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform1DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav1DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeformGrav1DLinear
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeformgrav1dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeformGrav1DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformGravData1DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryLine1D.hh" // USES GeometryLine1D
-#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav1DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeformGrav1DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformGravData1DQuadratic();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryLine1D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  const PylithScalar gravityDir[] = { -1.0, 0.0, 0.0};
-  _gravityField->gravAcceleration(g);
-  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
-
-  _material = new materials::ElasticStrain1D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav1DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 1-D quadratic cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeformgrav1dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeformgrav1dquadratic_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeformGrav1DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeformGrav1DQuadratic :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform1DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav1DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeformGrav1DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeformgrav1dquadratic_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeformGrav2DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformGravData2DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTri2D.hh" // USES GeometryTri2D
-#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav2DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeformGrav2DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformGravData2DLinear();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryTri2D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
-  _gravityField->gravAcceleration(g);
-  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
-
-  _material = new materials::ElasticPlaneStrain;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DLinear.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 2-D linear cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeformgrav2dlinear_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeformgrav2dlinear_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeformGrav2DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeformGrav2DLinear :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform2DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav2DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeformGrav2DLinear
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeformgrav2dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeformGrav2DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformGravData2DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/GeometryTri2D.hh" // USES GeometryTri2D
-#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav2DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeformGrav2DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformGravData2DQuadratic();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryTri2D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  const PylithScalar gravityDir[] = { 0.0, -1.0, 0.0 };
-  _gravityField->gravAcceleration(g);
-  _gravityField->gravityDir(gravityDir[0], gravityDir[1], gravityDir[2]);
-
-  _material = new materials::ElasticPlaneStrain;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav2DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 2-D quadratic cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeformgrav2dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeformgrav2dquadratic_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeformGrav2DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeformGrav2DQuadratic :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform2DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav2DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeformGrav2DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeformgrav2dquadratic_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeformGrav3DLinear.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformGravData3DLinear.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/Quadrature3D.hh" // USES Quadrature3D
-#include "pylith/feassemble/GeometryTet3D.hh" // USES GeometryTet3D
-#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav3DLinear );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeformGrav3DLinear::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformGravData3DLinear();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryTet3D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  _gravityField->gravAcceleration(g);
-
-  _material = new materials::ElasticIsotropic3D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DLinear.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 1-D linear cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeformgrav3dlinear_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeformgrav3dlinear_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeformGrav3DLinear;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeformGrav3DLinear :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform3DLinear
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav3DLinear );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeformGrav3DLinear
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeformgrav3dlinear_hh
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.cc	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.cc	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestElasticityImplicitLgDeformGrav3DQuadratic.hh" // Implementation of class methods
-
-#include "data/ElasticityImplicitLgDeformGravData3DQuadratic.hh"
-
-#include "pylith/topology/Mesh.hh" // USES Quadrature<Mesh>
-#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
-#include "pylith/feassemble/Quadrature3D.hh" // USES Quadrature3D
-#include "pylith/feassemble/GeometryTet3D.hh" // USES GeometryTet3D
-#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
-#include "spatialdata/spatialdb/GravityField.hh" // USES GravityField
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicitLgDeformGrav3DQuadratic );
-
-// ----------------------------------------------------------------------
-// Setup testing data.
-void
-pylith::feassemble::TestElasticityImplicitLgDeformGrav3DQuadratic::setUp(void)
-{ // setUp
-  TestElasticityImplicitLgDeform::setUp();
-
-  _data = new ElasticityImplicitLgDeformGravData3DQuadratic();
-  _gravityField = new spatialdata::spatialdb::GravityField();
-  CPPUNIT_ASSERT(0 != _quadrature);
-  CPPUNIT_ASSERT(0 != _gravityField);
-  GeometryTet3D geometry;
-  _quadrature->refGeometry(&geometry);
-
-  const PylithScalar g = 1.0e8;
-  _gravityField->gravAcceleration(g);
-
-  _material = new materials::ElasticIsotropic3D;
-  CPPUNIT_ASSERT(0 != _material);
-  
-  CPPUNIT_ASSERT(0 != _data);
-  CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"),
-		       std::string(_data->matType));
-} // setUp
-
-
-// End of file 

Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.hh	2013-04-25 14:54:40 UTC (rev 21935)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.hh	2013-04-25 16:34:43 UTC (rev 21936)
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard, U.S. Geological Survey
-// Charles A. Williams, GNS Science
-// Matthew G. Knepley, University of Chicago
-//
-// This code was developed as part of the Computational Infrastructure
-// for Geodynamics (http://geodynamics.org).
-//
-// Copyright (c) 2010-2012 University of California, Davis
-//
-// See COPYING for license information.
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestElasticityImplicitLgDeformGrav3DQuadratic.hh
- *
- * @brief C++ TestElasticityImplicitLgDeform object
- *
- * C++ unit testing for ElasticityImplicitLgDeform with 1-D quadratic cells and gravity.
- */
-
-#if !defined(pylith_feassemble_testelasticityimplicitlgdeformgrav3dquadratic_hh)
-#define pylith_feassemble_testelasticityimplicitlgdeformgrav3dquadratic_hh
-
-#include "TestElasticityImplicitLgDeform.hh" // ISA TestElasticityImplicitLgDeform
-
-/// Namespace for pylith package
-namespace pylith {
-  namespace feassemble {
-    class TestElasticityImplicitLgDeformGrav3DQuadratic;
-  } // feassemble
-} // pylith
-
-/// C++ unit testing for ElasticityImplicitLgDeform
-class pylith::feassemble::TestElasticityImplicitLgDeformGrav3DQuadratic :
-  public TestElasticityImplicitLgDeform
-{ // class TestElasticityImplicitLgDeform3DQuadratic
-
-  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
-  CPPUNIT_TEST_SUITE( TestElasticityImplicitLgDeformGrav3DQuadratic );
-
-  CPPUNIT_TEST( testInitialize );
-  CPPUNIT_TEST( testIntegrateResidual );
-  CPPUNIT_TEST( testIntegrateJacobian );
-  CPPUNIT_TEST( testUpdateStateVars );
-
-  CPPUNIT_TEST_SUITE_END();
-
-  // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
-  /// Setup testing data.
-  void setUp(void);
-
-}; // class TestElasticityImplicitLgDeformGrav3DQuadratic
-
-#endif // pylith_feassemble_testelasticityimplicitlgdeformgrav3dquadratic_hh
-
-
-// End of file 



More information about the CIG-COMMITS mailing list