[cig-commits] r16627 - in short/3D/PyLith/trunk: . unittests/libtests/feassemble unittests/libtests/feassemble/data

brad at geodynamics.org brad at geodynamics.org
Tue May 4 14:07:28 PDT 2010


Author: brad
Date: 2010-05-04 14:07:28 -0700 (Tue, 04 May 2010)
New Revision: 16627

Added:
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py
Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicit.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeform.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformApp.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh
Log:
Added unit tests for integrateResidualLumped() and integrateJacobiabLumped() for explicit elasticity with small strain.

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/TODO	2010-05-04 21:07:28 UTC (rev 16627)
@@ -3,6 +3,7 @@
 ======================================================================
 
 need Cygwin binbot
+need x86_64 binbot compatible w/libc 2.7
 
 MAIN PRIORITIES
 
@@ -23,13 +24,11 @@
   + Add stuff to manual
 
 * Optimization
-  + Specialized elasticity integrator objects for Tri3, Quad4, Tet4, Hex8
+  + Specialized elasticity integrator objects for Tri3, Quad4, Hex8
   + inline methods (what isn't getting inlined) -Winline
 
 * Lumped solver
   + Need to finish unit tests
-  + Remove redundant call to calcRateFields in SolverLumped. 
-    Update velocity and slip rate fields in adjustSolnLumped().
 
 * Updates to manual
   + tutorial
@@ -102,8 +101,6 @@
 
   ElasticityExplicitTet4
     integrateResidualLumped()
-  ElasticityExplicitLgDeform
-    integrateResidualLumped()
 
   AbsorbingDampers
     integrateResidualLumped()

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -299,7 +299,7 @@
 // Test integrateJacobian().
 void
 pylith::feassemble::TestElasticityExplicit::testIntegrateJacobianLumped(void)
-{ // testIntegrateJacobian
+{ // testIntegrateJacobianLumped
   CPPUNIT_ASSERT(0 != _data);
 
   topology::Mesh mesh;

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -15,7 +15,7 @@
 #include "TestElasticityExplicitLgDeform.hh" // Implementation of class methods
 
 #include "pylith/feassemble/ElasticityExplicitLgDeform.hh" // USES ElasticityExplicitLgDeform
-#include "data/IntegratorData.hh" // USES IntegratorData
+#include "data/ElasticityExplicitData.hh" // USES ElasticityExplicitData
 
 #include "pylith/utils/constdefs.h" // USES MAXDOUBLE
 #include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
@@ -125,6 +125,46 @@
 } // testIntegrateResidual
 
 // ----------------------------------------------------------------------
+// Test integrateResidual().
+void
+pylith::feassemble::TestElasticityExplicitLgDeform::testIntegrateResidualLumped(void)
+{ // testIntegrateResidualLumped
+  CPPUNIT_ASSERT(0 != _data);
+
+  topology::Mesh mesh;
+  ElasticityExplicitLgDeform integrator;
+  topology::SolutionFields fields(mesh);
+  _initialize(&mesh, &integrator, &fields);
+
+  topology::Field<topology::Mesh>& residual = fields.get("residual");
+  const double t = 1.0;
+  integrator.integrateResidualLumped(residual, t, &fields);
+
+  const double* valsE = _data->valsResidualLumped;
+  const int sizeE = _data->spaceDim * _data->numVertices;
+
+  const ALE::Obj<RealSection>& residualSection = residual.section();
+  CPPUNIT_ASSERT(!residualSection.isNull());
+  const double* vals = residualSection->restrictSpace();
+  const int size = residualSection->sizeWithBC();
+  CPPUNIT_ASSERT_EQUAL(sizeE, size);
+
+#if 0
+  residual.view("RESIDUAL");
+  std::cout << "EXPECTED RESIDUAL" << std::endl;
+  for (int i=0; i < size; ++i)
+    std::cout << "  " << valsE[i] << std::endl;
+#endif
+
+  const double tolerance = 1.0e-06;
+  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);
+} // testIntegrateResidualLumped
+
+// ----------------------------------------------------------------------
 // Test integrateJacobian().
 void
 pylith::feassemble::TestElasticityExplicitLgDeform::testIntegrateJacobian(void)
@@ -183,6 +223,59 @@
 } // testIntegrateJacobian
 
 // ----------------------------------------------------------------------
+// Test integrateJacobian().
+void
+pylith::feassemble::TestElasticityExplicitLgDeform::testIntegrateJacobianLumped(void)
+{ // testIntegrateJacobianLumped
+  CPPUNIT_ASSERT(0 != _data);
+
+  topology::Mesh mesh;
+  ElasticityExplicitLgDeform integrator;
+  topology::SolutionFields fields(mesh);
+  _initialize(&mesh, &integrator, &fields);
+  integrator._needNewJacobian = true;
+
+  topology::Field<topology::Mesh> jacobian(mesh);
+  jacobian.label("Jacobian");
+  jacobian.vectorFieldType(topology::FieldBase::VECTOR);
+  jacobian.newSection(topology::FieldBase::VERTICES_FIELD, _data->spaceDim);
+  jacobian.allocate();
+
+  const double t = 1.0;
+  integrator.integrateJacobian(&jacobian, t, &fields);
+  CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
+  jacobian.complete();
+
+  const double* valsE = _data->valsJacobianLumped;
+
+#if 0 // DEBUGGING
+  // TEMPORARY
+  jacobian.view("JACOBIAN");
+  std::cout << "\n\nJACOBIAN FULL" << std::endl;
+  const int n = numBasis*spaceDim;
+  for (int r=0; r < n; ++r) {
+    for (int c=0; c < n; ++c) 
+      std::cout << "  " << valsMatrixE[r*n+c];
+    std::cout << "\n";
+  } // for
+#endif // DEBUGGING
+
+  const ALE::Obj<RealSection>& jacobianSection = jacobian.section();
+  CPPUNIT_ASSERT(!jacobianSection.isNull());
+  const double* vals = jacobianSection->restrictSpace();
+  const int size = jacobianSection->sizeWithBC();
+  const int sizeE = _data->numVertices * _data->spaceDim;
+  CPPUNIT_ASSERT_EQUAL(sizeE, size);
+
+  const double tolerance = 1.0e-06;
+  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);
+} // testIntegrateJacobianLumped
+
+// ----------------------------------------------------------------------
 // Test updateStateVars().
 void 
 pylith::feassemble::TestElasticityExplicitLgDeform::testUpdateStateVars(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -33,7 +33,7 @@
 namespace pylith {
   namespace feassemble {
     class TestElasticityExplicitLgDeform;
-    class IntegratorData;
+    class ElasticityExplicitData;
   } // feassemble
 } // pylith
 
@@ -70,16 +70,22 @@
   /// Test integrateResidual().
   void testIntegrateResidual(void);
 
+  /// Test integrateResidual().
+  void testIntegrateResidualLumped(void);
+
   /// Test integrateJacobian().
   void testIntegrateJacobian(void);
 
+  /// Test integrateJacobian().
+  void testIntegrateJacobianLumped(void);
+
   /// Test updateStateVars().
   void testUpdateStateVars(void);
 
   // PROTECTED MEMBERS //////////////////////////////////////////////////
 protected :
 
-  IntegratorData* _data; ///< Data for testing.
+  ElasticityExplicitData* _data; ///< Data for testing.
   materials::ElasticMaterial* _material; ///< Elastic material.
   Quadrature<topology::Mesh>* _quadrature; ///< Quadrature information.
   spatialdata::spatialdb::GravityField* _gravityField; ///< Gravity field.

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
 
   CPPUNIT_TEST( testInitialize );
   CPPUNIT_TEST( testIntegrateResidual );
+  CPPUNIT_TEST( testIntegrateResidualLumped );
   CPPUNIT_TEST( testIntegrateJacobian );
+  CPPUNIT_TEST( testIntegrateJacobianLumped );
   CPPUNIT_TEST( testUpdateStateVars );
 
   CPPUNIT_TEST_SUITE_END();

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicit.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicit.py	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicit.py	2010-05-04 21:07:28 UTC (rev 16627)
@@ -79,8 +79,9 @@
     M = integrator._calculateMassMat()
     Ml = self._lumpMatrix(M, integrator.numBasis, integrator.spaceDim)
     
-    vel = (integrator.fieldT + integrator.fieldTIncr - integrator.fieldTmdt) / (2.0*integrator.dt)
-    acc = (integrator.fieldTIncr - integrator.fieldT + integrator.fieldTmdt) / (integrator.dt**2)
+    acc = (integrator.fieldTIncr - 
+           integrator.fieldT + 
+           integrator.fieldTmdt) / (integrator.dt**2)
     acc = acc.flatten()
     residual = -Ml*acc - numpy.dot(K, integrator.fieldT).flatten()
     return residual.flatten()

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeform.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeform.py	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeform.py	2010-05-04 21:07:28 UTC (rev 16627)
@@ -18,6 +18,7 @@
 from pyre.components.Component import Component
 
 import numpy
+import feutils
 
 # ----------------------------------------------------------------------
 
@@ -51,12 +52,86 @@
 
     # Calculate action for inertia
     M = integrator._calculateMassMat()
-    acc = (integrator.fieldTIncr - integrator.fieldT + integrator.fieldTmdt) / (integrator.dt**2) 
+    acc = (integrator.fieldTIncr - 
+           integrator.fieldT + 
+           integrator.fieldTmdt) / (integrator.dt**2) 
     residual = -numpy.dot(M, acc)
     residual = residual.flatten()
+    residual += self._elasticityResidual(integrator)
+    return residual
 
-    # Calculate action for elasticity
 
+  def calculateJacobian(self, integrator):
+    """
+    Calculate contribution to Jacobian matrix of operator for integrator.
+
+    [A] = (1/dt**2)[M]
+    """
+    M = integrator._calculateMassMat()
+
+    jacobian = 1.0/integrator.dt**2 * M
+    return jacobian
+
+
+  def calculateResidualLumped(self, integrator):
+    """
+    Calculate contribution to residual of operator for integrator.
+
+    {r} = (1/dt**2)[M](-{u(t+dt)} + 2 {u(t)} - {u(t-dt)}) -
+          [K]{u(t)}
+    """
+    M = integrator._calculateMassMat()
+    Ml = self._lumpMatrix(M, integrator.numBasis, integrator.spaceDim)
+    
+    acc = (integrator.fieldTIncr - 
+           integrator.fieldT + 
+           integrator.fieldTmdt) / (integrator.dt**2)
+    acc = acc.flatten()
+    residual = -Ml*acc
+    residual.flatten()
+
+    residual += self._elasticityResidual(integrator)
+    return residual
+
+
+  def calculateJacobianLumped(self, integrator):
+    """
+    Calculate contribution to Jacobian matrix of operator for integrator.
+
+    [A] = (1/dt**2)[M]
+    """
+    M = integrator._calculateMassMat()
+    Ml = self._lumpMatrix(M, integrator.numBasis, integrator.spaceDim)
+
+    jacobian = 1.0/integrator.dt**2 * Ml
+    return jacobian.flatten()
+
+
+  def _lumpMatrix(self, matrix, numBasis, spaceDim):
+    """
+    Lump matrix.
+    """
+    (nrows,ncols) = matrix.shape
+    assert(numBasis * spaceDim == nrows)
+    assert(nrows == ncols)
+    vector = numpy.zeros( (ncols), dtype=numpy.float64)
+
+    for iBasis in xrange(numBasis):
+      for iDim in xrange(spaceDim):
+        v = 0.0
+        for jBasis in xrange(numBasis):
+          v += matrix[iBasis*spaceDim+iDim,jBasis*spaceDim+iDim]
+        vector[iBasis*spaceDim+iDim] = v
+    return vector
+
+
+  def _elasticityResidual(self, integrator):
+    """
+    Calculate action for elasticity.
+    """
+    residual = numpy.zeros( (integrator.numBasis*integrator.spaceDim),
+                            dtype=numpy.float64)
+
     # Matrix of elasticity values
     D = integrator._calculateElasticityMat()
     
@@ -77,22 +152,9 @@
         cellR -= wt * numpy.dot(BL.transpose(), S)
       
       feutils.assembleVec(residual, cellR.flatten(), cell, integrator.spaceDim)
-
     return residual
 
 
-  def calculateJacobian(self, integrator):
-    """
-    Calculate contribution to Jacobian matrix of operator for integrator.
-
-    [A] = (1/dt**2)[M]
-    """
-    M = integrator._calculateMassMat()
-
-    jacobian = 1.0/integrator.dt**2 * M
-    return jacobian
-
-
 # FACTORY //////////////////////////////////////////////////////////////
 def formulation():
   return ElasticityExplicit()

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformData1DLinear.hh"
 
@@ -100,6 +100,16 @@
   1.40625000e+07,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsResidualLumped[] = {
+  2.04885687e+10,
+ -2.05616937e+10,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsJacobianLumped[] = {
+  2.81250000e+07,
+  2.81250000e+07,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::ElasticityExplicitLgDeformData1DLinear(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -126,6 +136,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::~ElasticityExplicitLgDeformData1DLinear(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformdata1dlinear_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformdata1dlinear_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformData1DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData1DLinear : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformdata1dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformData1DQuadratic.hh"
 
@@ -120,6 +120,18 @@
   2.50000000e+07,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsResidualLumped[] = {
+  8.41101813e+10,
+ -9.31160494e+09,
+ -7.48651389e+10,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsJacobianLumped[] = {
+  9.37500000e+06,
+  9.37500000e+06,
+  3.75000000e+07,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::ElasticityExplicitLgDeformData1DQuadratic(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -146,6 +158,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::~ElasticityExplicitLgDeformData1DQuadratic(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformdata1dquadratic_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformdata1dquadratic_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformdata1dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformData2DLinear.hh"
 
@@ -120,6 +120,18 @@
   0.00000000e+00,  3.81944444e+05,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsResidualLumped[] = {
+ -1.30907928e+11,  1.45826729e+11,
+  4.13428421e+10, -1.44672491e+11,
+  8.95626801e+10, -1.15504040e+09,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsJacobianLumped[] = {
+  1.14583333e+06,  1.14583333e+06,
+  1.14583333e+06,  1.14583333e+06,
+  1.14583333e+06,  1.14583333e+06,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::ElasticityExplicitLgDeformData2DLinear(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -146,6 +158,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::~ElasticityExplicitLgDeformData2DLinear(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformdata2dlinear_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformdata2dlinear_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformData2DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData2DLinear : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformdata2dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformData2DQuadratic.hh"
 
@@ -247,6 +247,24 @@
   0.00000000e+00,  8.46679688e+06,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsResidualLumped[] = {
+  3.35171172e+10,  8.10192601e+10,
+ -7.94952005e+10, -4.37841381e+10,
+  2.10014852e+10,  2.15149774e+10,
+  7.31149003e+10, -6.34801637e+09,
+ -5.42577005e+10, -9.94955366e+10,
+  6.13320302e+09,  4.71014693e+10,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsJacobianLumped[] = {
+  4.21875000e+06,  4.21875000e+06,
+  3.98437500e+06,  3.98437500e+06,
+  3.98437500e+06,  3.98437500e+06,
+  2.25000000e+07,  2.25000000e+07,
+  5.15625000e+06,  5.15625000e+06,
+  5.15625000e+06,  5.15625000e+06,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::ElasticityExplicitLgDeformData2DQuadratic(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -273,6 +291,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::~ElasticityExplicitLgDeformData2DQuadratic(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformdata2dquadratic_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformdata2dquadratic_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformdata2dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformData3DLinear.hh"
 
@@ -157,6 +157,20 @@
   0.00000000e+00,  0.00000000e+00,  8.40625000e+05,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsResidualLumped[] = {
+ -1.33654308e+10,  3.00654749e+11,  1.48221233e+11,
+ -5.48895440e+10,  6.55600730e+11,  3.04462310e+11,
+  6.45891529e+10, -1.06343052e+12, -4.86428216e+11,
+  3.66918432e+09,  1.07175045e+11,  3.37473630e+10,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsJacobianLumped[] = {
+  3.36250000e+06,  3.36250000e+06,  3.36250000e+06,
+  3.36250000e+06,  3.36250000e+06,  3.36250000e+06,
+  3.36250000e+06,  3.36250000e+06,  3.36250000e+06,
+  3.36250000e+06,  3.36250000e+06,  3.36250000e+06,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::ElasticityExplicitLgDeformData3DLinear(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -183,6 +197,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::~ElasticityExplicitLgDeformData3DLinear(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformdata3dlinear_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformdata3dlinear_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformData3DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData3DLinear : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformdata3dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformData3DQuadratic.hh"
 
@@ -496,6 +496,32 @@
   0.00000000e+00,  0.00000000e+00,  3.25847917e+06,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsResidualLumped[] = {
+  3.68908573e+10,  2.89160572e+10, -8.38305638e+08,
+  1.31658131e+11, -3.38201739e+10,  5.13320041e+10,
+ -3.92910621e+11, -2.10630330e+11, -2.01774882e+11,
+ -1.14267995e+11,  1.30716630e+11, -1.07973250e+11,
+ -2.64249877e+11, -2.85444292e+10, -4.02143984e+10,
+  4.59400261e+11,  2.32380003e+11,  2.74969025e+11,
+ -2.47002605e+11, -7.38605515e+10, -4.79743995e+10,
+  5.25288799e+10, -8.35277685e+10, -1.48113346e+10,
+ -1.20394352e+11,  3.07717391e+11, -2.63736436e+11,
+  4.58361238e+11, -2.69324783e+11,  3.51036392e+11,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsJacobianLumped[] = {
+  2.57903646e+06,  2.57903646e+06,  2.57903646e+06,
+  2.40117187e+06,  2.40117187e+06,  2.40117187e+06,
+  2.40117188e+06,  2.40117188e+06,  2.40117188e+06,
+  2.40117188e+06,  2.40117188e+06,  2.40117188e+06,
+  1.20947917e+07,  1.20947917e+07,  1.20947917e+07,
+  8.35963542e+06,  8.35963542e+06,  8.35963542e+06,
+  8.35963542e+06,  8.35963542e+06,  8.35963542e+06,
+  8.35963542e+06,  8.35963542e+06,  8.35963542e+06,
+  1.20947917e+07,  1.20947917e+07,  1.20947917e+07,
+  1.20947917e+07,  1.20947917e+07,  1.20947917e+07,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::ElasticityExplicitLgDeformData3DQuadratic(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -522,6 +548,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::~ElasticityExplicitLgDeformData3DQuadratic(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformdata3dquadratic_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformdata3dquadratic_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformdata3dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformGravData1DLinear.hh"
 
@@ -100,6 +100,16 @@
   1.40625000e+07,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsResidualLumped[] = {
+ -2.60761431e+11,
+ -3.01811694e+11,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsJacobianLumped[] = {
+  2.81250000e+07,
+  2.81250000e+07,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::ElasticityExplicitLgDeformGravData1DLinear(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -126,6 +136,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::~ElasticityExplicitLgDeformGravData1DLinear(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata1dlinear_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformgravdata1dlinear_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformgravdata1dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformGravData1DQuadratic.hh"
 
@@ -120,6 +120,18 @@
   2.50000000e+07,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsResidualLumped[] = {
+ -9.63981867e+09,
+ -1.03061605e+11,
+ -4.49865139e+11,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsJacobianLumped[] = {
+  9.37500000e+06,
+  9.37500000e+06,
+  3.75000000e+07,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::ElasticityExplicitLgDeformGravData1DQuadratic(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -146,6 +158,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::~ElasticityExplicitLgDeformGravData1DQuadratic(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata1dquadratic_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformgravdata1dquadratic_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformgravdata1dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformGravData2DLinear.hh"
 
@@ -120,6 +120,18 @@
   0.00000000e+00,  3.81944444e+05,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsResidualLumped[] = {
+ -1.30907928e+11,  1.34368396e+11,
+  4.13428421e+10, -1.56130824e+11,
+  8.95626801e+10, -1.26133737e+10,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsJacobianLumped[] = {
+  1.14583333e+06,  1.14583333e+06,
+  1.14583333e+06,  1.14583333e+06,
+  1.14583333e+06,  1.14583333e+06,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::ElasticityExplicitLgDeformGravData2DLinear(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -146,6 +158,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::~ElasticityExplicitLgDeformGravData2DLinear(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata2dlinear_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformgravdata2dlinear_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformgravdata2dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformGravData2DQuadratic.hh"
 
@@ -247,6 +247,24 @@
   0.00000000e+00,  8.46679688e+06,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsResidualLumped[] = {
+  3.35171172e+10,  3.88317601e+10,
+ -7.94952005e+10, -8.36278881e+10,
+  2.10014852e+10, -1.83287726e+10,
+  7.31149003e+10, -2.31348016e+11,
+ -5.42577005e+10, -1.51058037e+11,
+  6.13320302e+09, -4.46103066e+09,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsJacobianLumped[] = {
+  4.21875000e+06,  4.21875000e+06,
+  3.98437500e+06,  3.98437500e+06,
+  3.98437500e+06,  3.98437500e+06,
+  2.25000000e+07,  2.25000000e+07,
+  5.15625000e+06,  5.15625000e+06,
+  5.15625000e+06,  5.15625000e+06,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::ElasticityExplicitLgDeformGravData2DQuadratic(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -273,6 +291,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::~ElasticityExplicitLgDeformGravData2DQuadratic(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata2dquadratic_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformgravdata2dquadratic_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformgravdata2dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformGravData3DLinear.hh"
 
@@ -157,6 +157,20 @@
   0.00000000e+00,  0.00000000e+00,  8.40625000e+05,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsResidualLumped[] = {
+ -1.33654308e+10,  3.00654749e+11,  1.14596233e+11,
+ -5.48895440e+10,  6.55600730e+11,  2.70837310e+11,
+  6.45891529e+10, -1.06343052e+12, -5.20053216e+11,
+  3.66918432e+09,  1.07175045e+11,  1.22363040e+08,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsJacobianLumped[] = {
+  3.36250000e+06,  3.36250000e+06,  3.36250000e+06,
+  3.36250000e+06,  3.36250000e+06,  3.36250000e+06,
+  3.36250000e+06,  3.36250000e+06,  3.36250000e+06,
+  3.36250000e+06,  3.36250000e+06,  3.36250000e+06,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::ElasticityExplicitLgDeformGravData3DLinear(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -183,6 +197,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::~ElasticityExplicitLgDeformGravData3DLinear(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata3dlinear_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformgravdata3dlinear_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformgravdata3dlinear_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #include "ElasticityExplicitLgDeformGravData3DQuadratic.hh"
 
@@ -496,6 +496,32 @@
   0.00000000e+00,  0.00000000e+00,  3.25847917e+06,
 };
 
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsResidualLumped[] = {
+  3.68908573e+10,  2.89160572e+10, -2.66286702e+10,
+  1.31658131e+11, -3.38201739e+10,  2.73202854e+10,
+ -3.92910621e+11, -2.10630330e+11, -2.25786601e+11,
+ -1.14267995e+11,  1.30716630e+11, -1.31984968e+11,
+ -2.64249877e+11, -2.85444292e+10, -1.61162315e+11,
+  4.59400261e+11,  2.32380003e+11,  1.91372671e+11,
+ -2.47002605e+11, -7.38605515e+10, -1.31570754e+11,
+  5.25288799e+10, -8.35277685e+10, -9.84076887e+10,
+ -1.20394352e+11,  3.07717391e+11, -3.84684352e+11,
+  4.58361238e+11, -2.69324783e+11,  2.30088475e+11,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsJacobianLumped[] = {
+  2.57903646e+06,  2.57903646e+06,  2.57903646e+06,
+  2.40117187e+06,  2.40117187e+06,  2.40117187e+06,
+  2.40117188e+06,  2.40117188e+06,  2.40117188e+06,
+  2.40117188e+06,  2.40117188e+06,  2.40117188e+06,
+  1.20947917e+07,  1.20947917e+07,  1.20947917e+07,
+  8.35963542e+06,  8.35963542e+06,  8.35963542e+06,
+  8.35963542e+06,  8.35963542e+06,  8.35963542e+06,
+  8.35963542e+06,  8.35963542e+06,  8.35963542e+06,
+  1.20947917e+07,  1.20947917e+07,  1.20947917e+07,
+  1.20947917e+07,  1.20947917e+07,  1.20947917e+07,
+};
+
 pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::ElasticityExplicitLgDeformGravData3DQuadratic(void)
 { // constructor
   spaceDim = _spaceDim;
@@ -522,6 +548,8 @@
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);
   valsJacobian = const_cast<double*>(_valsJacobian);
+  valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+  valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
 } // constructor
 
 pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::~ElasticityExplicitLgDeformGravData3DQuadratic(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
 
 #if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata3dquadratic_hh)
 #define pylith_feassemble_elasticityexplicitlgdeformgravdata3dquadratic_hh
 
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
 
 namespace pylith {
   namespace feassemble {
@@ -24,7 +24,7 @@
   } // pylith
 } // feassemble
 
-class pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic : public ElasticityExplicitData
 {
 
 public: 
@@ -85,6 +85,10 @@
 
   static const double _valsJacobian[];
 
+  static const double _valsResidualLumped[];
+
+  static const double _valsJacobianLumped[];
+
 };
 
 #endif // pylith_feassemble_elasticityexplicitlgdeformgravdata3dquadratic_hh

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformApp.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformApp.py	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformApp.py	2010-05-04 21:07:28 UTC (rev 16627)
@@ -10,7 +10,7 @@
 # ----------------------------------------------------------------------
 #
 
-## @file unittests/libtests/feassemble/data/ElasticityAppLgDeform.py
+## @file unittests/libtests/feassemble/data/ElasticityLgDeformApp.py
 
 ## @brief Python application for generating C++ data files for testing
 ## C++ elasticity integrator objects.
@@ -22,8 +22,8 @@
 
 # ----------------------------------------------------------------------
 
-# ElasticityAppLgDeform class
-class ElasticityAppLgDeform(ElasticityApp):
+# ElasticityLgDeformApp class
+class ElasticityLgDeformApp(ElasticityApp):
   """
   Python application for generating C++ data files for testing C++
   elasticity integrator objects.
@@ -31,7 +31,7 @@
   
   # PUBLIC METHODS /////////////////////////////////////////////////////
   
-  def __init__(self, name="elasticityapplgdeform"):
+  def __init__(self, name="elasticitylgdeformapp"):
     """
     Constructor.
     """
@@ -340,7 +340,7 @@
 # MAIN /////////////////////////////////////////////////////////////////
 if __name__ == "__main__":
 
-  app = ElasticityAppLgDeform()
+  app = ElasticityLgDeformApp()
   app.run()
 
 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py	                        (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py	2010-05-04 21:07:28 UTC (rev 16627)
@@ -0,0 +1,65 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ elasticity integrator objects.
+
+from ElasticityLgDeformApp import ElasticityLgDeformApp
+from ElasticityExplicitApp import ElasticityExplicitApp
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# ElasticityLgDeformExplicitApp class
+class ElasticityLgDeformExplicitApp(ElasticityLgDeformApp, 
+                                    ElasticityExplicitApp):
+  """
+  Python application for generating C++ data files for testing C++
+  elasticity integrator objects.
+  """
+  
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+  
+  def __init__(self, name="elasticitylgdeformexplicitapp"):
+    """
+    Constructor.
+    """
+    ElasticityLgDeformApp.__init__(self, name)
+    ElasticityExplicitApp.__init__(self, name)
+    return
+  
+
+  def main(self):
+    """
+    Run the application.
+    """
+    self._collectData()
+    self._calculateResidual()
+    self._calculateJacobian()
+    self._calculateResidualLumped()
+    self._calculateJacobianLumped()
+    self._initData()
+    self.data.write(self.name)
+    return
+  
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+  app = ElasticityLgDeformExplicitApp()
+  app.run()
+
+
+# End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh	2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh	2010-05-04 21:07:28 UTC (rev 16627)
@@ -413,43 +413,43 @@
 
   # 1-D ----------------------------------------------------------------
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformData1DLinear \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh1DLinear \
     --quadrature=Quadrature1DLinear \
     --material=MaterialElasticStrain1D \
     --solution=Solution1DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformData1DQuadratic \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh1DQuadratic \
     --quadrature=Quadrature1DQuadratic \
     --material=MaterialElasticStrain1D \
     --solution=Solution1DQuadratic
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --use_gravity=True \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformGravData1DLinear \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh1DLinear \
     --quadrature=Quadrature1DLinear \
     --material=MaterialElasticStrain1D \
     --solution=Solution1DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --use_gravity=True \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformGravData1DQuadratic \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh1DQuadratic \
     --quadrature=Quadrature1DQuadratic \
     --material=MaterialElasticStrain1D \
@@ -458,43 +458,43 @@
 
   # 2-D ----------------------------------------------------------------
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformData2DLinear \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh2DLinear \
     --quadrature=Quadrature2DLinear \
     --material=ElasticPlaneStrain \
     --solution=Solution2DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformData2DQuadratic \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh2DQuadratic \
     --quadrature=Quadrature2DQuadratic \
     --material=ElasticPlaneStrain \
     --solution=Solution2DQuadratic
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --use_gravity=True \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformGravData2DLinear \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh2DLinear \
     --quadrature=Quadrature2DLinear \
     --material=ElasticPlaneStrain \
     --solution=Solution2DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --use_gravity=True \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformGravData2DQuadratic \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh2DQuadratic \
     --quadrature=Quadrature2DQuadratic \
     --material=ElasticPlaneStrain \
@@ -503,43 +503,43 @@
 
   # 3-D ----------------------------------------------------------------
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformData3DLinear \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh3DLinear \
     --quadrature=Quadrature3DLinear \
     --material=ElasticIsotropic3D \
     --solution=Solution3DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformData3DQuadratic \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh3DQuadratic \
     --quadrature=Quadrature3DQuadratic \
     --material=ElasticIsotropic3D \
     --solution=Solution3DQuadratic
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --use_gravity=True \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformGravData3DLinear \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh3DLinear \
     --quadrature=Quadrature3DLinear \
     --material=ElasticIsotropic3D \
     --solution=Solution3DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformExplicitApp.py \
     --use_gravity=True \
     --formulation=ElasticityExplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitLgDeformGravData3DQuadratic \
-    --data.parent=IntegratorData \
+    --data.parent=ElasticityExplicitData \
     --mesh=Mesh3DQuadratic \
     --quadrature=Quadrature3DQuadratic \
     --material=ElasticIsotropic3D \
@@ -553,7 +553,7 @@
 
   # 1-D ----------------------------------------------------------------
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitLgDeformData1DLinear \
@@ -563,7 +563,7 @@
     --material=MaterialElasticStrain1D \
     --solution=Solution1DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitLgDeformData1DQuadratic \
@@ -573,7 +573,7 @@
     --material=MaterialElasticStrain1D \
     --solution=Solution1DQuadratic
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --use_gravity=True \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
@@ -584,7 +584,7 @@
     --material=MaterialElasticStrain1D \
     --solution=Solution1DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --use_gravity=True \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
@@ -598,7 +598,7 @@
 
   # 2-D ----------------------------------------------------------------
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitLgDeformData2DLinear \
@@ -608,7 +608,7 @@
     --material=ElasticPlaneStrain \
     --solution=Solution2DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitLgDeformData2DQuadratic \
@@ -618,7 +618,7 @@
     --material=ElasticPlaneStrain \
     --solution=Solution2DQuadratic
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --use_gravity=True \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
@@ -629,7 +629,7 @@
     --material=ElasticPlaneStrain \
     --solution=Solution2DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --use_gravity=True \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
@@ -643,7 +643,7 @@
 
   # 3-D ----------------------------------------------------------------
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitLgDeformData3DLinear \
@@ -653,7 +653,7 @@
     --material=ElasticIsotropic3D \
     --solution=Solution3DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitLgDeformData3DQuadratic \
@@ -663,7 +663,7 @@
     --material=ElasticIsotropic3D \
     --solution=Solution3DQuadratic
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --use_gravity=True \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \
@@ -674,7 +674,7 @@
     --material=ElasticIsotropic3D \
     --solution=Solution3DLinear
 
-  python ElasticityAppLgDeform.py \
+  python ElasticityLgDeformApp.py \
     --use_gravity=True \
     --formulation=ElasticityImplicitLgDeform \
     --data.namespace=pylith,feassemble \



More information about the CIG-COMMITS mailing list