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

brad at geodynamics.org brad at geodynamics.org
Sat Oct 28 16:23:26 PDT 2006


Author: brad
Date: 2006-10-28 16:23:24 -0700 (Sat, 28 Oct 2006)
New Revision: 5113

Added:
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DOne.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DOne.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DThree.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DThree.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DTwo.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DTwo.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DOne.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DThree.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DTwo.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia3DLinear.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia3DQuadratic.py
Modified:
   short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegrator.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia1DQuadratic.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1DLinear.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1DQuadratic.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din2DLinear.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din2DQuadratic.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din3DLinear.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din3DQuadratic.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2DLinear.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2DQuadratic.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXY.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXYZ.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXZ.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearYZ.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DQuadratic.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DLinear.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DQuadratic.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/feutils.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh
Log:
Added unit tests for integration of inertial term in 2-D and 3-D. Tests for 2-D are in 3-D space and include up to 2 cells.

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am	2006-10-28 23:23:24 UTC (rev 5113)
@@ -21,6 +21,8 @@
 testfeassemble_SOURCES = \
 	TestIntegrator.cc \
 	TestIntegratorInertia1D.cc \
+	TestIntegratorInertia2D.cc \
+	TestIntegratorInertia3D.cc \
 	TestQuadrature.cc \
 	TestQuadrature1D.cc \
 	TestQuadrature1Din2D.cc \
@@ -32,6 +34,8 @@
 noinst_HEADERS = \
 	TestIntegrator.hh \
 	TestIntegratorInertia1D.hh \
+	TestIntegratorInertia2D.hh \
+	TestIntegratorInertia3D.hh \
 	TestQuadrature.hh \
 	TestQuadrature1D.hh \
 	TestQuadrature1Din2D.hh \
@@ -44,6 +48,11 @@
 	data/IntegratorData.cc \
 	data/IntegratorDataInertia1DLinear.cc \
 	data/IntegratorDataInertia1DQuadratic.cc \
+	data/IntegratorDataInertia2Din3DOne.cc \
+	data/IntegratorDataInertia2Din3DTwo.cc \
+	data/IntegratorDataInertia2Din3DThree.cc \
+	data/IntegratorDataInertia3DLinear.cc \
+	data/IntegratorDataInertia3DQuadratic.cc \
 	data/QuadratureData.cc \
 	data/QuadratureData1DLinear.cc \
 	data/QuadratureData1DQuadratic.cc \
@@ -65,6 +74,11 @@
 	data/IntegratorData.hh \
 	data/IntegratorDataInertia1DLinear.hh \
 	data/IntegratorDataInertia1DQuadratic.hh \
+	data/IntegratorDataInertia2Din3DOne.hh \
+	data/IntegratorDataInertia2Din3DTwo.hh \
+	data/IntegratorDataInertia2Din3DThree.hh \
+	data/IntegratorDataInertia3DLinear.hh \
+	data/IntegratorDataInertia3DQuadratic.hh \
 	data/QuadratureData.hh \
 	data/QuadratureData1DLinear.hh \
 	data/QuadratureData1DQuadratic.hh \

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegrator.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegrator.cc	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegrator.cc	2006-10-28 23:23:24 UTC (rev 5113)
@@ -122,7 +122,8 @@
   const ALE::Obj<real_section_type>& coordinates = 
     mesh->getRealSection("coordinates");
   integrator->integrateAction(fieldOut, fieldIn, coordinates);
-
+  //fieldOut->view("field out");
+  
   // Check values in output field
   iVertex = 0;
   const double tolerance = 1.0e-06;

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.hh	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.hh	2006-10-28 23:23:24 UTC (rev 5113)
@@ -15,7 +15,7 @@
  *
  * @brief C++ TestIntegratorInertia1D object
  *
- * C++ unit testing for Quadrature1D.
+ * C++ unit testing for IntegratorInertia.
  */
 
 #if !defined(pylith_feassemble_testintegratorinertia1d_hh)

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.cc	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.cc	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,104 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestIntegratorInertia2D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/IntegratorInertia.hh"
+#include "pylith/feassemble/Quadrature2Din3D.hh"
+
+#include "data/IntegratorDataInertia2Din3DOne.hh"
+#include "data/IntegratorDataInertia2Din3DTwo.hh"
+#include "data/IntegratorDataInertia2Din3DThree.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestIntegratorInertia2D );
+
+// ----------------------------------------------------------------------
+// Test integrate() & integrateAction() w/linear basis fns (1 cell)
+void
+pylith::feassemble::TestIntegratorInertia2D::testOne(void)
+{ // testOne
+  IntegratorDataInertia2Din3DOne data;
+
+  Quadrature2Din3D q;
+  q.initialize(data.basis,
+	       data.basisDeriv,
+	       data.quadPts,
+	       data.quadWts,
+	       data.cellDim,
+	       data.numCorners,
+	       data.numQuadPts,
+	       data.spaceDim);
+
+  IntegratorInertia integrator;
+  integrator.quadrature(&q);
+
+  _testIntegrateAction(&integrator, data);
+
+  _testIntegrate(&integrator, data);
+} // testLinear
+
+// ----------------------------------------------------------------------
+// Test integrate() & integrateAction() w/linear basis fns
+// (2 cells sharing 1 vertex)
+void
+pylith::feassemble::TestIntegratorInertia2D::testOverlap1(void)
+{ // testOverlap1
+  IntegratorDataInertia2Din3DTwo data;
+  
+  Quadrature2Din3D q;
+  q.initialize(data.basis,
+	       data.basisDeriv,
+	       data.quadPts,
+	       data.quadWts,
+	       data.cellDim,
+	       data.numCorners,
+	       data.numQuadPts,
+	       data.spaceDim);
+
+  IntegratorInertia integrator;
+  integrator.quadrature(&q);
+
+  _testIntegrateAction(&integrator, data);
+
+  _testIntegrate(&integrator, data);
+} // testOverlap1
+
+// ----------------------------------------------------------------------
+// Test integrate() & integrateAction() w/linear basis fns
+// (2 cells sharing 2 vertices)
+void
+pylith::feassemble::TestIntegratorInertia2D::testOverlap2(void)
+{ // testOverlap2
+  IntegratorDataInertia2Din3DThree data;
+  
+  Quadrature2Din3D q;
+  q.initialize(data.basis,
+	       data.basisDeriv,
+	       data.quadPts,
+	       data.quadWts,
+	       data.cellDim,
+	       data.numCorners,
+	       data.numQuadPts,
+	       data.spaceDim);
+
+  IntegratorInertia integrator;
+  integrator.quadrature(&q);
+
+  _testIntegrateAction(&integrator, data);
+
+  _testIntegrate(&integrator, data);
+} // testOverlap2
+
+// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.hh	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.hh	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,63 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestIntegratorInertia2D.hh
+ *
+ * @brief C++ TestIntegratorInertia2D object
+ *
+ * C++ unit testing for IntegratorInertia.
+ */
+
+#if !defined(pylith_feassemble_testintegratorinertia2d_hh)
+#define pylith_feassemble_testintegratorinertia2d_hh
+
+#include "TestIntegrator.hh"
+
+/// Namespace for spatialdata package
+namespace pylith {
+  namespace feassemble {
+    class TestIntegratorInertia2D;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for IntegratorInertia2D
+class pylith::feassemble::TestIntegratorInertia2D : public TestIntegrator
+{ // class TestIntegratorInertia2D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestIntegratorInertia2D );
+  CPPUNIT_TEST( testOne );
+  CPPUNIT_TEST( testOverlap1 );
+  CPPUNIT_TEST( testOverlap2 );
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Test integrate() & integrateAction() w/linear basis fns
+  /// (1 cell)
+  void testOne(void);
+
+  /// Test integrate() & integrateAction() w/linear basis fns
+  /// (2 cells sharing 1 vertex)
+  void testOverlap1(void);
+
+  /// Test integrate() & integrateAction() w/linear basis fns
+  /// (2 cells sharing 2 vertices)
+  void testOverlap2(void);
+
+}; // class TestIntegratorInertia2D
+
+#endif // pylith_feassemble_testintegratorinertia2d_hh
+
+// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.cc	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.cc	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestIntegratorInertia3D.hh" // Implementation of class methods
+
+#include "pylith/feassemble/IntegratorInertia.hh"
+#include "pylith/feassemble/Quadrature3D.hh"
+
+#include "data/IntegratorDataInertia3DLinear.hh"
+#include "data/IntegratorDataInertia3DQuadratic.hh"
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestIntegratorInertia3D );
+
+// ----------------------------------------------------------------------
+// Test integrate() & integrateAction() w/linear basis fns
+void
+pylith::feassemble::TestIntegratorInertia3D::testLinear(void)
+{ // testLinear
+  IntegratorDataInertia3DLinear data;
+
+  Quadrature3D q;
+  q.initialize(data.basis,
+	       data.basisDeriv,
+	       data.quadPts,
+	       data.quadWts,
+	       data.cellDim,
+	       data.numCorners,
+	       data.numQuadPts,
+	       data.spaceDim);
+
+  IntegratorInertia integrator;
+  integrator.quadrature(&q);
+
+  _testIntegrateAction(&integrator, data);
+
+  _testIntegrate(&integrator, data);
+} // testLinear
+
+// ----------------------------------------------------------------------
+// Test integrate() & integrateAction() w/quadratic basis fns
+void
+pylith::feassemble::TestIntegratorInertia3D::testQuadratic(void)
+{ // testQuadratic
+  IntegratorDataInertia3DQuadratic data;
+
+  Quadrature3D q;
+  q.initialize(data.basis,
+	       data.basisDeriv,
+	       data.quadPts,
+	       data.quadWts,
+	       data.cellDim,
+	       data.numCorners,
+	       data.numQuadPts,
+	       data.spaceDim);
+
+  IntegratorInertia integrator;
+  integrator.quadrature(&q);
+
+  _testIntegrateAction(&integrator, data);
+
+  _testIntegrate(&integrator, data);
+} // testQuadratic
+
+// End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.hh	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.hh	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,56 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestIntegratorInertia3D.hh
+ *
+ * @brief C++ TestIntegratorInertia3D object
+ *
+ * C++ unit testing for IntegratorInertia.
+ */
+
+#if !defined(pylith_feassemble_testintegratorinertia3d_hh)
+#define pylith_feassemble_testintegratorinertia3d_hh
+
+#include "TestIntegrator.hh"
+
+/// Namespace for spatialdata package
+namespace pylith {
+  namespace feassemble {
+    class TestIntegratorInertia3D;
+  } // feassemble
+} // pylith
+
+/// C++ unit testing for IntegratorInertia3D
+class pylith::feassemble::TestIntegratorInertia3D : public TestIntegrator
+{ // class TestIntegratorInertia3D
+
+  // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+  CPPUNIT_TEST_SUITE( TestIntegratorInertia3D );
+  CPPUNIT_TEST( testLinear );
+  CPPUNIT_TEST( testQuadratic );
+  CPPUNIT_TEST_SUITE_END();
+
+  // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+  /// Test integrate() & integrateAction() w/linear basis fns
+  void testLinear(void);
+
+  /// Test integrate() & integrateAction() w/quadratic basis fns
+  void testQuadratic(void);
+
+}; // class TestIntegratorInertia3D
+
+#endif // pylith_feassemble_testintegratorinertia3d_hh
+
+// End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia1DQuadratic.cc	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia1DQuadratic.cc	2006-10-28 23:23:24 UTC (rev 5113)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application itnegratorinertia1dlinear.
+// This file was generated from python application itnegratorinertia1dquadratic.
 
 #include "IntegratorDataInertia1DQuadratic.hh"
 
@@ -83,7 +83,7 @@
   2.50000000e-01,
  -1.25000000e-01,
   2.50000000e-01,
-  1.00000000e-00,
+  1.00000000e+00,
   2.50000000e-01,
  -1.25000000e-01,
   2.50000000e-01,

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia1DQuadratic.hh	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia1DQuadratic.hh	2006-10-28 23:23:24 UTC (rev 5113)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application itnegratorinertia1dlinear.
+// This file was generated from python application itnegratorinertia1dquadratic.
 
 #if !defined(pylith_feassemble_integratordatainertia1dquadratic_hh)
 #define pylith_feassemble_integratordatainertia1dquadratic_hh

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DOne.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DOne.cc	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DOne.cc	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,126 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application itnegratorinertia2din3done.
+
+#include "IntegratorDataInertia2Din3DOne.hh"
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DOne::_numVertices = 3;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DOne::_spaceDim = 3;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DOne::_numCells = 1;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DOne::_cellDim = 2;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DOne::_numCorners = 3;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DOne::_numQuadPts = 1;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DOne::_fiberDim = 3;
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DOne::_vertices[] = {
+  5.00000000e-01, -2.00000000e+00, -5.00000000e-01,
+  3.00000000e+00,  5.00000000e-01,  0.00000000e+00,
+ -1.00000000e+00,  2.00000000e+00,  4.00000000e+00,
+};
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DOne::_cells[] = {
+       0,       1,       2,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DOne::_quadPts[] = {
+  3.33333333e-01,  3.33333333e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DOne::_quadWts[] = {
+  5.00000000e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DOne::_basis[] = {
+  3.33333333e-01,  3.33333333e-01,
+  3.33333333e-01,};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DOne::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00,
+  1.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.00000000e+00,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DOne::_fieldIn[] = {
+  1.20000000e+00,  1.00000000e-01, -3.00000000e-01,
+  5.00000000e-01, -3.00000000e-01,  1.20000000e+00,
+  1.10000000e+00,  5.00000000e-01,  8.00000000e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DOne::_valsAction[] = {
+  3.18271761e+00,  3.41005458e-01,  1.93236426e+00,
+  3.18271761e+00,  3.41005458e-01,  1.93236426e+00,
+  3.18271761e+00,  3.41005458e-01,  1.93236426e+00,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DOne::_valsMatrix[] = {
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+};
+
+pylith::feassemble::IntegratorDataInertia2Din3DOne::IntegratorDataInertia2Din3DOne(void)
+{ // constructor
+  numVertices = _numVertices;
+  spaceDim = _spaceDim;
+  numCells = _numCells;
+  cellDim = _cellDim;
+  numCorners = _numCorners;
+  numQuadPts = _numQuadPts;
+  fiberDim = _fiberDim;
+  vertices = const_cast<double*>(_vertices);
+  cells = const_cast<int*>(_cells);
+  quadPts = const_cast<double*>(_quadPts);
+  quadWts = const_cast<double*>(_quadWts);
+  basis = const_cast<double*>(_basis);
+  basisDeriv = const_cast<double*>(_basisDeriv);
+  fieldIn = const_cast<double*>(_fieldIn);
+  valsAction = const_cast<double*>(_valsAction);
+  valsMatrix = const_cast<double*>(_valsMatrix);
+} // constructor
+
+pylith::feassemble::IntegratorDataInertia2Din3DOne::~IntegratorDataInertia2Din3DOne(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DOne.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DOne.hh	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DOne.hh	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application itnegratorinertia2din3done.
+
+#if !defined(pylith_feassemble_integratordatainertia2din3done_hh)
+#define pylith_feassemble_integratordatainertia2din3done_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class IntegratorDataInertia2Din3DOne;
+  } // pylith
+} // feassemble
+
+class pylith::feassemble::IntegratorDataInertia2Din3DOne : public IntegratorData
+{
+
+public: 
+
+  /// Constructor
+  IntegratorDataInertia2Din3DOne(void);
+
+  /// Destructor
+  ~IntegratorDataInertia2Din3DOne(void);
+
+private:
+
+  static const int _numVertices;
+
+  static const int _spaceDim;
+
+  static const int _numCells;
+
+  static const int _cellDim;
+
+  static const int _numCorners;
+
+  static const int _numQuadPts;
+
+  static const int _fiberDim;
+
+  static const double _vertices[];
+
+  static const int _cells[];
+
+  static const double _quadPts[];
+
+  static const double _quadWts[];
+
+  static const double _basis[];
+
+  static const double _basisDeriv[];
+
+  static const double _fieldIn[];
+
+  static const double _valsAction[];
+
+  static const double _valsMatrix[];
+
+};
+
+#endif // pylith_feassemble_integratordatainertia2din3done_hh
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DThree.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DThree.cc	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DThree.cc	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,150 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application itnegratorinertia2din3dthree.
+
+#include "IntegratorDataInertia2Din3DThree.hh"
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DThree::_numVertices = 4;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DThree::_spaceDim = 3;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DThree::_numCells = 2;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DThree::_cellDim = 2;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DThree::_numCorners = 3;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DThree::_numQuadPts = 1;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DThree::_fiberDim = 3;
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DThree::_vertices[] = {
+  6.00000000e-01, -2.00000000e+00, -4.00000000e-01,
+  3.00000000e+00,  5.00000000e-01,  0.00000000e+00,
+ -1.00000000e+00,  2.00000000e+00,  4.00000000e+00,
+ -3.40000000e+00, -5.00000000e-01,  3.60000000e+00,
+};
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DThree::_cells[] = {
+       0,       1,       2,       2,
+       3,       0,};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DThree::_quadPts[] = {
+  3.33333333e-01,  3.33333333e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DThree::_quadWts[] = {
+  5.00000000e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DThree::_basis[] = {
+  3.33333333e-01,  3.33333333e-01,
+  3.33333333e-01,};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DThree::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00,
+  1.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.00000000e+00,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DThree::_fieldIn[] = {
+  1.20000000e+00,  1.00000000e-01, -3.00000000e-01,
+  2.00000000e-01, -8.00000000e-01,  1.20000000e+00,
+  1.30000000e+00, -2.00000000e-01,  1.70000000e+00,
+  1.10000000e+00,  1.40000000e+00,  9.00000000e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DThree::_valsAction[] = {
+  6.98914158e+00,  4.43755021e-01,  5.43599901e+00,
+  2.99534639e+00, -9.98448797e-01,  2.88440764e+00,
+  6.98914158e+00,  4.43755021e-01,  5.43599901e+00,
+  3.99379519e+00,  1.44220382e+00,  2.55159137e+00,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DThree::_valsMatrix[] = {
+  2.21877510e+00,  0.00000000e+00,  0.00000000e+00,
+  1.10938755e+00,  0.00000000e+00,  0.00000000e+00,
+  2.21877510e+00,  0.00000000e+00,  0.00000000e+00,
+  1.10938755e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  2.21877510e+00,  0.00000000e+00,
+  0.00000000e+00,  1.10938755e+00,  0.00000000e+00,
+  0.00000000e+00,  2.21877510e+00,  0.00000000e+00,
+  0.00000000e+00,  1.10938755e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  2.21877510e+00,
+  0.00000000e+00,  0.00000000e+00,  1.10938755e+00,
+  0.00000000e+00,  0.00000000e+00,  2.21877510e+00,
+  0.00000000e+00,  0.00000000e+00,  1.10938755e+00,
+  1.10938755e+00,  0.00000000e+00,  0.00000000e+00,
+  1.10938755e+00,  0.00000000e+00,  0.00000000e+00,
+  1.10938755e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.10938755e+00,  0.00000000e+00,
+  0.00000000e+00,  1.10938755e+00,  0.00000000e+00,
+  0.00000000e+00,  1.10938755e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.10938755e+00,
+  0.00000000e+00,  0.00000000e+00,  1.10938755e+00,
+  0.00000000e+00,  0.00000000e+00,  1.10938755e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  2.21877510e+00,  0.00000000e+00,  0.00000000e+00,
+  1.10938755e+00,  0.00000000e+00,  0.00000000e+00,
+  2.21877510e+00,  0.00000000e+00,  0.00000000e+00,
+  1.10938755e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  2.21877510e+00,  0.00000000e+00,
+  0.00000000e+00,  1.10938755e+00,  0.00000000e+00,
+  0.00000000e+00,  2.21877510e+00,  0.00000000e+00,
+  0.00000000e+00,  1.10938755e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  2.21877510e+00,
+  0.00000000e+00,  0.00000000e+00,  1.10938755e+00,
+  0.00000000e+00,  0.00000000e+00,  2.21877510e+00,
+  0.00000000e+00,  0.00000000e+00,  1.10938755e+00,
+  1.10938755e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  1.10938755e+00,  0.00000000e+00,  0.00000000e+00,
+  1.10938755e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.10938755e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.10938755e+00,  0.00000000e+00,
+  0.00000000e+00,  1.10938755e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.10938755e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.10938755e+00,
+  0.00000000e+00,  0.00000000e+00,  1.10938755e+00,
+};
+
+pylith::feassemble::IntegratorDataInertia2Din3DThree::IntegratorDataInertia2Din3DThree(void)
+{ // constructor
+  numVertices = _numVertices;
+  spaceDim = _spaceDim;
+  numCells = _numCells;
+  cellDim = _cellDim;
+  numCorners = _numCorners;
+  numQuadPts = _numQuadPts;
+  fiberDim = _fiberDim;
+  vertices = const_cast<double*>(_vertices);
+  cells = const_cast<int*>(_cells);
+  quadPts = const_cast<double*>(_quadPts);
+  quadWts = const_cast<double*>(_quadWts);
+  basis = const_cast<double*>(_basis);
+  basisDeriv = const_cast<double*>(_basisDeriv);
+  fieldIn = const_cast<double*>(_fieldIn);
+  valsAction = const_cast<double*>(_valsAction);
+  valsMatrix = const_cast<double*>(_valsMatrix);
+} // constructor
+
+pylith::feassemble::IntegratorDataInertia2Din3DThree::~IntegratorDataInertia2Din3DThree(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DThree.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DThree.hh	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DThree.hh	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application itnegratorinertia2din3dthree.
+
+#if !defined(pylith_feassemble_integratordatainertia2din3dthree_hh)
+#define pylith_feassemble_integratordatainertia2din3dthree_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class IntegratorDataInertia2Din3DThree;
+  } // pylith
+} // feassemble
+
+class pylith::feassemble::IntegratorDataInertia2Din3DThree : public IntegratorData
+{
+
+public: 
+
+  /// Constructor
+  IntegratorDataInertia2Din3DThree(void);
+
+  /// Destructor
+  ~IntegratorDataInertia2Din3DThree(void);
+
+private:
+
+  static const int _numVertices;
+
+  static const int _spaceDim;
+
+  static const int _numCells;
+
+  static const int _cellDim;
+
+  static const int _numCorners;
+
+  static const int _numQuadPts;
+
+  static const int _fiberDim;
+
+  static const double _vertices[];
+
+  static const int _cells[];
+
+  static const double _quadPts[];
+
+  static const double _quadWts[];
+
+  static const double _basis[];
+
+  static const double _basisDeriv[];
+
+  static const double _fieldIn[];
+
+  static const double _valsAction[];
+
+  static const double _valsMatrix[];
+
+};
+
+#endif // pylith_feassemble_integratordatainertia2din3dthree_hh
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DTwo.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DTwo.cc	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DTwo.cc	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,180 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application itnegratorinertia2din3dtwo.
+
+#include "IntegratorDataInertia2Din3DTwo.hh"
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DTwo::_numVertices = 5;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DTwo::_spaceDim = 3;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DTwo::_numCells = 2;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DTwo::_cellDim = 2;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DTwo::_numCorners = 3;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DTwo::_numQuadPts = 1;
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DTwo::_fiberDim = 3;
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DTwo::_vertices[] = {
+  5.00000000e-01, -2.00000000e+00, -5.00000000e-01,
+  3.00000000e+00,  5.00000000e-01,  0.00000000e+00,
+ -1.00000000e+00,  2.00000000e+00,  4.00000000e+00,
+  7.00000000e+00, -1.00000000e+00, -4.00000000e+00,
+  5.50000000e+00,  3.00000000e+00,  5.00000000e-01,
+};
+
+const int pylith::feassemble::IntegratorDataInertia2Din3DTwo::_cells[] = {
+       0,       1,       2,       3,       4,
+       1,};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DTwo::_quadPts[] = {
+  3.33333333e-01,  3.33333333e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DTwo::_quadWts[] = {
+  5.00000000e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DTwo::_basis[] = {
+  3.33333333e-01,  3.33333333e-01,
+  3.33333333e-01,};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DTwo::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00,
+  1.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.00000000e+00,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DTwo::_fieldIn[] = {
+  1.20000000e+00,  1.00000000e-01, -3.00000000e-01,
+  2.00000000e-01, -8.00000000e-01,  1.20000000e+00,
+ -9.00000000e-01, -7.00000000e-01,  5.00000000e-01,
+  1.30000000e+00, -2.00000000e-01,  1.70000000e+00,
+  1.10000000e+00,  1.40000000e+00,  9.00000000e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DTwo::_valsAction[] = {
+  5.68342430e-01, -1.59135880e+00,  1.59135880e+00,
+  3.52372306e+00, -1.13668486e+00,  5.91076127e+00,
+  5.68342430e-01, -1.59135880e+00,  1.59135880e+00,
+  2.95538063e+00,  4.54673944e-01,  4.31940246e+00,
+  2.95538063e+00,  4.54673944e-01,  4.31940246e+00,
+};
+
+const double pylith::feassemble::IntegratorDataInertia2Din3DTwo::_valsMatrix[] = {
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  2.27336972e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  2.27336972e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  2.27336972e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  1.13668486e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  1.13668486e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+  0.00000000e+00,  0.00000000e+00,  1.13668486e+00,
+};
+
+pylith::feassemble::IntegratorDataInertia2Din3DTwo::IntegratorDataInertia2Din3DTwo(void)
+{ // constructor
+  numVertices = _numVertices;
+  spaceDim = _spaceDim;
+  numCells = _numCells;
+  cellDim = _cellDim;
+  numCorners = _numCorners;
+  numQuadPts = _numQuadPts;
+  fiberDim = _fiberDim;
+  vertices = const_cast<double*>(_vertices);
+  cells = const_cast<int*>(_cells);
+  quadPts = const_cast<double*>(_quadPts);
+  quadWts = const_cast<double*>(_quadWts);
+  basis = const_cast<double*>(_basis);
+  basisDeriv = const_cast<double*>(_basisDeriv);
+  fieldIn = const_cast<double*>(_fieldIn);
+  valsAction = const_cast<double*>(_valsAction);
+  valsMatrix = const_cast<double*>(_valsMatrix);
+} // constructor
+
+pylith::feassemble::IntegratorDataInertia2Din3DTwo::~IntegratorDataInertia2Din3DTwo(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DTwo.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DTwo.hh	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia2Din3DTwo.hh	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application itnegratorinertia2din3dtwo.
+
+#if !defined(pylith_feassemble_integratordatainertia2din3dtwo_hh)
+#define pylith_feassemble_integratordatainertia2din3dtwo_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class IntegratorDataInertia2Din3DTwo;
+  } // pylith
+} // feassemble
+
+class pylith::feassemble::IntegratorDataInertia2Din3DTwo : public IntegratorData
+{
+
+public: 
+
+  /// Constructor
+  IntegratorDataInertia2Din3DTwo(void);
+
+  /// Destructor
+  ~IntegratorDataInertia2Din3DTwo(void);
+
+private:
+
+  static const int _numVertices;
+
+  static const int _spaceDim;
+
+  static const int _numCells;
+
+  static const int _cellDim;
+
+  static const int _numCorners;
+
+  static const int _numQuadPts;
+
+  static const int _fiberDim;
+
+  static const double _vertices[];
+
+  static const int _cells[];
+
+  static const double _quadPts[];
+
+  static const double _quadWts[];
+
+  static const double _basis[];
+
+  static const double _basisDeriv[];
+
+  static const double _fieldIn[];
+
+  static const double _valsAction[];
+
+  static const double _valsMatrix[];
+
+};
+
+#endif // pylith_feassemble_integratordatainertia2din3dtwo_hh
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DLinear.cc	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DLinear.cc	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,151 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application itnegratorinertia3dlinear.
+
+#include "IntegratorDataInertia3DLinear.hh"
+
+const int pylith::feassemble::IntegratorDataInertia3DLinear::_numVertices = 4;
+
+const int pylith::feassemble::IntegratorDataInertia3DLinear::_spaceDim = 3;
+
+const int pylith::feassemble::IntegratorDataInertia3DLinear::_numCells = 1;
+
+const int pylith::feassemble::IntegratorDataInertia3DLinear::_cellDim = 3;
+
+const int pylith::feassemble::IntegratorDataInertia3DLinear::_numCorners = 4;
+
+const int pylith::feassemble::IntegratorDataInertia3DLinear::_numQuadPts = 1;
+
+const int pylith::feassemble::IntegratorDataInertia3DLinear::_fiberDim = 3;
+
+const double pylith::feassemble::IntegratorDataInertia3DLinear::_vertices[] = {
+ -5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
+  2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
+  1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
+ -2.00000000e-01,  5.00000000e-01,  2.00000000e+00,
+};
+
+const int pylith::feassemble::IntegratorDataInertia3DLinear::_cells[] = {
+       0,       1,       2,       3,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DLinear::_quadPts[] = {
+  3.33333333e-01,  3.33333333e-01,  3.33333333e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DLinear::_quadWts[] = {
+  1.66666667e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DLinear::_basis[] = {
+  1.11022302e-16,  3.33333333e-01,  3.33333333e-01,
+  3.33333333e-01,};
+
+const double pylith::feassemble::IntegratorDataInertia3DLinear::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
+  1.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.00000000e+00,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DLinear::_fieldIn[] = {
+  1.20000000e+00,  1.00000000e-01, -3.00000000e-01,
+  2.00000000e-01, -8.00000000e-01,  1.20000000e+00,
+  1.30000000e+00, -2.00000000e-01,  1.70000000e+00,
+  1.10000000e+00,  1.40000000e+00,  9.00000000e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DLinear::_valsAction[] = {
+  5.17659989e-17,  7.96399983e-18,  7.56579984e-17,
+  1.55422222e-01,  2.39111111e-02,  2.27155556e-01,
+  1.55422222e-01,  2.39111111e-02,  2.27155556e-01,
+  1.55422222e-01,  2.39111111e-02,  2.27155556e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DLinear::_valsMatrix[] = {
+  6.63136198e-33,  0.00000000e+00,  0.00000000e+00,
+  1.99099996e-17,  0.00000000e+00,  0.00000000e+00,
+  1.99099996e-17,  0.00000000e+00,  0.00000000e+00,
+  1.99099996e-17,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  6.63136198e-33,  0.00000000e+00,
+  0.00000000e+00,  1.99099996e-17,  0.00000000e+00,
+  0.00000000e+00,  1.99099996e-17,  0.00000000e+00,
+  0.00000000e+00,  1.99099996e-17,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  6.63136198e-33,
+  0.00000000e+00,  0.00000000e+00,  1.99099996e-17,
+  0.00000000e+00,  0.00000000e+00,  1.99099996e-17,
+  0.00000000e+00,  0.00000000e+00,  1.99099996e-17,
+  1.99099996e-17,  0.00000000e+00,  0.00000000e+00,
+  5.97777778e-02,  0.00000000e+00,  0.00000000e+00,
+  5.97777778e-02,  0.00000000e+00,  0.00000000e+00,
+  5.97777778e-02,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.99099996e-17,  0.00000000e+00,
+  0.00000000e+00,  5.97777778e-02,  0.00000000e+00,
+  0.00000000e+00,  5.97777778e-02,  0.00000000e+00,
+  0.00000000e+00,  5.97777778e-02,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.99099996e-17,
+  0.00000000e+00,  0.00000000e+00,  5.97777778e-02,
+  0.00000000e+00,  0.00000000e+00,  5.97777778e-02,
+  0.00000000e+00,  0.00000000e+00,  5.97777778e-02,
+  1.99099996e-17,  0.00000000e+00,  0.00000000e+00,
+  5.97777778e-02,  0.00000000e+00,  0.00000000e+00,
+  5.97777778e-02,  0.00000000e+00,  0.00000000e+00,
+  5.97777778e-02,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.99099996e-17,  0.00000000e+00,
+  0.00000000e+00,  5.97777778e-02,  0.00000000e+00,
+  0.00000000e+00,  5.97777778e-02,  0.00000000e+00,
+  0.00000000e+00,  5.97777778e-02,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.99099996e-17,
+  0.00000000e+00,  0.00000000e+00,  5.97777778e-02,
+  0.00000000e+00,  0.00000000e+00,  5.97777778e-02,
+  0.00000000e+00,  0.00000000e+00,  5.97777778e-02,
+  1.99099996e-17,  0.00000000e+00,  0.00000000e+00,
+  5.97777778e-02,  0.00000000e+00,  0.00000000e+00,
+  5.97777778e-02,  0.00000000e+00,  0.00000000e+00,
+  5.97777778e-02,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.99099996e-17,  0.00000000e+00,
+  0.00000000e+00,  5.97777778e-02,  0.00000000e+00,
+  0.00000000e+00,  5.97777778e-02,  0.00000000e+00,
+  0.00000000e+00,  5.97777778e-02,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.99099996e-17,
+  0.00000000e+00,  0.00000000e+00,  5.97777778e-02,
+  0.00000000e+00,  0.00000000e+00,  5.97777778e-02,
+  0.00000000e+00,  0.00000000e+00,  5.97777778e-02,
+};
+
+pylith::feassemble::IntegratorDataInertia3DLinear::IntegratorDataInertia3DLinear(void)
+{ // constructor
+  numVertices = _numVertices;
+  spaceDim = _spaceDim;
+  numCells = _numCells;
+  cellDim = _cellDim;
+  numCorners = _numCorners;
+  numQuadPts = _numQuadPts;
+  fiberDim = _fiberDim;
+  vertices = const_cast<double*>(_vertices);
+  cells = const_cast<int*>(_cells);
+  quadPts = const_cast<double*>(_quadPts);
+  quadWts = const_cast<double*>(_quadWts);
+  basis = const_cast<double*>(_basis);
+  basisDeriv = const_cast<double*>(_basisDeriv);
+  fieldIn = const_cast<double*>(_fieldIn);
+  valsAction = const_cast<double*>(_valsAction);
+  valsMatrix = const_cast<double*>(_valsMatrix);
+} // constructor
+
+pylith::feassemble::IntegratorDataInertia3DLinear::~IntegratorDataInertia3DLinear(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DLinear.hh	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DLinear.hh	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application itnegratorinertia3dlinear.
+
+#if !defined(pylith_feassemble_integratordatainertia3dlinear_hh)
+#define pylith_feassemble_integratordatainertia3dlinear_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class IntegratorDataInertia3DLinear;
+  } // pylith
+} // feassemble
+
+class pylith::feassemble::IntegratorDataInertia3DLinear : public IntegratorData
+{
+
+public: 
+
+  /// Constructor
+  IntegratorDataInertia3DLinear(void);
+
+  /// Destructor
+  ~IntegratorDataInertia3DLinear(void);
+
+private:
+
+  static const int _numVertices;
+
+  static const int _spaceDim;
+
+  static const int _numCells;
+
+  static const int _cellDim;
+
+  static const int _numCorners;
+
+  static const int _numQuadPts;
+
+  static const int _fiberDim;
+
+  static const double _vertices[];
+
+  static const int _cells[];
+
+  static const double _quadPts[];
+
+  static const double _quadWts[];
+
+  static const double _basis[];
+
+  static const double _basisDeriv[];
+
+  static const double _fieldIn[];
+
+  static const double _valsAction[];
+
+  static const double _valsMatrix[];
+
+};
+
+#endif // pylith_feassemble_integratordatainertia3dlinear_hh
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DQuadratic.cc	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DQuadratic.cc	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,472 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application itnegratorinertia3dquadratic.
+
+#include "IntegratorDataInertia3DQuadratic.hh"
+
+const int pylith::feassemble::IntegratorDataInertia3DQuadratic::_numVertices = 10;
+
+const int pylith::feassemble::IntegratorDataInertia3DQuadratic::_spaceDim = 3;
+
+const int pylith::feassemble::IntegratorDataInertia3DQuadratic::_numCells = 1;
+
+const int pylith::feassemble::IntegratorDataInertia3DQuadratic::_cellDim = 3;
+
+const int pylith::feassemble::IntegratorDataInertia3DQuadratic::_numCorners = 10;
+
+const int pylith::feassemble::IntegratorDataInertia3DQuadratic::_numQuadPts = 4;
+
+const int pylith::feassemble::IntegratorDataInertia3DQuadratic::_fiberDim = 3;
+
+const double pylith::feassemble::IntegratorDataInertia3DQuadratic::_vertices[] = {
+ -5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
+  2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
+  1.00000000e+00,  1.00000000e+00,  0.00000000e+00,
+  2.00000000e-01,  5.00000000e-01,  2.00000000e+00,
+  7.00000000e-01, -2.10000000e+00, -8.00000000e-01,
+  3.00000000e-01, -5.00000000e-01, -5.00000000e-01,
+ -2.00000000e-01, -8.00000000e-01,  5.00000000e-01,
+  1.50000000e+00, -6.00000000e-01, -2.00000000e-01,
+  6.00000000e-01,  8.00000000e-01,  9.00000000e-01,
+  1.10000000e+00, -8.00000000e-01,  7.00000000e-01,
+};
+
+const int pylith::feassemble::IntegratorDataInertia3DQuadratic::_cells[] = {
+       0,       1,       2,       3,       4,       5,       6,       7,       8,       9,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DQuadratic::_quadPts[] = {
+  8.33333333e-02,  8.33333333e-02,  8.33333333e-02,
+  7.50000000e-01,  8.33333333e-02,  8.33333333e-02,
+  8.33333333e-02,  7.50000000e-01,  8.33333333e-02,
+  8.33333333e-02,  8.33333333e-02,  7.50000000e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DQuadratic::_quadWts[] = {
+  1.25000000e-01,  1.25000000e-01,  1.25000000e-01,  1.25000000e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DQuadratic::_basis[] = {
+  3.75000000e-01, -6.94444444e-02, -6.94444444e-02,
+ -6.94444444e-02,  2.50000000e-01,  2.50000000e-01,
+  2.50000000e-01,  2.77777778e-02,  2.77777778e-02,
+  2.77777778e-02, -6.94444444e-02,  3.75000000e-01,
+ -6.94444444e-02, -6.94444444e-02,  2.50000000e-01,
+  2.77777778e-02,  2.77777778e-02,  2.50000000e-01,
+  2.77777778e-02,  2.50000000e-01, -6.94444444e-02,
+ -6.94444444e-02,  3.75000000e-01, -6.94444444e-02,
+  2.77777778e-02,  2.50000000e-01,  2.77777778e-02,
+  2.50000000e-01,  2.50000000e-01,  2.77777778e-02,
+ -6.94444444e-02, -6.94444444e-02, -6.94444444e-02,
+  3.75000000e-01,  2.77777778e-02,  2.77777778e-02,
+  2.50000000e-01,  2.77777778e-02,  2.50000000e-01,
+  2.50000000e-01,};
+
+const double pylith::feassemble::IntegratorDataInertia3DQuadratic::_basisDeriv[] = {
+ -2.00000000e+00, -2.00000000e+00, -2.00000000e+00,
+ -6.66666667e-01,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00, -6.66666667e-01,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00, -6.66666667e-01,
+  2.66666667e+00, -3.33333333e-01, -3.33333333e-01,
+ -3.33333333e-01,  2.66666667e+00, -3.33333333e-01,
+ -3.33333333e-01, -3.33333333e-01,  2.66666667e+00,
+  3.33333333e-01,  3.33333333e-01,  0.00000000e+00,
+  0.00000000e+00,  3.33333333e-01,  3.33333333e-01,
+  3.33333333e-01,  0.00000000e+00,  3.33333333e-01,
+  6.66666667e-01,  6.66666667e-01,  6.66666667e-01,
+  2.00000000e+00,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00, -6.66666667e-01,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00, -6.66666667e-01,
+ -2.66666667e+00, -3.00000000e+00, -3.00000000e+00,
+ -3.33333333e-01,  1.11022302e-16, -3.33333333e-01,
+ -3.33333333e-01, -3.33333333e-01,  1.11022302e-16,
+  3.33333333e-01,  3.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  3.33333333e-01,  3.33333333e-01,
+  3.33333333e-01,  0.00000000e+00,  3.00000000e+00,
+  6.66666667e-01,  6.66666667e-01,  6.66666667e-01,
+ -6.66666667e-01,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  2.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00, -6.66666667e-01,
+  1.11022302e-16, -3.33333333e-01, -3.33333333e-01,
+ -3.00000000e+00, -2.66666667e+00, -3.00000000e+00,
+ -3.33333333e-01, -3.33333333e-01, -1.11022302e-16,
+  3.00000000e+00,  3.33333333e-01,  0.00000000e+00,
+  0.00000000e+00,  3.33333333e-01,  3.00000000e+00,
+  3.33333333e-01,  0.00000000e+00,  3.33333333e-01,
+  6.66666667e-01,  6.66666667e-01,  6.66666667e-01,
+ -6.66666667e-01,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00, -6.66666667e-01,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  2.00000000e+00,
+ -1.11022302e-16, -3.33333333e-01, -3.33333333e-01,
+ -3.33333333e-01, -1.11022302e-16, -3.33333333e-01,
+ -3.00000000e+00, -3.00000000e+00, -2.66666667e+00,
+  3.33333333e-01,  3.33333333e-01,  0.00000000e+00,
+  0.00000000e+00,  3.00000000e+00,  3.33333333e-01,
+  3.00000000e+00,  0.00000000e+00,  3.33333333e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DQuadratic::_fieldIn[] = {
+  1.20000000e+00,  1.50000000e+00,  3.00000000e-01,
+  8.00000000e-01,  9.00000000e-01,  1.40000000e+00,
+  7.00000000e-01,  2.00000000e-01,  8.00000000e-01,
+  1.40000000e+00,  1.50000000e+00,  1.40000000e+00,
+  5.00000000e-01,  7.00000000e-01,  1.60000000e+00,
+  1.90000000e+00,  1.20000000e+00,  1.30000000e+00,
+  6.00000000e-01,  3.00000000e-01,  1.50000000e+00,
+  1.30000000e+00,  6.00000000e-01,  3.00000000e-01,
+  1.40000000e+00,  1.00000000e-01,  1.80000000e+00,
+  2.00000000e-01,  1.00000000e+00,  8.00000000e-01,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DQuadratic::_valsAction[] = {
+  4.64606100e-01,  5.25788473e-01,  3.06532606e-01,
+ -3.05228438e-02,  1.75997618e-01,  2.45750439e-01,
+  4.30815359e-01, -1.55977942e-01,  1.64247809e-01,
+  5.76536621e-01,  5.11894577e-01,  1.01873542e+00,
+  1.05787885e+00,  9.67886303e-01,  1.28838018e+00,
+  1.28854795e+00,  8.01898523e-01,  1.24762887e+00,
+  1.36140858e+00,  1.13583478e+00,  1.67487267e+00,
+  1.04098348e+00,  6.27003095e-01,  1.21723778e+00,
+  1.34451321e+00,  7.94951575e-01,  1.60373027e+00,
+  1.11384411e+00,  9.60939355e-01,  1.64448159e+00,
+};
+
+const double pylith::feassemble::IntegratorDataInertia3DQuadratic::_valsMatrix[] = {
+  3.43548568e-01,  0.00000000e+00,  0.00000000e+00,
+ -8.48894747e-02,  0.00000000e+00,  0.00000000e+00,
+ -8.56725109e-02,  0.00000000e+00,  0.00000000e+00,
+ -1.09147591e-01,  0.00000000e+00,  0.00000000e+00,
+  1.66568959e-01,  0.00000000e+00,  0.00000000e+00,
+  1.66177441e-01,  0.00000000e+00,  0.00000000e+00,
+  1.54439901e-01,  0.00000000e+00,  0.00000000e+00,
+ -4.80415809e-02,  0.00000000e+00,  0.00000000e+00,
+ -6.01706390e-02,  0.00000000e+00,  0.00000000e+00,
+ -5.97791209e-02,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  3.43548568e-01,  0.00000000e+00,
+  0.00000000e+00, -8.48894747e-02,  0.00000000e+00,
+  0.00000000e+00, -8.56725109e-02,  0.00000000e+00,
+  0.00000000e+00, -1.09147591e-01,  0.00000000e+00,
+  0.00000000e+00,  1.66568959e-01,  0.00000000e+00,
+  0.00000000e+00,  1.66177441e-01,  0.00000000e+00,
+  0.00000000e+00,  1.54439901e-01,  0.00000000e+00,
+  0.00000000e+00, -4.80415809e-02,  0.00000000e+00,
+  0.00000000e+00, -6.01706390e-02,  0.00000000e+00,
+  0.00000000e+00, -5.97791209e-02,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  3.43548568e-01,
+  0.00000000e+00,  0.00000000e+00, -8.48894747e-02,
+  0.00000000e+00,  0.00000000e+00, -8.56725109e-02,
+  0.00000000e+00,  0.00000000e+00, -1.09147591e-01,
+  0.00000000e+00,  0.00000000e+00,  1.66568959e-01,
+  0.00000000e+00,  0.00000000e+00,  1.66177441e-01,
+  0.00000000e+00,  0.00000000e+00,  1.54439901e-01,
+  0.00000000e+00,  0.00000000e+00, -4.80415809e-02,
+  0.00000000e+00,  0.00000000e+00, -6.01706390e-02,
+  0.00000000e+00,  0.00000000e+00, -5.97791209e-02,
+ -8.48894747e-02,  0.00000000e+00,  0.00000000e+00,
+  2.98421911e-01,  0.00000000e+00,  0.00000000e+00,
+ -7.54164523e-02,  0.00000000e+00,  0.00000000e+00,
+ -9.88915324e-02,  0.00000000e+00,  0.00000000e+00,
+  1.29647148e-01,  0.00000000e+00,  0.00000000e+00,
+ -5.72720336e-02,  0.00000000e+00,  0.00000000e+00,
+ -6.90095736e-02,  0.00000000e+00,  0.00000000e+00,
+  1.34383659e-01,  0.00000000e+00,  0.00000000e+00,
+ -6.42730624e-02,  0.00000000e+00,  0.00000000e+00,
+  1.22646119e-01,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00, -8.48894747e-02,  0.00000000e+00,
+  0.00000000e+00,  2.98421911e-01,  0.00000000e+00,
+  0.00000000e+00, -7.54164523e-02,  0.00000000e+00,
+  0.00000000e+00, -9.88915324e-02,  0.00000000e+00,
+  0.00000000e+00,  1.29647148e-01,  0.00000000e+00,
+  0.00000000e+00, -5.72720336e-02,  0.00000000e+00,
+  0.00000000e+00, -6.90095736e-02,  0.00000000e+00,
+  0.00000000e+00,  1.34383659e-01,  0.00000000e+00,
+  0.00000000e+00, -6.42730624e-02,  0.00000000e+00,
+  0.00000000e+00,  1.22646119e-01,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00, -8.48894747e-02,
+  0.00000000e+00,  0.00000000e+00,  2.98421911e-01,
+  0.00000000e+00,  0.00000000e+00, -7.54164523e-02,
+  0.00000000e+00,  0.00000000e+00, -9.88915324e-02,
+  0.00000000e+00,  0.00000000e+00,  1.29647148e-01,
+  0.00000000e+00,  0.00000000e+00, -5.72720336e-02,
+  0.00000000e+00,  0.00000000e+00, -6.90095736e-02,
+  0.00000000e+00,  0.00000000e+00,  1.34383659e-01,
+  0.00000000e+00,  0.00000000e+00, -6.42730624e-02,
+  0.00000000e+00,  0.00000000e+00,  1.22646119e-01,
+ -8.56725109e-02,  0.00000000e+00,  0.00000000e+00,
+ -7.54164523e-02,  0.00000000e+00,  0.00000000e+00,
+  3.01867270e-01,  0.00000000e+00,  0.00000000e+00,
+ -9.96745685e-02,  0.00000000e+00,  0.00000000e+00,
+ -5.65673011e-02,  0.00000000e+00,  0.00000000e+00,
+  1.32074560e-01,  0.00000000e+00,  0.00000000e+00,
+ -6.86963592e-02,  0.00000000e+00,  0.00000000e+00,
+  1.37202589e-01,  0.00000000e+00,  0.00000000e+00,
+  1.25073531e-01,  0.00000000e+00,  0.00000000e+00,
+ -6.35683299e-02,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00, -8.56725109e-02,  0.00000000e+00,
+  0.00000000e+00, -7.54164523e-02,  0.00000000e+00,
+  0.00000000e+00,  3.01867270e-01,  0.00000000e+00,
+  0.00000000e+00, -9.96745685e-02,  0.00000000e+00,
+  0.00000000e+00, -5.65673011e-02,  0.00000000e+00,
+  0.00000000e+00,  1.32074560e-01,  0.00000000e+00,
+  0.00000000e+00, -6.86963592e-02,  0.00000000e+00,
+  0.00000000e+00,  1.37202589e-01,  0.00000000e+00,
+  0.00000000e+00,  1.25073531e-01,  0.00000000e+00,
+  0.00000000e+00, -6.35683299e-02,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00, -8.56725109e-02,
+  0.00000000e+00,  0.00000000e+00, -7.54164523e-02,
+  0.00000000e+00,  0.00000000e+00,  3.01867270e-01,
+  0.00000000e+00,  0.00000000e+00, -9.96745685e-02,
+  0.00000000e+00,  0.00000000e+00, -5.65673011e-02,
+  0.00000000e+00,  0.00000000e+00,  1.32074560e-01,
+  0.00000000e+00,  0.00000000e+00, -6.86963592e-02,
+  0.00000000e+00,  0.00000000e+00,  1.37202589e-01,
+  0.00000000e+00,  0.00000000e+00,  1.25073531e-01,
+  0.00000000e+00,  0.00000000e+00, -6.35683299e-02,
+ -1.09147591e-01,  0.00000000e+00,  0.00000000e+00,
+ -9.88915324e-02,  0.00000000e+00,  0.00000000e+00,
+ -9.96745685e-02,  0.00000000e+00,  0.00000000e+00,
+  4.05157622e-01,  0.00000000e+00,  0.00000000e+00,
+ -4.71772691e-02,  0.00000000e+00,  0.00000000e+00,
+ -4.75687872e-02,  0.00000000e+00,  0.00000000e+00,
+  2.04847308e-01,  0.00000000e+00,  0.00000000e+00,
+ -4.24407579e-02,  0.00000000e+00,  0.00000000e+00,
+  2.09583819e-01,  0.00000000e+00,  0.00000000e+00,
+  2.09975337e-01,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00, -1.09147591e-01,  0.00000000e+00,
+  0.00000000e+00, -9.88915324e-02,  0.00000000e+00,
+  0.00000000e+00, -9.96745685e-02,  0.00000000e+00,
+  0.00000000e+00,  4.05157622e-01,  0.00000000e+00,
+  0.00000000e+00, -4.71772691e-02,  0.00000000e+00,
+  0.00000000e+00, -4.75687872e-02,  0.00000000e+00,
+  0.00000000e+00,  2.04847308e-01,  0.00000000e+00,
+  0.00000000e+00, -4.24407579e-02,  0.00000000e+00,
+  0.00000000e+00,  2.09583819e-01,  0.00000000e+00,
+  0.00000000e+00,  2.09975337e-01,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00, -1.09147591e-01,
+  0.00000000e+00,  0.00000000e+00, -9.88915324e-02,
+  0.00000000e+00,  0.00000000e+00, -9.96745685e-02,
+  0.00000000e+00,  0.00000000e+00,  4.05157622e-01,
+  0.00000000e+00,  0.00000000e+00, -4.71772691e-02,
+  0.00000000e+00,  0.00000000e+00, -4.75687872e-02,
+  0.00000000e+00,  0.00000000e+00,  2.04847308e-01,
+  0.00000000e+00,  0.00000000e+00, -4.24407579e-02,
+  0.00000000e+00,  0.00000000e+00,  2.09583819e-01,
+  0.00000000e+00,  0.00000000e+00,  2.09975337e-01,
+  1.66568959e-01,  0.00000000e+00,  0.00000000e+00,
+  1.29647148e-01,  0.00000000e+00,  0.00000000e+00,
+ -5.65673011e-02,  0.00000000e+00,  0.00000000e+00,
+ -4.71772691e-02,  0.00000000e+00,  0.00000000e+00,
+  2.60383116e-01,  0.00000000e+00,  0.00000000e+00,
+  1.67275892e-01,  0.00000000e+00,  0.00000000e+00,
+  1.71970908e-01,  0.00000000e+00,  0.00000000e+00,
+  1.48814986e-01,  0.00000000e+00,  0.00000000e+00,
+  6.04027778e-02,  0.00000000e+00,  0.00000000e+00,
+  1.53510002e-01,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.66568959e-01,  0.00000000e+00,
+  0.00000000e+00,  1.29647148e-01,  0.00000000e+00,
+  0.00000000e+00, -5.65673011e-02,  0.00000000e+00,
+  0.00000000e+00, -4.71772691e-02,  0.00000000e+00,
+  0.00000000e+00,  2.60383116e-01,  0.00000000e+00,
+  0.00000000e+00,  1.67275892e-01,  0.00000000e+00,
+  0.00000000e+00,  1.71970908e-01,  0.00000000e+00,
+  0.00000000e+00,  1.48814986e-01,  0.00000000e+00,
+  0.00000000e+00,  6.04027778e-02,  0.00000000e+00,
+  0.00000000e+00,  1.53510002e-01,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.66568959e-01,
+  0.00000000e+00,  0.00000000e+00,  1.29647148e-01,
+  0.00000000e+00,  0.00000000e+00, -5.65673011e-02,
+  0.00000000e+00,  0.00000000e+00, -4.71772691e-02,
+  0.00000000e+00,  0.00000000e+00,  2.60383116e-01,
+  0.00000000e+00,  0.00000000e+00,  1.67275892e-01,
+  0.00000000e+00,  0.00000000e+00,  1.71970908e-01,
+  0.00000000e+00,  0.00000000e+00,  1.48814986e-01,
+  0.00000000e+00,  0.00000000e+00,  6.04027778e-02,
+  0.00000000e+00,  0.00000000e+00,  1.53510002e-01,
+  1.66177441e-01,  0.00000000e+00,  0.00000000e+00,
+ -5.72720336e-02,  0.00000000e+00,  0.00000000e+00,
+  1.32074560e-01,  0.00000000e+00,  0.00000000e+00,
+ -4.75687872e-02,  0.00000000e+00,  0.00000000e+00,
+  1.67275892e-01,  0.00000000e+00,  0.00000000e+00,
+  2.61949188e-01,  0.00000000e+00,  0.00000000e+00,
+  1.72127515e-01,  0.00000000e+00,  0.00000000e+00,
+  1.50224451e-01,  0.00000000e+00,  0.00000000e+00,
+  1.55076075e-01,  0.00000000e+00,  0.00000000e+00,
+  6.04027778e-02,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.66177441e-01,  0.00000000e+00,
+  0.00000000e+00, -5.72720336e-02,  0.00000000e+00,
+  0.00000000e+00,  1.32074560e-01,  0.00000000e+00,
+  0.00000000e+00, -4.75687872e-02,  0.00000000e+00,
+  0.00000000e+00,  1.67275892e-01,  0.00000000e+00,
+  0.00000000e+00,  2.61949188e-01,  0.00000000e+00,
+  0.00000000e+00,  1.72127515e-01,  0.00000000e+00,
+  0.00000000e+00,  1.50224451e-01,  0.00000000e+00,
+  0.00000000e+00,  1.55076075e-01,  0.00000000e+00,
+  0.00000000e+00,  6.04027778e-02,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.66177441e-01,
+  0.00000000e+00,  0.00000000e+00, -5.72720336e-02,
+  0.00000000e+00,  0.00000000e+00,  1.32074560e-01,
+  0.00000000e+00,  0.00000000e+00, -4.75687872e-02,
+  0.00000000e+00,  0.00000000e+00,  1.67275892e-01,
+  0.00000000e+00,  0.00000000e+00,  2.61949188e-01,
+  0.00000000e+00,  0.00000000e+00,  1.72127515e-01,
+  0.00000000e+00,  0.00000000e+00,  1.50224451e-01,
+  0.00000000e+00,  0.00000000e+00,  1.55076075e-01,
+  0.00000000e+00,  0.00000000e+00,  6.04027778e-02,
+  1.54439901e-01,  0.00000000e+00,  0.00000000e+00,
+ -6.90095736e-02,  0.00000000e+00,  0.00000000e+00,
+ -6.86963592e-02,  0.00000000e+00,  0.00000000e+00,
+  2.04847308e-01,  0.00000000e+00,  0.00000000e+00,
+  1.71970908e-01,  0.00000000e+00,  0.00000000e+00,
+  1.72127515e-01,  0.00000000e+00,  0.00000000e+00,
+  3.08899348e-01,  0.00000000e+00,  0.00000000e+00,
+  6.04027778e-02,  0.00000000e+00,  0.00000000e+00,
+  1.97331219e-01,  0.00000000e+00,  0.00000000e+00,
+  1.97174611e-01,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00,  1.54439901e-01,  0.00000000e+00,
+  0.00000000e+00, -6.90095736e-02,  0.00000000e+00,
+  0.00000000e+00, -6.86963592e-02,  0.00000000e+00,
+  0.00000000e+00,  2.04847308e-01,  0.00000000e+00,
+  0.00000000e+00,  1.71970908e-01,  0.00000000e+00,
+  0.00000000e+00,  1.72127515e-01,  0.00000000e+00,
+  0.00000000e+00,  3.08899348e-01,  0.00000000e+00,
+  0.00000000e+00,  6.04027778e-02,  0.00000000e+00,
+  0.00000000e+00,  1.97331219e-01,  0.00000000e+00,
+  0.00000000e+00,  1.97174611e-01,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00,  1.54439901e-01,
+  0.00000000e+00,  0.00000000e+00, -6.90095736e-02,
+  0.00000000e+00,  0.00000000e+00, -6.86963592e-02,
+  0.00000000e+00,  0.00000000e+00,  2.04847308e-01,
+  0.00000000e+00,  0.00000000e+00,  1.71970908e-01,
+  0.00000000e+00,  0.00000000e+00,  1.72127515e-01,
+  0.00000000e+00,  0.00000000e+00,  3.08899348e-01,
+  0.00000000e+00,  0.00000000e+00,  6.04027778e-02,
+  0.00000000e+00,  0.00000000e+00,  1.97331219e-01,
+  0.00000000e+00,  0.00000000e+00,  1.97174611e-01,
+ -4.80415809e-02,  0.00000000e+00,  0.00000000e+00,
+  1.34383659e-01,  0.00000000e+00,  0.00000000e+00,
+  1.37202589e-01,  0.00000000e+00,  0.00000000e+00,
+ -4.24407579e-02,  0.00000000e+00,  0.00000000e+00,
+  1.48814986e-01,  0.00000000e+00,  0.00000000e+00,
+  1.50224451e-01,  0.00000000e+00,  0.00000000e+00,
+  6.04027778e-02,  0.00000000e+00,  0.00000000e+00,
+  2.41437071e-01,  0.00000000e+00,  0.00000000e+00,
+  1.53024863e-01,  0.00000000e+00,  0.00000000e+00,
+  1.51615398e-01,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00, -4.80415809e-02,  0.00000000e+00,
+  0.00000000e+00,  1.34383659e-01,  0.00000000e+00,
+  0.00000000e+00,  1.37202589e-01,  0.00000000e+00,
+  0.00000000e+00, -4.24407579e-02,  0.00000000e+00,
+  0.00000000e+00,  1.48814986e-01,  0.00000000e+00,
+  0.00000000e+00,  1.50224451e-01,  0.00000000e+00,
+  0.00000000e+00,  6.04027778e-02,  0.00000000e+00,
+  0.00000000e+00,  2.41437071e-01,  0.00000000e+00,
+  0.00000000e+00,  1.53024863e-01,  0.00000000e+00,
+  0.00000000e+00,  1.51615398e-01,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00, -4.80415809e-02,
+  0.00000000e+00,  0.00000000e+00,  1.34383659e-01,
+  0.00000000e+00,  0.00000000e+00,  1.37202589e-01,
+  0.00000000e+00,  0.00000000e+00, -4.24407579e-02,
+  0.00000000e+00,  0.00000000e+00,  1.48814986e-01,
+  0.00000000e+00,  0.00000000e+00,  1.50224451e-01,
+  0.00000000e+00,  0.00000000e+00,  6.04027778e-02,
+  0.00000000e+00,  0.00000000e+00,  2.41437071e-01,
+  0.00000000e+00,  0.00000000e+00,  1.53024863e-01,
+  0.00000000e+00,  0.00000000e+00,  1.51615398e-01,
+ -6.01706390e-02,  0.00000000e+00,  0.00000000e+00,
+ -6.42730624e-02,  0.00000000e+00,  0.00000000e+00,
+  1.25073531e-01,  0.00000000e+00,  0.00000000e+00,
+  2.09583819e-01,  0.00000000e+00,  0.00000000e+00,
+  6.04027778e-02,  0.00000000e+00,  0.00000000e+00,
+  1.55076075e-01,  0.00000000e+00,  0.00000000e+00,
+  1.97331219e-01,  0.00000000e+00,  0.00000000e+00,
+  1.53024863e-01,  0.00000000e+00,  0.00000000e+00,
+  2.89953304e-01,  0.00000000e+00,  0.00000000e+00,
+  1.95280007e-01,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00, -6.01706390e-02,  0.00000000e+00,
+  0.00000000e+00, -6.42730624e-02,  0.00000000e+00,
+  0.00000000e+00,  1.25073531e-01,  0.00000000e+00,
+  0.00000000e+00,  2.09583819e-01,  0.00000000e+00,
+  0.00000000e+00,  6.04027778e-02,  0.00000000e+00,
+  0.00000000e+00,  1.55076075e-01,  0.00000000e+00,
+  0.00000000e+00,  1.97331219e-01,  0.00000000e+00,
+  0.00000000e+00,  1.53024863e-01,  0.00000000e+00,
+  0.00000000e+00,  2.89953304e-01,  0.00000000e+00,
+  0.00000000e+00,  1.95280007e-01,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00, -6.01706390e-02,
+  0.00000000e+00,  0.00000000e+00, -6.42730624e-02,
+  0.00000000e+00,  0.00000000e+00,  1.25073531e-01,
+  0.00000000e+00,  0.00000000e+00,  2.09583819e-01,
+  0.00000000e+00,  0.00000000e+00,  6.04027778e-02,
+  0.00000000e+00,  0.00000000e+00,  1.55076075e-01,
+  0.00000000e+00,  0.00000000e+00,  1.97331219e-01,
+  0.00000000e+00,  0.00000000e+00,  1.53024863e-01,
+  0.00000000e+00,  0.00000000e+00,  2.89953304e-01,
+  0.00000000e+00,  0.00000000e+00,  1.95280007e-01,
+ -5.97791209e-02,  0.00000000e+00,  0.00000000e+00,
+  1.22646119e-01,  0.00000000e+00,  0.00000000e+00,
+ -6.35683299e-02,  0.00000000e+00,  0.00000000e+00,
+  2.09975337e-01,  0.00000000e+00,  0.00000000e+00,
+  1.53510002e-01,  0.00000000e+00,  0.00000000e+00,
+  6.04027778e-02,  0.00000000e+00,  0.00000000e+00,
+  1.97174611e-01,  0.00000000e+00,  0.00000000e+00,
+  1.51615398e-01,  0.00000000e+00,  0.00000000e+00,
+  1.95280007e-01,  0.00000000e+00,  0.00000000e+00,
+  2.88387231e-01,  0.00000000e+00,  0.00000000e+00,
+  0.00000000e+00, -5.97791209e-02,  0.00000000e+00,
+  0.00000000e+00,  1.22646119e-01,  0.00000000e+00,
+  0.00000000e+00, -6.35683299e-02,  0.00000000e+00,
+  0.00000000e+00,  2.09975337e-01,  0.00000000e+00,
+  0.00000000e+00,  1.53510002e-01,  0.00000000e+00,
+  0.00000000e+00,  6.04027778e-02,  0.00000000e+00,
+  0.00000000e+00,  1.97174611e-01,  0.00000000e+00,
+  0.00000000e+00,  1.51615398e-01,  0.00000000e+00,
+  0.00000000e+00,  1.95280007e-01,  0.00000000e+00,
+  0.00000000e+00,  2.88387231e-01,  0.00000000e+00,
+  0.00000000e+00,  0.00000000e+00, -5.97791209e-02,
+  0.00000000e+00,  0.00000000e+00,  1.22646119e-01,
+  0.00000000e+00,  0.00000000e+00, -6.35683299e-02,
+  0.00000000e+00,  0.00000000e+00,  2.09975337e-01,
+  0.00000000e+00,  0.00000000e+00,  1.53510002e-01,
+  0.00000000e+00,  0.00000000e+00,  6.04027778e-02,
+  0.00000000e+00,  0.00000000e+00,  1.97174611e-01,
+  0.00000000e+00,  0.00000000e+00,  1.51615398e-01,
+  0.00000000e+00,  0.00000000e+00,  1.95280007e-01,
+  0.00000000e+00,  0.00000000e+00,  2.88387231e-01,
+};
+
+pylith::feassemble::IntegratorDataInertia3DQuadratic::IntegratorDataInertia3DQuadratic(void)
+{ // constructor
+  numVertices = _numVertices;
+  spaceDim = _spaceDim;
+  numCells = _numCells;
+  cellDim = _cellDim;
+  numCorners = _numCorners;
+  numQuadPts = _numQuadPts;
+  fiberDim = _fiberDim;
+  vertices = const_cast<double*>(_vertices);
+  cells = const_cast<int*>(_cells);
+  quadPts = const_cast<double*>(_quadPts);
+  quadWts = const_cast<double*>(_quadWts);
+  basis = const_cast<double*>(_basis);
+  basisDeriv = const_cast<double*>(_basisDeriv);
+  fieldIn = const_cast<double*>(_fieldIn);
+  valsAction = const_cast<double*>(_valsAction);
+  valsMatrix = const_cast<double*>(_valsMatrix);
+} // constructor
+
+pylith::feassemble::IntegratorDataInertia3DQuadratic::~IntegratorDataInertia3DQuadratic(void)
+{}
+
+
+// End of file

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DQuadratic.hh	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorDataInertia3DQuadratic.hh	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,76 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+//                           Brad T. Aagaard
+//                        U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application itnegratorinertia3dquadratic.
+
+#if !defined(pylith_feassemble_integratordatainertia3dquadratic_hh)
+#define pylith_feassemble_integratordatainertia3dquadratic_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+  namespace feassemble {
+     class IntegratorDataInertia3DQuadratic;
+  } // pylith
+} // feassemble
+
+class pylith::feassemble::IntegratorDataInertia3DQuadratic : public IntegratorData
+{
+
+public: 
+
+  /// Constructor
+  IntegratorDataInertia3DQuadratic(void);
+
+  /// Destructor
+  ~IntegratorDataInertia3DQuadratic(void);
+
+private:
+
+  static const int _numVertices;
+
+  static const int _spaceDim;
+
+  static const int _numCells;
+
+  static const int _cellDim;
+
+  static const int _numCorners;
+
+  static const int _numQuadPts;
+
+  static const int _fiberDim;
+
+  static const double _vertices[];
+
+  static const int _cells[];
+
+  static const double _quadPts[];
+
+  static const double _quadWts[];
+
+  static const double _basis[];
+
+  static const double _basisDeriv[];
+
+  static const double _fieldIn[];
+
+  static const double _valsAction[];
+
+  static const double _valsMatrix[];
+
+};
+
+#endif // pylith_feassemble_integratordatainertia3dquadratic_hh
+
+// End of file

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia1DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia1DQuadratic.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia1DQuadratic.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -13,7 +13,7 @@
 ## @file unittests/libtests/feassemble/data/IntegratorInertia1DQuadratic.py
 
 ## @brief Python application for generating C++ data files for testing
-## C++ IntegratorInertia object with 1-D cell and linear basis
+## C++ IntegratorInertia object with 1-D cell and quadratic basis
 ## functions.
 
 from IntegratorInertia import IntegratorInertia
@@ -26,12 +26,12 @@
 class IntegratorInertia1DQuadratic(IntegratorInertia):
   """
   Python application for generating C++ data files for testing C++
-  IntegratorInertia object with 1-D cell and linear basis functions.
+  IntegratorInertia object with 1-D cell and quadratic basis functions.
   """
   
   # PUBLIC METHODS /////////////////////////////////////////////////////
   
-  def __init__(self, name="itnegratorinertia1dlinear"):
+  def __init__(self, name="itnegratorinertia1dquadratic"):
     """
     Constructor.
     """
@@ -45,7 +45,7 @@
     self.fiberDim = 1
     
     self.vertices = numpy.array( [[-0.25], [0.875], [2.0]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
     self.fieldIn = numpy.array( [[1.2], [1.5], [-0.8]], dtype=numpy.float64)
     return

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DOne.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DOne.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DOne.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,66 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/IntegratorInertia2Din3DOne.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ IntegratorInertia object with 2-D cell in 3-D space and linear basis
+## functions.
+
+from IntegratorInertia import IntegratorInertia
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# IntegratorInertia2Din3DOne class
+class IntegratorInertia2Din3DOne(IntegratorInertia):
+  """
+  Python application for generating C++ data files for testing C++
+  IntegratorInertia object with 2-D cell in 3-D space and linear
+  basis functions.
+  """
+  
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+  
+  def __init__(self, name="itnegratorinertia2din3done"):
+    """
+    Constructor.
+    """
+    IntegratorInertia.__init__(self, name)
+
+    from Quadrature2Din3DLinearXYZ import Quadrature2Din3DLinearXYZ
+    self.quadrature = Quadrature2Din3DLinearXYZ()
+    
+    self.numVertices = 3
+    self.numCells = 1
+    self.fiberDim = 3
+    
+    self.vertices = numpy.array( [[ 0.5, -2.0, -0.5],
+                                  [ 3.0,  0.5,  0.0],
+                                  [-1.0,  2.0,  4.0]],
+                                 dtype=numpy.float64)
+    self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
+    self.fieldIn = numpy.array( [[1.2], [0.1], [-0.3],
+                                 [0.5], [-0.3], [1.2],
+                                 [1.1], [0.5], [0.8]], dtype=numpy.float64)
+    return
+  
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+  app = IntegratorInertia2Din3DOne()
+  app.run()
+
+
+# End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DThree.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DThree.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DThree.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,69 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/IntegratorInertia2Din3DThree.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ IntegratorInertia object with 2-D cell in 3-D space and linear basis
+## functions using 2 cells sharing 2 vertices.
+
+from IntegratorInertia import IntegratorInertia
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# IntegratorInertia2Din3DThree class
+class IntegratorInertia2Din3DThree(IntegratorInertia):
+  """
+  Python application for generating C++ data files for testing C++
+  IntegratorInertia object with 2-D cell in 3-D space and linear
+  basis functions using 2 cells sharing 2 vertices.
+  """
+  
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+  
+  def __init__(self, name="itnegratorinertia2din3dthree"):
+    """
+    Constructor.
+    """
+    IntegratorInertia.__init__(self, name)
+
+    from Quadrature2Din3DLinearXYZ import Quadrature2Din3DLinearXYZ
+    self.quadrature = Quadrature2Din3DLinearXYZ()
+    
+    self.numVertices = 4
+    self.numCells = 2
+    self.fiberDim = 3
+    
+    self.vertices = numpy.array( [[ 0.6, -2.0, -0.4],
+                                  [ 3.0,  0.5,  0.0],
+                                  [-1.0,  2.0,  4.0],
+                                  [-3.4, -0.5,  3.6]],
+                                 dtype=numpy.float64)
+    self.cells = numpy.array( [[0, 1, 2],
+                               [2, 3, 0]], dtype=numpy.Int32)
+    self.fieldIn = numpy.array( [[ 1.2], [ 0.1], [-0.3],
+                                 [ 0.2], [-0.8], [ 1.2],
+                                 [ 1.3], [-0.2], [ 1.7],
+                                 [ 1.1], [ 1.4], [ 0.9]], dtype=numpy.float64)
+    return
+  
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+  app = IntegratorInertia2Din3DThree()
+  app.run()
+
+
+# End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DTwo.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DTwo.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia2Din3DTwo.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/IntegratorInertia2Din3DTwo.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ IntegratorInertia object with 2-D cell in 3-D space and linear basis
+## functions using 2 cells sharing 1 vertex.
+
+from IntegratorInertia import IntegratorInertia
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# IntegratorInertia2Din3DTwo class
+class IntegratorInertia2Din3DTwo(IntegratorInertia):
+  """
+  Python application for generating C++ data files for testing C++
+  IntegratorInertia object with 2-D cell in 3-D space and linear
+  basis functions using 2 cells sharing 1 vertex.
+  """
+  
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+  
+  def __init__(self, name="itnegratorinertia2din3dtwo"):
+    """
+    Constructor.
+    """
+    IntegratorInertia.__init__(self, name)
+
+    from Quadrature2Din3DLinearXYZ import Quadrature2Din3DLinearXYZ
+    self.quadrature = Quadrature2Din3DLinearXYZ()
+    
+    self.numVertices = 5
+    self.numCells = 2
+    self.fiberDim = 3
+    
+    self.vertices = numpy.array( [[ 0.5, -2.0, -0.5],
+                                  [ 3.0,  0.5,  0.0],
+                                  [-1.0,  2.0,  4.0],
+                                  [ 7.0, -1.0, -4.0],
+                                  [ 5.5,  3.0,  0.5]],
+                                 dtype=numpy.float64)
+    self.cells = numpy.array( [[0, 1, 2],
+                               [3, 4, 1]], dtype=numpy.Int32)
+    self.fieldIn = numpy.array( [[ 1.2], [ 0.1], [-0.3],
+                                 [ 0.2], [-0.8], [ 1.2],
+                                 [-0.9], [-0.7], [ 0.5],
+                                 [ 1.3], [-0.2], [ 1.7],
+                                 [ 1.1], [ 1.4], [ 0.9]], dtype=numpy.float64)
+    return
+  
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+  app = IntegratorInertia2Din3DTwo()
+  app.run()
+
+
+# End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia3DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia3DLinear.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia3DLinear.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,66 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/IntegratorInertia3DLinear.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ IntegratorInertia object with 3-D cell and linear basis
+## functions.
+
+from IntegratorInertia import IntegratorInertia
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# IntegratorInertia3DLinear class
+class IntegratorInertia3DLinear(IntegratorInertia):
+  """
+  Python application for generating C++ data files for testing C++
+  IntegratorInertia object with 3-D cell and linear basis functions.
+  """
+  
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+  
+  def __init__(self, name="itnegratorinertia3dlinear"):
+    """
+    Constructor.
+    """
+    IntegratorInertia.__init__(self, name)
+
+    from Quadrature3DLinear import Quadrature3DLinear
+    self.quadrature = Quadrature3DLinear()
+    
+    self.numVertices = 4
+    self.numCells = 1
+    self.fiberDim = 3
+    
+    self.vertices = numpy.array( [[-0.5, -1.0, -0.5],
+                                  [ 2.0, -0.5, -0.4],
+                                  [ 1.0, -0.1, -0.3],
+                                  [-0.2,  0.5,  2.0]], dtype=numpy.float64)
+    self.cells = numpy.array( [[0, 1, 2, 3]], dtype=numpy.Int32)
+    self.fieldIn = numpy.array( [[ 1.2], [ 0.1], [-0.3],
+                                 [ 0.2], [-0.8], [ 1.2],
+                                 [ 1.3], [-0.2], [ 1.7],
+                                 [ 1.1], [ 1.4], [ 0.9]], dtype=numpy.float64)
+    return
+  
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+  app = IntegratorInertia3DLinear()
+  app.run()
+
+
+# End of file 

Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia3DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia3DQuadratic.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorInertia3DQuadratic.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -0,0 +1,80 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/IntegratorInertia3DQuadratic.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ IntegratorInertia object with 1-D cell and quadratic basis
+## functions.
+
+from IntegratorInertia import IntegratorInertia
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# IntegratorInertia3DQuadratic class
+class IntegratorInertia3DQuadratic(IntegratorInertia):
+  """
+  Python application for generating C++ data files for testing C++
+  IntegratorInertia object with 1-D cell and quadratic basis functions.
+  """
+  
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+  
+  def __init__(self, name="itnegratorinertia3dquadratic"):
+    """
+    Constructor.
+    """
+    IntegratorInertia.__init__(self, name)
+
+    from Quadrature3DQuadratic import Quadrature3DQuadratic
+    self.quadrature = Quadrature3DQuadratic()
+    
+    self.numVertices = 10
+    self.numCells = 1
+    self.fiberDim = 3
+    
+    self.vertices = numpy.array( [[-0.5, -2.0, -1.0],
+                                  [ 2.0, -2.0, -0.5],
+                                  [ 1.0,  1.0,  0.0],
+                                  [ 0.2,  0.5,  2.0],
+                                  [ 0.7, -2.1, -0.8],
+                                  [ 0.3, -0.5, -0.5],
+                                  [-0.2, -0.8,  0.5],
+                                  [ 1.5, -0.6, -0.2],
+                                  [ 0.6,  0.8,  0.9],
+                                  [ 1.1, -0.8,  0.7]],
+                                 dtype=numpy.float64)
+    self.cells = numpy.array( [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]],
+                              dtype=numpy.Int32)
+    self.fieldIn = numpy.array( [[1.2], [1.5], [0.3],
+                                 [0.8], [0.9], [1.4],
+                                 [0.7], [0.2], [0.8],
+                                 [1.4], [1.5], [1.4],
+                                 [0.5], [0.7], [1.6],
+                                 [1.9], [1.2], [1.3],
+                                 [0.6], [0.3], [1.5],
+                                 [1.3], [0.6], [0.3],
+                                 [1.4], [0.1], [1.8],
+                                 [0.2], [1.0], [0.8]], dtype=numpy.float64)
+    return
+  
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+  app = IntegratorInertia3DQuadratic()
+  app.run()
+
+
+# End of file 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1DLinear.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1DLinear.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -56,9 +56,9 @@
     self.numCorners = 2
     self.numQuadPts = 1
     
-    self.quadPtsRef = numpy.array( [[0.0]], dtype=numpy.Float64)
-    self.quadWts = numpy.array([2.0], dtype=numpy.Float64)
-    self.vertices = numpy.array( [[-0.25], [2.0]], dtype=numpy.Float64)
+    self.quadPtsRef = numpy.array( [[0.0]], dtype=numpy.float64)
+    self.quadWts = numpy.array([2.0], dtype=numpy.float64)
+    self.vertices = numpy.array( [[-0.25], [2.0]], dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1]], dtype=numpy.Int32)
     return
   
@@ -71,19 +71,19 @@
     """
 
     self.basis = numpy.zeros( (self.numQuadPts, self.numCorners),
-                              dtype=numpy.Float64)
+                              dtype=numpy.float64)
     self.basisDeriv = numpy.zeros( (self.numQuadPts,
                                     self.numCorners, self.cellDim),
-                                   dtype=numpy.Float64)
+                                   dtype=numpy.float64)
 
     iQuad = 0
     for q in self.quadPtsRef:
       # Basis functions at quadrature points
-      basis = numpy.array([N0(q), N1(q)], dtype=numpy.Float64)
+      basis = numpy.array([N0(q), N1(q)], dtype=numpy.float64)
       self.basis[iQuad,:] = basis.reshape( (self.numCorners,) )
 
       # Derivatives of basis functions at quadrature points
-      deriv = numpy.array([[N0p(q)], [N1p(q)]], dtype=numpy.Float64)      
+      deriv = numpy.array([[N0p(q)], [N1p(q)]], dtype=numpy.float64)      
       self.basisDeriv[iQuad,:] = deriv.reshape((self.numCorners, self.cellDim))
 
       iQuad += 1

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1DQuadratic.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1DQuadratic.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -64,10 +64,10 @@
     
     self.quadPtsRef = numpy.array( [[-1.0/3**0.5],
                                     [+1.0/3**0.5]],
-                                   dtype=numpy.Float64)
-    self.quadWts = numpy.array([1.0, 1.0], dtype=numpy.Float64)
+                                   dtype=numpy.float64)
+    self.quadWts = numpy.array([1.0, 1.0], dtype=numpy.float64)
     self.vertices = numpy.array( [[-0.25], [0.875], [2.0]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
     
     return
@@ -81,20 +81,20 @@
     """
 
     self.basis = numpy.zeros( (self.numQuadPts, self.numCorners),
-                              dtype=numpy.Float64)
+                              dtype=numpy.float64)
     self.basisDeriv = numpy.zeros( (self.numQuadPts,
                                     self.numCorners, self.cellDim),
-                                   dtype=numpy.Float64)
+                                   dtype=numpy.float64)
 
     iQuad = 0
     for q in self.quadPtsRef:
       # Basis functions at quadrature points
-      basis = numpy.array([N0(q), N1(q), N2(q)], dtype=numpy.Float64)
+      basis = numpy.array([N0(q), N1(q), N2(q)], dtype=numpy.float64)
       self.basis[iQuad] = basis.reshape( (self.numCorners,) )
 
       # Derivatives of basis functions at quadrature points
       deriv = numpy.array([[N0p(q)], [N1p(q)], [N2p(q)]],
-                          dtype=numpy.Float64)      
+                          dtype=numpy.float64)      
       self.basisDeriv[iQuad] = deriv.reshape((self.numCorners, self.cellDim))
 
       iQuad += 1

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din2DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din2DLinear.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din2DLinear.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -44,7 +44,7 @@
     self.numQuadPts = 1
     
     self.vertices = numpy.array( [[-0.2, -0.5], [0.7, 0.3]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1]], dtype=numpy.Int32)
     return
   

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din2DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din2DQuadratic.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din2DQuadratic.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -44,7 +44,7 @@
     self.numQuadPts = 2
     
     self.vertices = numpy.array( [[-0.2, -0.5], [0.3, -0.2], [0.7, 0.3]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
     
     return

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din3DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din3DLinear.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din3DLinear.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -45,7 +45,7 @@
     
     self.vertices = numpy.array( [[1.0, -1.5, -2.0],
                                   [-0.5, 2.0,  3.0]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1]], dtype=numpy.Int32)
     return
   

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din3DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din3DQuadratic.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature1Din3DQuadratic.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -46,7 +46,7 @@
     self.vertices = numpy.array( [[1.0, -1.5, -2.0],
                                   [0.3, 0.3, 0.8],
                                   [-0.5, 2.0, 3.0]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
     
     return

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2DLinear.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2DLinear.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -71,11 +71,11 @@
     self.numCorners = 3
     self.numQuadPts = 1
     
-    self.quadPtsRef = numpy.array( [[1.0/3.0, 1.0/3.0]], dtype=numpy.Float64)
-    self.quadWts = numpy.array([0.5], dtype=numpy.Float64)
+    self.quadPtsRef = numpy.array( [[1.0/3.0, 1.0/3.0]], dtype=numpy.float64)
+    self.quadWts = numpy.array([0.5], dtype=numpy.float64)
     self.vertices = numpy.array( [[0.2, -0.4],
                                   [0.3, 0.5],
-                                  [-1.0, -0.2]], dtype=numpy.Float64)
+                                  [-1.0, -0.2]], dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
     return
   
@@ -86,21 +86,21 @@
     """
 
     self.basis = numpy.zeros( (self.numQuadPts, self.numCorners),
-                              dtype=numpy.Float64)
+                              dtype=numpy.float64)
     self.basisDeriv = numpy.zeros( (self.numQuadPts,
                                     self.numCorners, self.cellDim),
-                                   dtype=numpy.Float64)
+                                   dtype=numpy.float64)
 
     iQuad = 0
     for q in self.quadPtsRef:
       # Basis functions at quadrature points
-      basis = numpy.array([N0(q), N1(q), N2(q)], dtype=numpy.Float64)
+      basis = numpy.array([N0(q), N1(q), N2(q)], dtype=numpy.float64)
       self.basis[iQuad] = basis.reshape( (self.numCorners,) )
 
       # Derivatives of basis functions at quadrature points
       deriv = numpy.array([[N0p(q), N0q(q)],
                            [N1p(q), N1q(q)],
-                           [N2p(q), N2q(q)]], dtype=numpy.Float64)      
+                           [N2p(q), N2q(q)]], dtype=numpy.float64)      
       self.basisDeriv[iQuad] = deriv.reshape((self.numCorners, self.cellDim))
 
       iQuad += 1

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2DQuadratic.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2DQuadratic.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -101,16 +101,16 @@
     self.quadPtsRef = numpy.array( [[2.0/3.0, 1.0/6.0],
                                     [1.0/6.0, 2.0/3.0],
                                     [1.0/6.0, 1.0/6.0]],
-                                   dtype=numpy.Float64)
+                                   dtype=numpy.float64)
     self.quadWts = numpy.array([1.0/6.0, 1.0/6.0, 1.0/6.0],
-                               dtype=numpy.Float64)
+                               dtype=numpy.float64)
     self.vertices = numpy.array( [[-1.0, -1.0],
                                   [+1.0, +0.2],
                                   [-1.5, +0.5],
                                   [+0.0, -0.6],
                                   [+0.25, +0.35],
                                   [-1.25, -0.25]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2, 3, 4, 5]], dtype=numpy.Int32)
     
     return
@@ -122,16 +122,16 @@
     """
 
     self.basis = numpy.zeros( (self.numQuadPts, self.numCorners),
-                              dtype=numpy.Float64)
+                              dtype=numpy.float64)
     self.basisDeriv = numpy.zeros( (self.numQuadPts,
                                     self.numCorners, self.cellDim),
-                                   dtype=numpy.Float64)
+                                   dtype=numpy.float64)
 
     iQuad = 0
     for q in self.quadPtsRef:
       # Basis functions at quadrature points
       basis = numpy.array([N0(q), N1(q), N2(q), N3(q), N4(q), N5(q)],
-                          dtype=numpy.Float64)
+                          dtype=numpy.float64)
       self.basis[iQuad] = basis.reshape( (self.numCorners,) )
 
       # Derivatives of basis functions at quadrature points
@@ -141,7 +141,7 @@
                            [N3p(q), N3q(q)],
                            [N4p(q), N4q(q)],
                            [N5p(q), N5q(q)]],
-                          dtype=numpy.Float64)      
+                          dtype=numpy.float64)      
       self.basisDeriv[iQuad] = deriv.reshape((self.numCorners, self.cellDim))
 
       iQuad += 1

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXY.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXY.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXY.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -46,7 +46,7 @@
     self.vertices = numpy.array( [[ 0.0,  0.0,  0.0],
                                   [ 1.0,  0.0,  0.0],
                                   [ 0.0,  1.0,  0.0]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
     return
   

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXYZ.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXYZ.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXYZ.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -46,7 +46,7 @@
     self.vertices = numpy.array( [[ 0.5, -2.0, -0.5],
                                   [ 3.0,  0.5,  0.0],
                                   [-1.0,  2.0,  4.0]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
     return
   

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXZ.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXZ.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearXZ.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -46,7 +46,7 @@
     self.vertices = numpy.array( [[ 0.0,  0.0,  0.0],
                                   [-1.0,  0.0,  0.0],
                                   [ 0.0,  0.0,  1.0]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
     return
   

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearYZ.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearYZ.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DLinearYZ.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -46,7 +46,7 @@
     self.vertices = numpy.array( [[ 0.0,  0.0,  0.0],
                                   [ 0.0,  1.0,  0.0],
                                   [ 0.0,  0.0,  1.0]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2]], dtype=numpy.Int32)
     return
   

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DQuadratic.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature2Din3DQuadratic.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -49,7 +49,7 @@
                                   [ 1.3,  1.2, -0.3],
                                   [ 0.1,  1.4,  0.9],
                                   [ 0.8, -0.3,  0.7]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2, 3, 4, 5]], dtype=numpy.Int32)
     
     return

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DLinear.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DLinear.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -93,12 +93,12 @@
     self.numQuadPts = 1
     
     self.quadPtsRef = numpy.array( [[1.0/3.0, 1.0/3.0, 1.0/3.0]],
-                                   dtype=numpy.Float64)
-    self.quadWts = numpy.array([1.0/6.0], dtype=numpy.Float64)
+                                   dtype=numpy.float64)
+    self.quadWts = numpy.array([1.0/6.0], dtype=numpy.float64)
     self.vertices = numpy.array( [[-0.5, -1.0, -0.5],
                                   [ 2.0, -0.5, -0.4],
                                   [ 1.0, -0.1, -0.3],
-                                  [-0.2,  0.5,  2.0]], dtype=numpy.Float64)
+                                  [-0.2,  0.5,  2.0]], dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2, 3]], dtype=numpy.Int32)
     return
   
@@ -109,15 +109,15 @@
     """
 
     self.basis = numpy.zeros( (self.numQuadPts, self.numCorners),
-                              dtype=numpy.Float64)
+                              dtype=numpy.float64)
     self.basisDeriv = numpy.zeros( (self.numQuadPts,
                                     self.numCorners, self.cellDim),
-                                   dtype=numpy.Float64)
+                                   dtype=numpy.float64)
 
     iQuad = 0
     for q in self.quadPtsRef:
       # Basis functions at quadrature points
-      basis = numpy.array([N0(q), N1(q), N2(q), N3(q)], dtype=numpy.Float64)
+      basis = numpy.array([N0(q), N1(q), N2(q), N3(q)], dtype=numpy.float64)
       self.basis[iQuad] = basis.reshape( (self.numCorners,) )
 
       # Derivatives of basis functions at quadrature points
@@ -125,7 +125,7 @@
                            [N1p(q), N1q(q), N1r(q)],
                            [N2p(q), N2q(q), N2r(q)],
                            [N3p(q), N3q(q), N3r(q)]],
-                          dtype=numpy.Float64)      
+                          dtype=numpy.float64)      
       self.basisDeriv[iQuad] = deriv.reshape((self.numCorners, self.cellDim))
 
       iQuad += 1

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DQuadratic.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Quadrature3DQuadratic.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -169,20 +169,9 @@
                                     [3.0/4.0, 1.0/12.0, 1.0/12.0],
                                     [1.0/12.0, 3.0/4.0, 1.0/12.0],
                                     [1.0/12.0, 1.0/12.0, 3.0/4.0]],
-                                   dtype=numpy.Float64)
+                                   dtype=numpy.float64)
     self.quadWts = numpy.array([1.0/8.0, 1.0/8.0, 1.0/8.0, 1.0/8.0],
-                               dtype=numpy.Float64)
-    self.vertices = numpy.array( [[0.0, 0.0, 0.0],
-                                  [1.0, 0.0, 0.0],
-                                  [0.0, 1.0, 0.0],
-                                  [0.0, 0.0, 1.0],
-                                  [0.5, 0.0, 0.0],
-                                  [0.0, 0.5, 0.0],
-                                  [0.0, 0.0, 0.5],
-                                  [0.5, 0.5, 0.0],
-                                  [0.0, 0.5, 0.5],
-                                  [0.5, 0.0, 0.5]],
-                                 dtype=numpy.Float64)
+                               dtype=numpy.float64)
     
     self.vertices = numpy.array( [[-0.5, -2.0, -1.0],
                                   [ 2.0, -2.0, -0.5],
@@ -194,7 +183,7 @@
                                   [ 1.5, -0.6, -0.2],
                                   [ 0.6,  0.8,  0.9],
                                   [ 1.1, -0.8,  0.7]],
-                                 dtype=numpy.Float64)
+                                 dtype=numpy.float64)
     self.cells = numpy.array( [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]],
                               dtype=numpy.Int32)
     
@@ -207,17 +196,17 @@
     """
 
     self.basis = numpy.zeros( (self.numQuadPts, self.numCorners),
-                              dtype=numpy.Float64)
+                              dtype=numpy.float64)
     self.basisDeriv = numpy.zeros( (self.numQuadPts,
                                     self.numCorners, self.cellDim),
-                                   dtype=numpy.Float64)
+                                   dtype=numpy.float64)
 
     iQuad = 0
     for q in self.quadPtsRef:
       # Basis functions at quadrature points
       basis = numpy.array([N0(q), N1(q), N2(q), N3(q), N4(q),
                            N5(q), N6(q), N7(q), N8(q), N9(q)],
-                          dtype=numpy.Float64)
+                          dtype=numpy.float64)
       self.basis[iQuad] = basis.reshape( (self.numCorners,) )
 
       # Derivatives of basis functions at quadrature points
@@ -231,7 +220,7 @@
                            [N7p(q), N7q(q), N7r(q)],
                            [N8p(q), N8q(q), N8r(q)],
                            [N9p(q), N9q(q), N9r(q)]],
-                          dtype=numpy.Float64)      
+                          dtype=numpy.float64)      
       self.basisDeriv[iQuad] = deriv.reshape((self.numCorners, self.cellDim))
 
       iQuad += 1

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/feutils.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/feutils.py	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/feutils.py	2006-10-28 23:23:24 UTC (rev 5113)
@@ -28,11 +28,11 @@
   """
   jacobian = numpy.zeros( (quadrature.numQuadPts,
                            quadrature.cellDim, quadrature.spaceDim),
-                          dtype=numpy.Float64)
+                          dtype=numpy.float64)
   jacobianInv = numpy.zeros( (quadrature.numQuadPts,
                               quadrature.spaceDim, quadrature.cellDim),
-                             dtype=numpy.Float64)
-  jacobianDet = numpy.zeros( (quadrature.numQuadPts,), dtype=numpy.Float64)
+                             dtype=numpy.float64)
+  jacobianDet = numpy.zeros( (quadrature.numQuadPts,), dtype=numpy.float64)
     
   iQuad = 0
   for q in quadrature.quadPtsRef:
@@ -66,18 +66,18 @@
             jacobianInv[iQuad] = numpy.array([ [ij01[0,0], ij01[0,1]],
                                                [ij01[1,0], ij01[1,1]],
                                                [ij12[1,0], ij12[1,1]] ],
-                                             dtype=numpy.Float64)
+                                             dtype=numpy.float64)
           elif abs(det02) > minJacobian:
             ij02 = numpy.linalg.inv(jj02)
             jacobianInv[iQuad] = numpy.array([ [ij01[0,0], ij01[0,1]],
                                                [ij01[1,0], ij01[1,1]],
                                                [ij02[1,0], ij02[1,1]] ],
-                                             dtype=numpy.Float64)
+                                             dtype=numpy.float64)
           else:
             jacobianInv[iQuad] = numpy.array([ [ij01[0,0], ij01[0,1]],
                                                [ij01[1,0], ij01[1,1]],
                                                [      0.0,       0.0] ],
-                                             dtype=numpy.Float64)
+                                             dtype=numpy.float64)
         elif abs(det02) > minJacobian:
           ij02 = numpy.linalg.inv(jj02)
           if abs(det12) > minJacobian:
@@ -85,18 +85,18 @@
             jacobianInv[iQuad] = numpy.array([ [ij02[0,0], ij02[0,1]],
                                                [ij12[0,0], ij12[0,1]],
                                                [ij02[1,0], ij02[1,1]] ],
-                                             dtype=numpy.Float64)
+                                             dtype=numpy.float64)
           else:
             jacobianInv[iQuad] = numpy.array([ [ij02[0,0], ij02[0,1]],
                                                [      0.0,       0.0],
                                                [ij02[1,0], ij02[1,1]] ],
-                                             dtype=numpy.Float64)
+                                             dtype=numpy.float64)
         elif abs(det12) > minJacobian:
           ij12 = numpy.linalg.inv(jj12)
           jacobianInv[iQuad] = numpy.array([ [      0.0,       0.0],
                                              [ij12[0,0], ij12[0,1]],
                                              [ij12[1,0], ij12[1,1]] ],
-                                           dtype=numpy.Float64)
+                                           dtype=numpy.float64)
         else:
           raise ValueError("Could not find inverse of Jacobian.")
       else:
@@ -110,8 +110,21 @@
   """
   Assemble cell matrix into global matrix.
   """
-  # :KLUDGE: Assume only 1 cell in problem so assembly is trivial
-  globalMat += cellMat
+  (nrows, ncols) = cellMat.shape
+  numCorners = len(cell)
+  fiberDim = nrows / numCorners
+  for iR in xrange(numCorners):
+    ibeginL = iR * fiberDim
+    iendL = ibeginL + fiberDim
+    ibeginG = cell[iR] * fiberDim
+    iendG = ibeginG + fiberDim
+    for iC in xrange(numCorners):
+      jbeginL = iC * fiberDim
+      jendL = jbeginL + fiberDim
+      jbeginG = cell[iC] * fiberDim
+      jendG = jbeginG + fiberDim
+      globalMat[ibeginG:iendG, jbeginG:jendG] += cellMat[ibeginL:iendL,
+                                                         jbeginL:jendL]
   return
 
   

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh	2006-10-28 04:39:58 UTC (rev 5112)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh	2006-10-28 23:23:24 UTC (rev 5113)
@@ -116,6 +116,35 @@
     --data.object=IntegratorDataInertia1DQuadratic \
     --data.parent=IntegratorData
 
+  # 2-D ----------------------------------------------------------------
+
+  python IntegratorInertia2Din3DOne.py \
+    --data.namespace=pylith,feassemble \
+    --data.object=IntegratorDataInertia2Din3DOne \
+    --data.parent=IntegratorData
+
+  python IntegratorInertia2Din3DTwo.py \
+    --data.namespace=pylith,feassemble \
+    --data.object=IntegratorDataInertia2Din3DTwo \
+    --data.parent=IntegratorData
+
+  python IntegratorInertia2Din3DThree.py \
+    --data.namespace=pylith,feassemble \
+    --data.object=IntegratorDataInertia2Din3DThree \
+    --data.parent=IntegratorData
+
+  # 3-D ----------------------------------------------------------------
+
+  python IntegratorInertia3DLinear.py \
+    --data.namespace=pylith,feassemble \
+    --data.object=IntegratorDataInertia3DLinear \
+    --data.parent=IntegratorData
+
+  python IntegratorInertia3DQuadratic.py \
+    --data.namespace=pylith,feassemble \
+    --data.object=IntegratorDataInertia3DQuadratic \
+    --data.parent=IntegratorData
+
 fi
 
 



More information about the cig-commits mailing list