[cig-commits] r15958 - short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data

brad at geodynamics.org brad at geodynamics.org
Wed Nov 11 20:13:54 PST 2009


Author: brad
Date: 2009-11-11 20:13:52 -0800 (Wed, 11 Nov 2009)
New Revision: 15958

Added:
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/IntegratorElasticityLgDeform.py
Modified:
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicit.py
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicit.py
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGrav.py
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/IntegratorElasticity.py
   short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/generate.sh
Log:
Reorganized python code for generating test data.

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicit.py
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicit.py	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicit.py	2009-11-12 04:13:52 UTC (rev 15958)
@@ -15,14 +15,14 @@
 ## @brief Python application for generating C++ data files for testing
 ## C++ ElasticityExplicit object.
 
-from IntegratorElasticity import IntegratorElasticity
+from pyre.components.Component import Component
 
 import numpy
 
 # ----------------------------------------------------------------------
 
 # ElasticityExplicit class
-class ElasticityExplicit(IntegratorElasticity):
+class ElasticityExplicit(Component):
   """
   Python application for generating C++ data files for testing C++
   ElasticityExplicit object.
@@ -34,45 +34,43 @@
     """
     Constructor.
     """
-    IntegratorElasticity.__init__(self, name)
+    Component.__init__(self, name, facility="formulation")
     return
   
 
   # PRIVATE METHODS ////////////////////////////////////////////////////
 
-  def _calculateResidual(self):
+  def calculateResidual(self, integrator):
     """
     Calculate contribution to residual of operator for integrator.
 
     {r} = (1/dt**2)[M](-{u(t+dt)} + 2 {u(t)} - {u(t-dt)}) -
           [K]{u(t)}
     """
-    K = self._calculateStiffnessMat()    
-    M = self._calculateMassMat()
+    K = integrator._calculateStiffnessMat()    
+    M = integrator._calculateMassMat()
 
-    dispResult = self.fieldT - self.fieldTmdt
-    self.valsResidual = 1.0/self.dt**2 * numpy.dot(M, dispResult) - \
-                        numpy.dot(K, self.fieldT)
-    return
+    dispResult = integrator.fieldT - integrator.fieldTmdt
+    residual = 1.0/integrator.dt**2 * numpy.dot(M, dispResult) - \
+        numpy.dot(K, integrator.fieldT)
+    return residual
 
 
-  def _calculateJacobian(self):
+  def calculateJacobian(self, integrator):
     """
     Calculate contribution to Jacobian matrix of operator for integrator.
 
     [A] = (1/dt**2)[M]
     """
-    M = self._calculateMassMat()
+    M = integrator._calculateMassMat()
 
-    self.valsJacobian = 1.0/self.dt**2 * M
-    return
+    jacobian = 1.0/integrator.dt**2 * M
+    return jacobian
 
 
-# MAIN /////////////////////////////////////////////////////////////////
-if __name__ == "__main__":
+# FACTORY //////////////////////////////////////////////////////////////
+def formulation():
+  return ElasticityExplicit()
 
-  app = ElasticityExplicit()
-  app.run()
 
-
 # End of file 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityExplicitData1DLinear.hh"
 
@@ -89,7 +89,7 @@
 };
 
 const double pylith::feassemble::ElasticityExplicitData1DLinear::_valsResidual[] = {
-  1.60042187e+10,
+  1.60042188e+10,
  -1.59957812e+10,
 };
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityexplicitdata1dlinear_hh)
 #define pylith_feassemble_elasticityexplicitdata1dlinear_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityExplicitData1DQuadratic.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityexplicitdata1dquadratic_hh)
 #define pylith_feassemble_elasticityexplicitdata1dquadratic_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityExplicitData2DLinear.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityexplicitdata2dlinear_hh)
 #define pylith_feassemble_elasticityexplicitdata2dlinear_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityExplicitData2DQuadratic.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityexplicitdata2dquadratic_hh)
 #define pylith_feassemble_elasticityexplicitdata2dquadratic_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityExplicitData3DLinear.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityexplicitdata3dlinear_hh)
 #define pylith_feassemble_elasticityexplicitdata3dlinear_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityExplicitData3DQuadratic.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityexplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityexplicitdata3dquadratic_hh)
 #define pylith_feassemble_elasticityexplicitdata3dquadratic_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicit.py
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicit.py	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicit.py	2009-11-12 04:13:52 UTC (rev 15958)
@@ -15,14 +15,14 @@
 ## @brief Python application for generating C++ data files for testing
 ## C++ ElasticityImplicit object.
 
-from IntegratorElasticity import IntegratorElasticity
+from pyre.components.Component import Component
 
 import numpy
 
 # ----------------------------------------------------------------------
 
 # ElasticityImplicit class
-class ElasticityImplicit(IntegratorElasticity):
+class ElasticityImplicit(Component):
   """
   Python application for generating C++ data files for testing C++
   ElasticityImplicit object.
@@ -34,41 +34,39 @@
     """
     Constructor.
     """
-    IntegratorElasticity.__init__(self, name)
+    Component.__init__(self, name, facility="formulation")
     return
   
 
   # PRIVATE METHODS ////////////////////////////////////////////////////
 
-  def _calculateResidual(self):
+  def calculateResidual(self, integrator):
     """
     Calculate contribution to residual of operator for integrator.
 
     {r} = -[K]{u(t)}
     """
-    K = self._calculateStiffnessMat()    
+    K = integrator._calculateStiffnessMat()    
 
-    self.valsResidual = -numpy.dot(K, self.fieldT+self.fieldTIncr)
-    return
+    residual = -numpy.dot(K, integrator.fieldT+integrator.fieldTIncr)
+    return residual
 
 
-  def _calculateJacobian(self):
+  def calculateJacobian(self, integrator):
     """
     Calculate contribution to Jacobian matrix of operator for integrator.
 
     [A] = [K]
     """
-    K = self._calculateStiffnessMat()    
+    K = integrator._calculateStiffnessMat()    
 
-    self.valsJacobian = K
-    return
+    jacobian = K
+    return jacobian
 
 
-# MAIN /////////////////////////////////////////////////////////////////
-if __name__ == "__main__":
+# FACTORY //////////////////////////////////////////////////////////////
+def formulation():
+  return ElasticityImplicit()
 
-  app = ElasticityImplicit()
-  app.run()
 
-
 # End of file 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitData1DLinear.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitdata1dlinear_hh)
 #define pylith_feassemble_elasticityimplicitdata1dlinear_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitData1DQuadratic.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitdata1dquadratic_hh)
 #define pylith_feassemble_elasticityimplicitdata1dquadratic_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitData2DLinear.hh"
 
@@ -58,7 +58,7 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DLinear::_quadPts[] = {
-  3.33333333e-01,  3.33333333e-01,
+ -3.33333333e-01, -3.33333333e-01,
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DLinear::_quadWts[] = {
@@ -66,8 +66,8 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DLinear::_basis[] = {
- -3.33333333e-01,  6.66666667e-01,
-  6.66666667e-01,};
+  3.33333333e-01,  3.33333333e-01,
+  3.33333333e-01,};
 
 const double pylith::feassemble::ElasticityImplicitData2DLinear::_basisDerivRef[] = {
  -5.00000000e-01, -5.00000000e-01,

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitdata2dlinear_hh)
 #define pylith_feassemble_elasticityimplicitdata2dlinear_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitData2DQuadratic.hh"
 
@@ -25,7 +25,7 @@
 
 const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_numBasis = 6;
 
-const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_numQuadPts = 3;
+const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_numQuadPts = 6;
 
 const char* pylith::feassemble::ElasticityImplicitData2DQuadratic::_matType = "ElasticPlaneStrain";
 
@@ -64,29 +64,59 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_quadPts[] = {
+ -7.50000000e-01, -7.50000000e-01,
+  7.50000000e-01, -7.50000000e-01,
+ -7.50000000e-01,  7.50000000e-01,
   0.00000000e+00, -7.50000000e-01,
  -7.50000000e-01,  0.00000000e+00,
- -7.50000000e-01, -7.50000000e-01,
+  2.50000000e-01,  2.50000000e-01,
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_quadWts[] = {
-  6.66666667e-01,  6.66666667e-01,  6.66666667e-01,
+  3.33333333e-01,  3.33333333e-01,  3.33333333e-01,  3.33333333e-01,  3.33333333e-01,  3.33333333e-01,
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_basis[] = {
+  3.75000000e-01, -9.37500000e-02,
+ -9.37500000e-02,  6.25000000e-02,
+  3.75000000e-01,  3.75000000e-01,
+  0.00000000e+00,  6.56250000e-01,
+ -9.37500000e-02,  4.37500000e-01,
+ -0.00000000e+00, -0.00000000e+00,
+  0.00000000e+00, -9.37500000e-02,
+  6.56250000e-01,  4.37500000e-01,
+ -0.00000000e+00, -0.00000000e+00,
  -9.37500000e-02,  0.00000000e+00,
  -9.37500000e-02,  2.50000000e-01,
   1.87500000e-01,  7.50000000e-01,
  -9.37500000e-02, -9.37500000e-02,
   0.00000000e+00,  2.50000000e-01,
   7.50000000e-01,  1.87500000e-01,
-  3.75000000e-01, -9.37500000e-02,
- -9.37500000e-02,  6.25000000e-02,
-  3.75000000e-01,  3.75000000e-01,
+  3.75000000e-01,  1.56250000e-01,
+  1.56250000e-01,  1.56250000e+00,
+ -6.25000000e-01, -6.25000000e-01,
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_basisDerivRef[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ -2.50000000e-01,  0.00000000e+00,
+  0.00000000e+00, -2.50000000e-01,
+  2.50000000e-01,  2.50000000e-01,
+ -2.50000000e-01,  1.25000000e+00,
+  1.25000000e+00, -2.50000000e-01,
+  5.00000000e-01,  5.00000000e-01,
+  1.25000000e+00,  0.00000000e+00,
+  0.00000000e+00, -2.50000000e-01,
+  2.50000000e-01,  1.75000000e+00,
  -2.50000000e-01, -2.50000000e-01,
+ -1.75000000e+00, -1.75000000e+00,
+  5.00000000e-01,  5.00000000e-01,
+ -2.50000000e-01,  0.00000000e+00,
+  0.00000000e+00,  1.25000000e+00,
+  1.75000000e+00,  2.50000000e-01,
+ -1.75000000e+00, -1.75000000e+00,
+ -2.50000000e-01, -2.50000000e-01,
+ -2.50000000e-01, -2.50000000e-01,
   5.00000000e-01,  0.00000000e+00,
   0.00000000e+00, -2.50000000e-01,
   2.50000000e-01,  1.00000000e+00,
@@ -98,12 +128,12 @@
   1.00000000e+00,  2.50000000e-01,
  -1.00000000e+00, -2.50000000e-01,
   5.00000000e-01, -2.50000000e-01,
- -1.00000000e+00, -1.00000000e+00,
- -2.50000000e-01,  0.00000000e+00,
-  0.00000000e+00, -2.50000000e-01,
-  2.50000000e-01,  2.50000000e-01,
- -2.50000000e-01,  1.25000000e+00,
-  1.25000000e+00, -2.50000000e-01,
+  1.00000000e+00,  1.00000000e+00,
+  7.50000000e-01,  0.00000000e+00,
+  0.00000000e+00,  7.50000000e-01,
+  1.25000000e+00,  1.25000000e+00,
+ -1.25000000e+00, -1.75000000e+00,
+ -1.75000000e+00, -1.25000000e+00,
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldTIncr[] = {
@@ -134,87 +164,87 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_valsResidual[] = {
- -5.68494358e+10,  1.65323307e+11,
- -4.54933811e+10, -2.45823568e+10,
- -8.68914931e+09,  6.99783854e+10,
-  1.06940907e+11, -8.18836589e+10,
- -4.10563585e+10, -2.77954362e+11,
-  4.51474175e+10,  1.49118685e+11,
+  1.29278791e+09,  2.30117470e+11,
+ -1.01094274e+11, -3.41937391e+10,
+ -6.14324363e+09,  2.06921658e+11,
+  2.08592314e+11,  1.56195193e+11,
+ -1.44154554e+11, -5.45281912e+11,
+  4.15069698e+10, -1.37586697e+10,
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_valsJacobian[] = {
-  4.15638021e+10,  9.27734375e+09,
-  2.73546007e+09,  4.13736979e+09,
-  4.19184028e+09, -2.59114583e+09,
- -2.07819010e+10, -4.63867188e+09,
- -2.11365017e+10,  3.05501302e+10,
- -6.57269965e+09, -3.67350260e+10,
-  9.27734375e+09,  1.17761719e+11,
-  3.90299479e+09,  4.38476562e+09,
- -2.35677083e+09,  1.52421875e+10,
- -4.63867188e+09, -5.88808594e+10,
-  2.82063802e+10, -9.35410156e+10,
- -3.43912760e+10,  1.50332031e+10,
-  2.73546007e+09,  3.90299479e+09,
-  1.45941840e+10,  3.09244792e+09,
-  4.56163194e+09, -2.35677083e+09,
- -1.64203559e+10,  3.16731771e+09,
-  7.29709201e+09,  1.54622396e+09,
- -1.27680122e+10, -9.35221354e+09,
-  4.13736979e+09,  4.38476562e+09,
-  3.09244792e+09,  6.34765625e+09,
- -2.59114583e+09, -1.21093750e+09,
-  3.63606771e+09, -7.51953125e+08,
-  1.54622396e+09,  3.17382812e+09,
- -9.82096354e+09, -1.19433594e+10,
-  4.19184028e+09, -2.35677083e+09,
-  4.56163194e+09, -2.59114583e+09,
-  1.75069444e+10, -9.89583333e+09,
- -1.78767361e+10,  1.01302083e+10,
- -1.71371528e+10,  9.66145833e+09,
-  8.75347222e+09, -4.94791667e+09,
- -2.59114583e+09,  1.52421875e+10,
- -2.35677083e+09, -1.21093750e+09,
- -9.89583333e+09,  2.80625000e+10,
-  9.66145833e+09, -1.16093750e+10,
-  1.01302083e+10, -4.45156250e+10,
- -4.94791667e+09,  1.40312500e+10,
- -2.07819010e+10, -4.63867188e+09,
- -1.64203559e+10,  3.63606771e+09,
- -1.78767361e+10,  9.66145833e+09,
-  6.89335937e+10, -5.56640625e+09,
-  3.54600694e+08, -3.44856771e+10,
- -1.42092014e+10,  3.13932292e+10,
- -4.63867188e+09, -5.88808594e+10,
-  3.16731771e+09, -7.51953125e+08,
-  1.01302083e+10, -1.16093750e+10,
- -5.56640625e+09,  1.10496094e+11,
- -3.35481771e+10,  3.46601562e+10,
-  3.04557292e+10, -7.39140625e+10,
- -2.11365017e+10,  2.82063802e+10,
-  7.29709201e+09,  1.54622396e+09,
- -1.71371528e+10,  1.01302083e+10,
-  3.54600694e+08, -3.35481771e+10,
-  1.40440538e+11, -4.51497396e+10,
- -1.09818576e+11,  3.88151042e+10,
-  3.05501302e+10, -9.35410156e+10,
-  1.54622396e+09,  3.17382812e+09,
-  9.66145833e+09, -4.45156250e+10,
- -3.44856771e+10,  3.46601562e+10,
- -4.51497396e+10,  1.56933594e+11,
-  3.78776042e+10, -5.67109375e+10,
- -6.57269965e+09, -3.43912760e+10,
- -1.27680122e+10, -9.82096354e+09,
-  8.75347222e+09, -4.94791667e+09,
- -1.42092014e+10,  3.04557292e+10,
- -1.09818576e+11,  3.78776042e+10,
-  1.34615017e+11, -1.91731771e+10,
- -3.67350260e+10,  1.50332031e+10,
- -9.35221354e+09, -1.19433594e+10,
- -4.94791667e+09,  1.40312500e+10,
-  3.13932292e+10, -7.39140625e+10,
-  3.88151042e+10, -5.67109375e+10,
- -1.91731771e+10,  1.13503906e+11,
+  4.84911024e+10,  1.08235677e+10,
+  1.04859303e+10,  1.58599175e+10,
+  1.60687211e+10, -9.93272569e+09,
+  3.11728516e+10,  6.95800781e+09,
+ -5.77211733e+10,  9.45258247e+09,
+ -4.84974320e+10, -3.31613498e+10,
+  1.08235677e+10,  1.37388672e+11,
+  1.49614800e+10,  1.68082682e+10,
+ -9.03428819e+09,  5.84283854e+10,
+  6.95800781e+09,  8.83212891e+10,
+  7.96820747e+09, -1.84855143e+11,
+ -3.16769748e+10, -1.16091471e+11,
+  1.04859303e+10,  1.49614800e+10,
+  4.98634621e+10,  1.05658637e+10,
+  3.04108796e+09, -1.57118056e+09,
+ -2.96531395e+10,  2.41807726e+10,
+  2.28334780e+09, -1.00401476e+10,
+ -3.60206887e+10, -3.80967882e+10,
+  1.58599175e+10,  1.68082682e+10,
+  1.05658637e+10,  2.16878255e+10,
+ -1.72743056e+09, -8.07291667e+08,
+  2.63292101e+10,  1.63899740e+10,
+ -1.07823351e+10, -9.12434896e+09,
+ -4.02452257e+10, -4.49544271e+10,
+  1.60687211e+10, -9.03428819e+09,
+  3.04108796e+09, -1.72743056e+09,
+  5.98153935e+10, -3.38107639e+10,
+ -2.72258391e+10,  1.55056424e+10,
+ -5.15554109e+10,  2.90256076e+10,
+ -1.43952546e+08,  4.12326389e+07,
+ -9.93272569e+09,  5.84283854e+10,
+ -1.57118056e+09, -8.07291667e+08,
+ -3.38107639e+10,  9.58802083e+10,
+  1.33572049e+10,  3.44856771e+10,
+  3.11740451e+10, -1.60766927e+11,
+  7.83420139e+08, -2.72200521e+10,
+  3.11728516e+10,  6.95800781e+09,
+ -2.96531395e+10,  2.63292101e+10,
+ -2.72258391e+10,  1.33572049e+10,
+  1.75797635e+11, -1.31429036e+10,
+ -6.82493128e+10, -4.63926866e+10,
+ -8.18421947e+10,  1.28911675e+10,
+  6.95800781e+09,  8.83212891e+10,
+  2.41807726e+10,  1.63899740e+10,
+  1.55056424e+10,  3.44856771e+10,
+ -1.31429036e+10,  2.86053711e+11,
+ -4.77208116e+10, -1.61957357e+11,
+  1.42192925e+10, -2.63293294e+11,
+ -5.77211733e+10,  7.96820747e+09,
+  2.28334780e+09, -1.07823351e+10,
+ -5.15554109e+10,  3.11740451e+10,
+ -6.82493128e+10, -4.77208116e+10,
+  1.76619973e+11, -1.47922092e+10,
+ -1.37742332e+09,  3.41531033e+10,
+  9.45258247e+09, -1.84855143e+11,
+ -1.00401476e+10, -9.12434896e+09,
+  2.90256076e+10, -1.60766927e+11,
+ -4.63926866e+10, -1.61957357e+11,
+ -1.47922092e+10,  3.83965169e+11,
+  3.27468533e+10,  1.32738607e+11,
+ -4.84974320e+10, -3.16769748e+10,
+ -3.60206887e+10, -4.02452257e+10,
+ -1.43952546e+08,  7.83420139e+08,
+ -8.18421947e+10,  1.42192925e+10,
+ -1.37742332e+09,  3.27468533e+10,
+  1.67881691e+11,  2.41726345e+10,
+ -3.31613498e+10, -1.16091471e+11,
+ -3.80967882e+10, -4.49544271e+10,
+  4.12326389e+07, -2.72200521e+10,
+  1.28911675e+10, -2.63293294e+11,
+  3.41531033e+10,  1.32738607e+11,
+  2.41726345e+10,  3.18820638e+11,
 };
 
 pylith::feassemble::ElasticityImplicitData2DQuadratic::ElasticityImplicitData2DQuadratic(void)

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitdata2dquadratic_hh)
 #define pylith_feassemble_elasticityimplicitdata2dquadratic_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitData3DLinear.hh"
 
@@ -68,7 +68,7 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData3DLinear::_basis[] = {
- -2.50000000e-01,  2.50000000e-01,  2.50000000e-01,
+  2.50000000e-01,  2.50000000e-01,  2.50000000e-01,
   2.50000000e-01,};
 
 const double pylith::feassemble::ElasticityImplicitData3DLinear::_basisDerivRef[] = {

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitdata3dlinear_hh)
 #define pylith_feassemble_elasticityimplicitdata3dlinear_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitData3DQuadratic.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicit.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitdata3dquadratic_hh)
 #define pylith_feassemble_elasticityimplicitdata3dquadratic_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGrav.py
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGrav.py	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGrav.py	2009-11-12 04:13:52 UTC (rev 15958)
@@ -15,16 +15,15 @@
 ## @brief Python application for generating C++ data files for testing
 ## C++ ElasticityImplicitGrav object.
 
-from IntegratorElasticity import IntegratorElasticity
+from ElasticityImplicit import ElasticityImplicit
 
 import numpy
 import feutils
-# import pdb
 
 # ----------------------------------------------------------------------
 
 # ElasticityImplicitGrav class
-class ElasticityImplicitGrav(IntegratorElasticity):
+class ElasticityImplicitGrav(ElasticityImplicit):
   """
   Python application for generating C++ data files for testing C++
   ElasticityImplicitGrav object.
@@ -36,69 +35,49 @@
     """
     Constructor.
     """
-    # pdb.set_trace()
-    IntegratorElasticity.__init__(self, name)
+    ElasticityImplicit.__init__(self, name)
     return
   
 
   # PRIVATE METHODS ////////////////////////////////////////////////////
 
-  def _calculateResidual(self):
+  def calculateResidual(self, integrator):
     """
     Calculate contribution to residual of operator for integrator.
 
     {r} = -[K]{u(t)}
     """
-    # pdb.set_trace()
-    K = self._calculateStiffnessMat()    
-    gravityGlobal = self._calculateGravity()
+    residual = ElasticityImplicit.calculateResidual(self, integrator)
+    gravityGlobal = self._calculateGravity(integrator)
+    residual += gravityGlobal.reshape(residual.shape)
+    return residual
 
-    self.valsResidual = -numpy.dot(K, self.fieldT+self.fieldTIncr) + \
-        gravityGlobal.reshape(self.fieldT.shape)
-    return
 
-
-  def _calculateJacobian(self):
+  def _calculateGravity(self, integrator):
     """
-    Calculate contribution to Jacobian matrix of operator for integrator.
-
-    [A] = [K]
-    """
-    K = self._calculateStiffnessMat()    
-
-    self.valsJacobian = K
-    return
-
-
-  def _calculateGravity(self):
-    """
     Calculate body force vector.
     """
-    # pdb.set_trace()
-    gravityGlobal = numpy.zeros(( self.numVertices*self.spaceDim ),
+    gravityGlobal = numpy.zeros(( integrator.numVertices*integrator.spaceDim ),
                                 dtype=numpy.float64)
-    for cell in self.cells:
-      gravityCell = numpy.zeros(self.spaceDim*self.numBasis)
-      vertices = self.vertices[cell, :]
+    for cell in integrator.cells:
+      gravityCell = numpy.zeros(integrator.spaceDim*integrator.numBasis)
+      vertices = integrator.vertices[cell, :]
       (jacobian, jacobianInv, jacobianDet, basisDeriv) = \
-                 feutils.calculateJacobian(self.quadrature, vertices)
-      for iQuad in xrange(self.numQuadPts):
-        wt = self.quadWts[iQuad] * jacobianDet[iQuad] * self.density
-        for iBasis in xrange(self.numBasis):
-          valI = wt * self.basis[iQuad, iBasis]
-          for iDim in xrange(self.spaceDim):
-            gravityCell[iDim + iBasis * self.spaceDim] += \
-                             valI * self.gravityVec[iDim]
-      feutils.assembleVec(gravityGlobal, gravityCell, cell, self.spaceDim)
+                 feutils.calculateJacobian(integrator.quadrature, vertices)
+      for iQuad in xrange(integrator.numQuadPts):
+        wt = integrator.quadWts[iQuad] * jacobianDet[iQuad] * integrator.density
+        for iBasis in xrange(integrator.numBasis):
+          valI = wt * integrator.basis[iQuad, iBasis]
+          for iDim in xrange(integrator.spaceDim):
+            gravityCell[iDim + iBasis * integrator.spaceDim] += \
+                             valI * integrator.gravityVec[iDim]
+      feutils.assembleVec(gravityGlobal, gravityCell, cell, integrator.spaceDim)
     return gravityGlobal
     
 
+# FACTORY //////////////////////////////////////////////////////////////
+def formulation():
+  return ElasticityImplicitGrav()
 
-# MAIN /////////////////////////////////////////////////////////////////
-if __name__ == "__main__":
 
-  app = ElasticityImplicitGrav()
-  app.run()
-
-
 # End of file 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitGravData1DLinear.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitgravdata1dlinear_hh)
 #define pylith_feassemble_elasticityimplicitgravdata1dlinear_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitGravData1DQuadratic.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitgravdata1dquadratic_hh)
 #define pylith_feassemble_elasticityimplicitgravdata1dquadratic_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitGravData2DLinear.hh"
 
@@ -58,7 +58,7 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_quadPts[] = {
-  3.33333333e-01,  3.33333333e-01,
+ -3.33333333e-01, -3.33333333e-01,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_quadWts[] = {
@@ -66,8 +66,8 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_basis[] = {
- -3.33333333e-01,  6.66666667e-01,
-  6.66666667e-01,};
+  3.33333333e-01,  3.33333333e-01,
+  3.33333333e-01,};
 
 const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_basisDerivRef[] = {
  -5.00000000e-01, -5.00000000e-01,
@@ -94,9 +94,9 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_valsResidual[] = {
- -2.62107244e+10,  8.25403646e+10,
- -7.87159091e+09, -8.87369792e+10,
-  3.40823153e+10, -2.81783854e+10,
+ -2.62107244e+10,  5.96236979e+10,
+ -7.87159091e+09, -7.72786458e+10,
+  3.40823153e+10, -1.67200521e+10,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_valsJacobian[] = {

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitgravdata2dlinear_hh)
 #define pylith_feassemble_elasticityimplicitgravdata2dlinear_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitGravData2DQuadratic.hh"
 
@@ -25,7 +25,7 @@
 
 const int pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_numBasis = 6;
 
-const int pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_numQuadPts = 3;
+const int pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_numQuadPts = 6;
 
 const char* pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_matType = "ElasticPlaneStrain";
 
@@ -64,29 +64,59 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_quadPts[] = {
+ -7.50000000e-01, -7.50000000e-01,
+  7.50000000e-01, -7.50000000e-01,
+ -7.50000000e-01,  7.50000000e-01,
   0.00000000e+00, -7.50000000e-01,
  -7.50000000e-01,  0.00000000e+00,
- -7.50000000e-01, -7.50000000e-01,
+  2.50000000e-01,  2.50000000e-01,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_quadWts[] = {
-  6.66666667e-01,  6.66666667e-01,  6.66666667e-01,
+  3.33333333e-01,  3.33333333e-01,  3.33333333e-01,  3.33333333e-01,  3.33333333e-01,  3.33333333e-01,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_basis[] = {
+  3.75000000e-01, -9.37500000e-02,
+ -9.37500000e-02,  6.25000000e-02,
+  3.75000000e-01,  3.75000000e-01,
+  0.00000000e+00,  6.56250000e-01,
+ -9.37500000e-02,  4.37500000e-01,
+ -0.00000000e+00, -0.00000000e+00,
+  0.00000000e+00, -9.37500000e-02,
+  6.56250000e-01,  4.37500000e-01,
+ -0.00000000e+00, -0.00000000e+00,
  -9.37500000e-02,  0.00000000e+00,
  -9.37500000e-02,  2.50000000e-01,
   1.87500000e-01,  7.50000000e-01,
  -9.37500000e-02, -9.37500000e-02,
   0.00000000e+00,  2.50000000e-01,
   7.50000000e-01,  1.87500000e-01,
-  3.75000000e-01, -9.37500000e-02,
- -9.37500000e-02,  6.25000000e-02,
-  3.75000000e-01,  3.75000000e-01,
+  3.75000000e-01,  1.56250000e-01,
+  1.56250000e-01,  1.56250000e+00,
+ -6.25000000e-01, -6.25000000e-01,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_basisDerivRef[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ -2.50000000e-01,  0.00000000e+00,
+  0.00000000e+00, -2.50000000e-01,
+  2.50000000e-01,  2.50000000e-01,
+ -2.50000000e-01,  1.25000000e+00,
+  1.25000000e+00, -2.50000000e-01,
+  5.00000000e-01,  5.00000000e-01,
+  1.25000000e+00,  0.00000000e+00,
+  0.00000000e+00, -2.50000000e-01,
+  2.50000000e-01,  1.75000000e+00,
  -2.50000000e-01, -2.50000000e-01,
+ -1.75000000e+00, -1.75000000e+00,
+  5.00000000e-01,  5.00000000e-01,
+ -2.50000000e-01,  0.00000000e+00,
+  0.00000000e+00,  1.25000000e+00,
+  1.75000000e+00,  2.50000000e-01,
+ -1.75000000e+00, -1.75000000e+00,
+ -2.50000000e-01, -2.50000000e-01,
+ -2.50000000e-01, -2.50000000e-01,
   5.00000000e-01,  0.00000000e+00,
   0.00000000e+00, -2.50000000e-01,
   2.50000000e-01,  1.00000000e+00,
@@ -98,12 +128,12 @@
   1.00000000e+00,  2.50000000e-01,
  -1.00000000e+00, -2.50000000e-01,
   5.00000000e-01, -2.50000000e-01,
- -1.00000000e+00, -1.00000000e+00,
- -2.50000000e-01,  0.00000000e+00,
-  0.00000000e+00, -2.50000000e-01,
-  2.50000000e-01,  2.50000000e-01,
- -2.50000000e-01,  1.25000000e+00,
-  1.25000000e+00, -2.50000000e-01,
+  1.00000000e+00,  1.00000000e+00,
+  7.50000000e-01,  0.00000000e+00,
+  0.00000000e+00,  7.50000000e-01,
+  1.25000000e+00,  1.25000000e+00,
+ -1.25000000e+00, -1.75000000e+00,
+ -1.75000000e+00, -1.25000000e+00,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_fieldTIncr[] = {
@@ -134,87 +164,87 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_valsResidual[] = {
- -5.68494358e+10,  1.37198307e+11,
- -4.54933811e+10,  3.54264323e+09,
- -8.68914931e+09,  9.81033854e+10,
-  1.06940907e+11, -1.66258659e+11,
- -4.10563585e+10, -4.74829362e+11,
-  4.51474175e+10, -4.77563151e+10,
+  1.29278791e+09,  1.87929970e+11,
+ -1.01094274e+11, -7.40374891e+10,
+ -6.14324363e+09,  1.67077908e+11,
+  2.08592314e+11, -6.88048069e+10,
+ -1.44154554e+11, -5.96844412e+11,
+  4.15069698e+10, -6.53211697e+10,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_valsJacobian[] = {
-  4.15638021e+10,  9.27734375e+09,
-  2.73546007e+09,  4.13736979e+09,
-  4.19184028e+09, -2.59114583e+09,
- -2.07819010e+10, -4.63867188e+09,
- -2.11365017e+10,  3.05501302e+10,
- -6.57269965e+09, -3.67350260e+10,
-  9.27734375e+09,  1.17761719e+11,
-  3.90299479e+09,  4.38476562e+09,
- -2.35677083e+09,  1.52421875e+10,
- -4.63867188e+09, -5.88808594e+10,
-  2.82063802e+10, -9.35410156e+10,
- -3.43912760e+10,  1.50332031e+10,
-  2.73546007e+09,  3.90299479e+09,
-  1.45941840e+10,  3.09244792e+09,
-  4.56163194e+09, -2.35677083e+09,
- -1.64203559e+10,  3.16731771e+09,
-  7.29709201e+09,  1.54622396e+09,
- -1.27680122e+10, -9.35221354e+09,
-  4.13736979e+09,  4.38476562e+09,
-  3.09244792e+09,  6.34765625e+09,
- -2.59114583e+09, -1.21093750e+09,
-  3.63606771e+09, -7.51953125e+08,
-  1.54622396e+09,  3.17382812e+09,
- -9.82096354e+09, -1.19433594e+10,
-  4.19184028e+09, -2.35677083e+09,
-  4.56163194e+09, -2.59114583e+09,
-  1.75069444e+10, -9.89583333e+09,
- -1.78767361e+10,  1.01302083e+10,
- -1.71371528e+10,  9.66145833e+09,
-  8.75347222e+09, -4.94791667e+09,
- -2.59114583e+09,  1.52421875e+10,
- -2.35677083e+09, -1.21093750e+09,
- -9.89583333e+09,  2.80625000e+10,
-  9.66145833e+09, -1.16093750e+10,
-  1.01302083e+10, -4.45156250e+10,
- -4.94791667e+09,  1.40312500e+10,
- -2.07819010e+10, -4.63867188e+09,
- -1.64203559e+10,  3.63606771e+09,
- -1.78767361e+10,  9.66145833e+09,
-  6.89335937e+10, -5.56640625e+09,
-  3.54600694e+08, -3.44856771e+10,
- -1.42092014e+10,  3.13932292e+10,
- -4.63867188e+09, -5.88808594e+10,
-  3.16731771e+09, -7.51953125e+08,
-  1.01302083e+10, -1.16093750e+10,
- -5.56640625e+09,  1.10496094e+11,
- -3.35481771e+10,  3.46601562e+10,
-  3.04557292e+10, -7.39140625e+10,
- -2.11365017e+10,  2.82063802e+10,
-  7.29709201e+09,  1.54622396e+09,
- -1.71371528e+10,  1.01302083e+10,
-  3.54600694e+08, -3.35481771e+10,
-  1.40440538e+11, -4.51497396e+10,
- -1.09818576e+11,  3.88151042e+10,
-  3.05501302e+10, -9.35410156e+10,
-  1.54622396e+09,  3.17382812e+09,
-  9.66145833e+09, -4.45156250e+10,
- -3.44856771e+10,  3.46601562e+10,
- -4.51497396e+10,  1.56933594e+11,
-  3.78776042e+10, -5.67109375e+10,
- -6.57269965e+09, -3.43912760e+10,
- -1.27680122e+10, -9.82096354e+09,
-  8.75347222e+09, -4.94791667e+09,
- -1.42092014e+10,  3.04557292e+10,
- -1.09818576e+11,  3.78776042e+10,
-  1.34615017e+11, -1.91731771e+10,
- -3.67350260e+10,  1.50332031e+10,
- -9.35221354e+09, -1.19433594e+10,
- -4.94791667e+09,  1.40312500e+10,
-  3.13932292e+10, -7.39140625e+10,
-  3.88151042e+10, -5.67109375e+10,
- -1.91731771e+10,  1.13503906e+11,
+  4.84911024e+10,  1.08235677e+10,
+  1.04859303e+10,  1.58599175e+10,
+  1.60687211e+10, -9.93272569e+09,
+  3.11728516e+10,  6.95800781e+09,
+ -5.77211733e+10,  9.45258247e+09,
+ -4.84974320e+10, -3.31613498e+10,
+  1.08235677e+10,  1.37388672e+11,
+  1.49614800e+10,  1.68082682e+10,
+ -9.03428819e+09,  5.84283854e+10,
+  6.95800781e+09,  8.83212891e+10,
+  7.96820747e+09, -1.84855143e+11,
+ -3.16769748e+10, -1.16091471e+11,
+  1.04859303e+10,  1.49614800e+10,
+  4.98634621e+10,  1.05658637e+10,
+  3.04108796e+09, -1.57118056e+09,
+ -2.96531395e+10,  2.41807726e+10,
+  2.28334780e+09, -1.00401476e+10,
+ -3.60206887e+10, -3.80967882e+10,
+  1.58599175e+10,  1.68082682e+10,
+  1.05658637e+10,  2.16878255e+10,
+ -1.72743056e+09, -8.07291667e+08,
+  2.63292101e+10,  1.63899740e+10,
+ -1.07823351e+10, -9.12434896e+09,
+ -4.02452257e+10, -4.49544271e+10,
+  1.60687211e+10, -9.03428819e+09,
+  3.04108796e+09, -1.72743056e+09,
+  5.98153935e+10, -3.38107639e+10,
+ -2.72258391e+10,  1.55056424e+10,
+ -5.15554109e+10,  2.90256076e+10,
+ -1.43952546e+08,  4.12326389e+07,
+ -9.93272569e+09,  5.84283854e+10,
+ -1.57118056e+09, -8.07291667e+08,
+ -3.38107639e+10,  9.58802083e+10,
+  1.33572049e+10,  3.44856771e+10,
+  3.11740451e+10, -1.60766927e+11,
+  7.83420139e+08, -2.72200521e+10,
+  3.11728516e+10,  6.95800781e+09,
+ -2.96531395e+10,  2.63292101e+10,
+ -2.72258391e+10,  1.33572049e+10,
+  1.75797635e+11, -1.31429036e+10,
+ -6.82493128e+10, -4.63926866e+10,
+ -8.18421947e+10,  1.28911675e+10,
+  6.95800781e+09,  8.83212891e+10,
+  2.41807726e+10,  1.63899740e+10,
+  1.55056424e+10,  3.44856771e+10,
+ -1.31429036e+10,  2.86053711e+11,
+ -4.77208116e+10, -1.61957357e+11,
+  1.42192925e+10, -2.63293294e+11,
+ -5.77211733e+10,  7.96820747e+09,
+  2.28334780e+09, -1.07823351e+10,
+ -5.15554109e+10,  3.11740451e+10,
+ -6.82493128e+10, -4.77208116e+10,
+  1.76619973e+11, -1.47922092e+10,
+ -1.37742332e+09,  3.41531033e+10,
+  9.45258247e+09, -1.84855143e+11,
+ -1.00401476e+10, -9.12434896e+09,
+  2.90256076e+10, -1.60766927e+11,
+ -4.63926866e+10, -1.61957357e+11,
+ -1.47922092e+10,  3.83965169e+11,
+  3.27468533e+10,  1.32738607e+11,
+ -4.84974320e+10, -3.16769748e+10,
+ -3.60206887e+10, -4.02452257e+10,
+ -1.43952546e+08,  7.83420139e+08,
+ -8.18421947e+10,  1.42192925e+10,
+ -1.37742332e+09,  3.27468533e+10,
+  1.67881691e+11,  2.41726345e+10,
+ -3.31613498e+10, -1.16091471e+11,
+ -3.80967882e+10, -4.49544271e+10,
+  4.12326389e+07, -2.72200521e+10,
+  1.28911675e+10, -2.63293294e+11,
+  3.41531033e+10,  1.32738607e+11,
+  2.41726345e+10,  3.18820638e+11,
 };
 
 pylith::feassemble::ElasticityImplicitGravData2DQuadratic::ElasticityImplicitGravData2DQuadratic(void)

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitgravdata2dquadratic_hh)
 #define pylith_feassemble_elasticityimplicitgravdata2dquadratic_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitGravData3DLinear.hh"
 
@@ -68,7 +68,7 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_basis[] = {
- -2.50000000e-01,  2.50000000e-01,  2.50000000e-01,
+  2.50000000e-01,  2.50000000e-01,  2.50000000e-01,
   2.50000000e-01,};
 
 const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_basisDerivRef[] = {
@@ -100,7 +100,7 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_valsResidual[] = {
- -6.04851301e+09,  7.19421933e+10,  4.07639095e+10,
+ -6.04851301e+09,  7.19421933e+10, -2.64860905e+10,
   1.11995353e+10,  1.19496190e+11,  2.47670074e+10,
  -1.62946097e+10, -1.94715799e+11, -1.17458953e+11,
   1.11435874e+10,  3.27741636e+09, -1.53219641e+10,

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitgravdata3dlinear_hh)
 #define pylith_feassemble_elasticityimplicitgravdata3dlinear_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #include "ElasticityImplicitGravData3DQuadratic.hh"
 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -11,7 +11,7 @@
 //
 
 // DO NOT EDIT THIS FILE
-// This file was generated from python application elasticityimplicitgrav.
+// This file was generated from python application integratorelasticity.
 
 #if !defined(pylith_feassemble_elasticityimplicitgravdata3dquadratic_hh)
 #define pylith_feassemble_elasticityimplicitgravdata3dquadratic_hh

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/IntegratorElasticity.py
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/IntegratorElasticity.py	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/IntegratorElasticity.py	2009-11-12 04:13:52 UTC (rev 15958)
@@ -29,6 +29,29 @@
   elasticity integrator objects.
   """
   
+  # INVENTORY //////////////////////////////////////////////////////////
+
+  class Inventory(IntegratorApp.Inventory):
+    """Python object for managing IntegratorApp facilities and properties."""
+
+    ## @class Inventory
+    ## Python object for managing ElasticityIntegrator facilities and
+    ## properties.
+    ##
+    ## \b Properties
+    ## @li None
+    ##
+    ## \b Facilities
+    ## @li \b formulation Elasticity formulation.
+
+    import pyre.inventory
+
+    from ElasticityImplicit import ElasticityImplicit
+    formulation = pyre.inventory.facility("formulation",
+                                          factory=ElasticityImplicit)
+    formulation.meta['tip'] = "Elasticity formulation."
+
+
   # PUBLIC METHODS /////////////////////////////////////////////////////
   
   def __init__(self, name="integratorelasticity"):
@@ -46,6 +69,31 @@
 
   # PRIVATE METHODS ////////////////////////////////////////////////////
 
+  def _configure(self):
+    """
+    Set members using inventory.
+    """
+    IntegratorApp._configure(self)
+    self.formulation = self.inventory.formulation
+    return
+
+
+  def _calculateResidual(self):
+    """
+    Calculate contribution to residual of operator for integrator.
+    """
+    self.valsResidual = self.formulation.calculateResidual(self)
+    return
+
+
+  def _calculateJacobian(self):
+    """
+    Calculate contribution to Jacobian matrix of operator for integrator.
+    """
+    self.valsJacobian = self.formulation.calculateJacobian(self)
+    return
+
+
   def _calculateStiffnessMat(self):
     """
     Calculate stiffness matrix.
@@ -200,4 +248,11 @@
     return B
 
 
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+  app = IntegratorElasticity()
+  app.run()
+
+
 # End of file 

Added: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/IntegratorElasticityLgDeform.py
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/IntegratorElasticityLgDeform.py	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/IntegratorElasticityLgDeform.py	2009-11-12 04:13:52 UTC (rev 15958)
@@ -0,0 +1,164 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/IntegratorElasticityLgDeform.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ elasticity integrator objects.
+
+from IntegratorElasticity import IntegratorElasticity
+
+import numpy
+import feutils
+
+# ----------------------------------------------------------------------
+
+# IntegratorElasticityLgDeform class
+class IntegratorElasticityLgDeform(IntegratorElasticity):
+  """
+  Python application for generating C++ data files for testing C++
+  elasticity integrator objects.
+  """
+  
+  # PUBLIC METHODS /////////////////////////////////////////////////////
+  
+  def __init__(self, name="integratorelasticitylgdeform"):
+    """
+    Constructor.
+    """
+    IntegratorElasticity.__init__(self, name)
+
+    return
+  
+
+  # PRIVATE METHODS ////////////////////////////////////////////////////
+
+  def _calculateStiffnessMat(self):
+    """
+    Calculate stiffness matrix.
+
+    """
+    import feutils
+
+    K = numpy.zeros( (self.spaceDim*self.numVertices,
+                      self.spaceDim*self.numVertices),
+                     dtype=numpy.float64)
+
+    # Matrix of elasticity values
+    D = self._calculateElasticityMat()
+    
+    for cell in self.cells:
+      cellK = numpy.zeros( (self.spaceDim*self.numBasis,
+                            self.spaceDim*self.numBasis),
+                           dtype=numpy.float64)
+      vertices = self.vertices[cell, :]
+      (jacobian, jacobianInv, jacobianDet, basisDeriv) = \
+                 feutils.calculateJacobian(self.quadrature, vertices)
+      for iQuad in xrange(self.numQuadPts):
+        wt = self.quadWts[iQuad] * jacobianDet[iQuad]
+        BL0 = self._calculateBasisDerivMatLinear0(basisDeriv, iQuad)
+        #cellK[:] += wt * numpy.dot(numpy.dot(BL0.transpose(), D), BL0)
+        #BL1 = self._calculateBasisDerivMatLinear1(basisDeriv, iQuad)
+        #cellK[:] += wt * numpy.dot(numpy.dot(BL1.transpose(), D), BL1)
+        BNL = self._calculateBasisDerivMatNonlinear(basisDeriv, iQuad)
+        print "BNL",BNL
+        #cellK[:] += wt * numpy.dot(numpy.dot(BNL.transpose(), S), BNL)
+      feutils.assembleMat(K, cellK, cell, self.spaceDim)
+    return K
+
+
+  def _calculateBasisDerivMatLinear0(self, basisDeriv, iQuad):
+    """
+    Calculate matrix of derivatives of basis functions.
+    """
+    if 3 == self.spaceDim:
+      B = numpy.zeros( (6, self.spaceDim*self.numBasis),
+                       dtype=numpy.float64)
+      for iBasis in xrange(self.numBasis):
+        B[0, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 0]
+        B[1, iBasis*self.spaceDim+1] = basisDeriv[iQuad, iBasis, 1]
+        B[2, iBasis*self.spaceDim+2] = basisDeriv[iQuad, iBasis, 2]
+        B[3, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 1]
+        B[3, iBasis*self.spaceDim+1] = basisDeriv[iQuad, iBasis, 0]
+        B[4, iBasis*self.spaceDim+1] = basisDeriv[iQuad, iBasis, 2]
+        B[4, iBasis*self.spaceDim+2] = basisDeriv[iQuad, iBasis, 1]
+        B[5, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 2]
+        B[5, iBasis*self.spaceDim+2] = basisDeriv[iQuad, iBasis, 0]
+    elif 2 == self.spaceDim:
+      B = numpy.zeros( (3, self.spaceDim*self.numBasis),
+                       dtype=numpy.float64)
+      for iBasis in xrange(self.numBasis):
+        B[0, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 0]
+        B[1, iBasis*self.spaceDim+1] = basisDeriv[iQuad, iBasis, 1]
+        B[2, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 1]
+        B[2, iBasis*self.spaceDim+1] = basisDeriv[iQuad, iBasis, 0]
+    elif 1 == self.spaceDim:
+      B = numpy.zeros( (1, self.spaceDim*self.numBasis),
+                       dtype=numpy.float64)
+      for iBasis in xrange(self.numBasis):
+        B[0, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 0]
+    else:
+      raise ValueError("Unknown spatial dimension '%d'." % self.spaceDim)
+    return B
+
+
+  def _calculateBasisDerivMatLinear1(self, basisDeriv, iQuad):
+    """
+    Calculate matrix of derivatives of basis functions.
+    """
+    if 3 == self.spaceDim:
+      B = numpy.zeros( (6, self.spaceDim*self.numBasis),
+                       dtype=numpy.float64)
+      for iBasis in xrange(self.numBasis):
+        B[0, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 0]
+        B[1, iBasis*self.spaceDim+1] = basisDeriv[iQuad, iBasis, 1]
+        B[2, iBasis*self.spaceDim+2] = basisDeriv[iQuad, iBasis, 2]
+        B[3, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 1]
+        B[3, iBasis*self.spaceDim+1] = basisDeriv[iQuad, iBasis, 0]
+        B[4, iBasis*self.spaceDim+1] = basisDeriv[iQuad, iBasis, 2]
+        B[4, iBasis*self.spaceDim+2] = basisDeriv[iQuad, iBasis, 1]
+        B[5, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 2]
+        B[5, iBasis*self.spaceDim+2] = basisDeriv[iQuad, iBasis, 0]
+    elif 2 == self.spaceDim:
+      B = numpy.zeros( (3, self.spaceDim*self.numBasis),
+                       dtype=numpy.float64)
+      for iBasis in xrange(self.numBasis):
+        B[0, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 0]
+        B[1, iBasis*self.spaceDim+1] = basisDeriv[iQuad, iBasis, 1]
+        B[2, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 1]
+        B[2, iBasis*self.spaceDim+1] = basisDeriv[iQuad, iBasis, 0]
+    elif 1 == self.spaceDim:
+      B = numpy.zeros( (1, self.spaceDim*self.numBasis),
+                       dtype=numpy.float64)
+      for iBasis in xrange(self.numBasis):
+        B[0, iBasis*self.spaceDim+0] = basisDeriv[iQuad, iBasis, 0]
+    else:
+      raise ValueError("Unknown spatial dimension '%d'." % self.spaceDim)
+    return B
+
+
+  def _calculateBasisDerivMatNonlinear(self, basisDeriv, iQuad):
+    """
+    Calculate matrix of derivatives of basis functions.
+    """
+    B = numpy.zeros( (self.spaceDim*self.spaceDim,
+                      self.spaceDim*self.numBasis),
+                     dtype=numpy.float64)
+    for iBasis in xrange(self.numBasis):
+      for iDim in xrange(self.spaceDim):
+        for jDim in xrange(self.spaceDim):
+          B[jDim+iDim*spaceDim, iBasis*self.spaceDim+iDim] = \
+              basisDeriv[iQuad, iBasis, jDim]
+    return B
+
+
+# End of file 

Modified: short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/generate.sh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/generate.sh	2009-11-12 02:06:05 UTC (rev 15957)
+++ short/3D/PyLith/branches/pylith-friction/unittests/libtests/feassemble/data/generate.sh	2009-11-12 04:13:52 UTC (rev 15958)
@@ -136,7 +136,8 @@
 
   # 1-D ----------------------------------------------------------------
 
-  python ElasticityExplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityExplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitData1DLinear \
     --data.parent=IntegratorData \
@@ -145,7 +146,8 @@
     --material=MaterialElasticStrain1D \
     --solution=Solution1DLinear
 
-  python ElasticityExplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityExplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitData1DQuadratic \
     --data.parent=IntegratorData \
@@ -156,7 +158,8 @@
 
   # 2-D ----------------------------------------------------------------
 
-  python ElasticityExplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityExplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitData2DLinear \
     --data.parent=IntegratorData \
@@ -165,7 +168,8 @@
     --material=ElasticPlaneStrain \
     --solution=Solution2DLinear
 
-  python ElasticityExplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityExplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitData2DQuadratic \
     --data.parent=IntegratorData \
@@ -177,7 +181,8 @@
 
   # 3-D ----------------------------------------------------------------
 
-  python ElasticityExplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityExplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitData3DLinear \
     --data.parent=IntegratorData \
@@ -186,7 +191,8 @@
     --material=ElasticIsotropic3D \
     --solution=Solution3DLinear
 
-  python ElasticityExplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityExplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityExplicitData3DQuadratic \
     --data.parent=IntegratorData \
@@ -203,7 +209,8 @@
 
   # 1-D ----------------------------------------------------------------
 
-  python ElasticityImplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitData1DLinear \
     --data.parent=IntegratorData \
@@ -212,7 +219,8 @@
     --material=MaterialElasticStrain1D \
     --solution=Solution1DLinear
 
-  python ElasticityImplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitData1DQuadratic \
     --data.parent=IntegratorData \
@@ -221,7 +229,8 @@
     --material=MaterialElasticStrain1D \
     --solution=Solution1DQuadratic
 
-  python ElasticityImplicitGrav.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicitGrav \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitGravData1DLinear \
     --data.parent=IntegratorData \
@@ -230,7 +239,8 @@
     --material=MaterialElasticStrain1D \
     --solution=Solution1DLinear
 
-  python ElasticityImplicitGrav.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicitGrav \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitGravData1DQuadratic \
     --data.parent=IntegratorData \
@@ -241,7 +251,8 @@
 
   # 2-D ----------------------------------------------------------------
 
-  python ElasticityImplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitData2DLinear \
     --data.parent=IntegratorData \
@@ -250,7 +261,8 @@
     --material=ElasticPlaneStrain \
     --solution=Solution2DLinear
 
-  python ElasticityImplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitData2DQuadratic \
     --data.parent=IntegratorData \
@@ -259,7 +271,8 @@
     --material=ElasticPlaneStrain \
     --solution=Solution2DQuadratic
 
-  python ElasticityImplicitGrav.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicitGrav \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitGravData2DLinear \
     --data.parent=IntegratorData \
@@ -268,7 +281,8 @@
     --material=ElasticPlaneStrain \
     --solution=Solution2DLinear
 
-  python ElasticityImplicitGrav.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicitGrav \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitGravData2DQuadratic \
     --data.parent=IntegratorData \
@@ -280,7 +294,8 @@
 
   # 3-D ----------------------------------------------------------------
 
-  python ElasticityImplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitData3DLinear \
     --data.parent=IntegratorData \
@@ -289,7 +304,8 @@
     --material=ElasticIsotropic3D \
     --solution=Solution3DLinear
 
-  python ElasticityImplicit.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicit \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitData3DQuadratic \
     --data.parent=IntegratorData \
@@ -298,7 +314,8 @@
     --material=ElasticIsotropic3D \
     --solution=Solution3DQuadratic
 
-  python ElasticityImplicitGrav.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicitGrav \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitGravData3DLinear \
     --data.parent=IntegratorData \
@@ -307,7 +324,8 @@
     --material=ElasticIsotropic3D \
     --solution=Solution3DLinear
 
-  python ElasticityImplicitGrav.py \
+  python IntegratorElasticity.py \
+    --formulation=ElasticityImplicitGrav \
     --data.namespace=pylith,feassemble \
     --data.object=ElasticityImplicitGravData3DQuadratic \
     --data.parent=IntegratorData \
@@ -315,8 +333,145 @@
     --quadrature=Quadrature3DQuadratic \
     --material=ElasticIsotropic3D \
     --solution=Solution3DQuadratic
+fi
 
+# //////////////////////////////////////////////////////////////////////
+if [ $1 == "implicitlgdeform" ] || [ $1 == "all" ]; then
+
+  # 1-D ----------------------------------------------------------------
+
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicit \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformData1DLinear \
+    --data.parent=IntegratorData \
+    --mesh=Mesh1DLinear \
+    --quadrature=Quadrature1DLinear \
+    --material=MaterialElasticStrain1D \
+    --solution=Solution1DLinear
+
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicit \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformData1DQuadratic \
+    --data.parent=IntegratorData \
+    --mesh=Mesh1DQuadratic \
+    --quadrature=Quadrature1DQuadratic \
+    --material=MaterialElasticStrain1D \
+    --solution=Solution1DQuadratic
+
+if (( 0 )); then
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicitGrav \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformGravData1DLinear \
+    --data.parent=IntegratorData \
+    --mesh=Mesh1DLinear \
+    --quadrature=Quadrature1DLinear \
+    --material=MaterialElasticStrain1D \
+    --solution=Solution1DLinear
+
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicitGrav \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformGravData1DQuadratic \
+    --data.parent=IntegratorData \
+    --mesh=Mesh1DQuadratic \
+    --quadrature=Quadrature1DQuadratic \
+    --material=MaterialElasticStrain1D \
+    --solution=Solution1DQuadratic
 fi
 
+  # 2-D ----------------------------------------------------------------
 
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicit \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformData2DLinear \
+    --data.parent=IntegratorData \
+    --mesh=Mesh2DLinear \
+    --quadrature=Quadrature2DLinear \
+    --material=ElasticPlaneStrain \
+    --solution=Solution2DLinear
+
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicit \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformData2DQuadratic \
+    --data.parent=IntegratorData \
+    --mesh=Mesh2DQuadratic \
+    --quadrature=Quadrature2DQuadratic \
+    --material=ElasticPlaneStrain \
+    --solution=Solution2DQuadratic
+
+if (( 0 )); then
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicitGrav \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformGravData2DLinear \
+    --data.parent=IntegratorData \
+    --mesh=Mesh2DLinear \
+    --quadrature=Quadrature2DLinear \
+    --material=ElasticPlaneStrain \
+    --solution=Solution2DLinear
+
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicitGrav \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformGravData2DQuadratic \
+    --data.parent=IntegratorData \
+    --mesh=Mesh2DQuadratic \
+    --quadrature=Quadrature2DQuadratic \
+    --material=ElasticPlaneStrain \
+    --solution=Solution2DQuadratic
+fi
+
+
+  # 3-D ----------------------------------------------------------------
+
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicit \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformData3DLinear \
+    --data.parent=IntegratorData \
+    --mesh=Mesh3DLinear \
+    --quadrature=Quadrature3DLinear \
+    --material=ElasticIsotropic3D \
+    --solution=Solution3DLinear
+
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicit \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformData3DQuadratic \
+    --data.parent=IntegratorData \
+    --mesh=Mesh3DQuadratic \
+    --quadrature=Quadrature3DQuadratic \
+    --material=ElasticIsotropic3D \
+    --solution=Solution3DQuadratic
+
+if (( 0 )); then
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicitGrav \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformGravData3DLinear \
+    --data.parent=IntegratorData \
+    --mesh=Mesh3DLinear \
+    --quadrature=Quadrature3DLinear \
+    --material=ElasticIsotropic3D \
+    --solution=Solution3DLinear
+
+  python IntegratorElasticityLgDeform.py \
+    --formulation=ElasticityImplicitGrav \
+    --data.namespace=pylith,feassemble \
+    --data.object=ElasticityImplicitLgDeformGravData3DQuadratic \
+    --data.parent=IntegratorData \
+    --mesh=Mesh3DQuadratic \
+    --quadrature=Quadrature3DQuadratic \
+    --material=ElasticIsotropic3D \
+    --solution=Solution3DQuadratic
+fi
+
+fi
+
+
 # End of file 



More information about the CIG-COMMITS mailing list