[cig-commits] r14924 - in short/3D/PyLith/trunk: . libsrc/feassemble libsrc/topology modulesrc/topology pylith/problems unittests/libtests/feassemble unittests/libtests/feassemble/data unittests/pytests/feassemble unittests/pytests/topology

brad at geodynamics.org brad at geodynamics.org
Thu May 7 22:17:18 PDT 2009


Author: brad
Date: 2009-05-07 22:17:14 -0700 (Thu, 07 May 2009)
New Revision: 14924

Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc
   short/3D/PyLith/trunk/libsrc/topology/Field.cc
   short/3D/PyLith/trunk/libsrc/topology/Field.hh
   short/3D/PyLith/trunk/modulesrc/topology/Field.i
   short/3D/PyLith/trunk/pylith/problems/Implicit.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicit.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGrav.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorApp.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorData.cc
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorData.hh
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution1DLinear.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution1DQuadratic.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution2DLinear.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution2DQuadratic.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DLinear.py
   short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DQuadratic.py
   short/3D/PyLith/trunk/unittests/pytests/feassemble/TestElasticityImplicit.py
   short/3D/PyLith/trunk/unittests/pytests/topology/TestMeshField.py
Log:
Cleaned up implicit time step formulation. Use disp(t) and dispIncr(t) as fields.

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/TODO	2009-05-08 05:17:14 UTC (rev 14924)
@@ -54,6 +54,10 @@
 
 4. Add missing unit tests
 
+    libtests/topology/Field add constraints to field in unit tests
+      copy
+      +=
+
     pytests.meshio.TestOutputSoln
     pytests.meshio.TestOutputDirichlet
     pytests.meshio.TestOutputFaultKin

Modified: short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -149,7 +149,9 @@
     assert(0);
 
   // Allocate vectors for cell values.
-  double_array dispTBctpdtCell(numBasis*spaceDim);
+  double_array dispTCell(numBasis*spaceDim);
+  double_array dispTIncrCell(numBasis*spaceDim);
+  double_array dispTpdtCell(numBasis*spaceDim);
   double_array strainCell(numQuadPts*tensorSize);
   strainCell = 0.0;
   double_array gravVec(spaceDim);
@@ -166,12 +168,19 @@
   const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
 
   // Get sections
-  const ALE::Obj<RealSection>& dispTBctpdtSection = 
-    fields->get("disp(t), bc(t+dt)").section();
-  assert(!dispTBctpdtSection.isNull());
-  topology::Mesh::RestrictVisitor dispTBctpdtVisitor(*dispTBctpdtSection,
-						     numBasis*spaceDim, 
-						     &dispTBctpdtCell[0]);
+  const ALE::Obj<RealSection>& dispTSection = 
+    fields->get("disp(t)").section();
+  assert(!dispTSection.isNull());
+  topology::Mesh::RestrictVisitor dispTVisitor(*dispTSection,
+					       numBasis*spaceDim, 
+					       &dispTCell[0]);
+  const ALE::Obj<RealSection>& dispTIncrSection = 
+    fields->get("dispIncr(t->t+dt)").section();
+  assert(!dispTIncrSection.isNull());
+  topology::Mesh::RestrictVisitor dispTIncrVisitor(*dispTIncrSection,
+						   numBasis*spaceDim, 
+						   &dispTIncrCell[0]);
+
   const ALE::Obj<RealSection>& residualSection = residual.section();
   topology::Mesh::UpdateAddVisitor residualVisitor(*residualSection,
 						   &_cellVector[0]);
@@ -203,8 +212,10 @@
 
     // Restrict input fields to cell
     _logger->eventBegin(restrictEvent);
-    dispTBctpdtVisitor.clear();
-    sieveMesh->restrictClosure(*c_iter, dispTBctpdtVisitor);
+    dispTVisitor.clear();
+    sieveMesh->restrictClosure(*c_iter, dispTVisitor);
+    dispTIncrVisitor.clear();
+    sieveMesh->restrictClosure(*c_iter, dispTIncrVisitor);
     _logger->eventBegin(restrictEvent);
 
     // Get cell geometry information that depends on cell
@@ -213,6 +224,10 @@
     const double_array& jacobianDet = _quadrature->jacobianDet();
     const double_array& quadPtsNondim = _quadrature->quadPts();
 
+    // Compute current estimate of displacement at time t+dt using
+    // solution increment.
+    dispTpdtCell = dispTCell + dispTIncrCell;
+
     // Compute body force vector if gravity is being used.
     if (0 != _gravityField) {
       _logger->eventBegin(computeEvent);
@@ -249,7 +264,7 @@
 
     // Compute B(transpose) * sigma, first computing strains
     _logger->eventBegin(stressEvent);
-    calcTotalStrainFn(&strainCell, basisDeriv, dispTBctpdtCell, 
+    calcTotalStrainFn(&strainCell, basisDeriv, dispTpdtCell, 
 		      numBasis, numQuadPts);
     const double_array& stressCell = _material->calcStress(strainCell, true);
     _logger->eventEnd(stressEvent);
@@ -334,7 +349,9 @@
     assert(0);
 
   // Allocate vector for total strain
-  double_array dispTBctpdtCell(numBasis*spaceDim);
+  double_array dispTCell(numBasis*spaceDim);
+  double_array dispTIncrCell(numBasis*spaceDim);
+  double_array dispTpdtCell(numBasis*spaceDim);
   double_array strainCell(numQuadPts*tensorSize);
   strainCell = 0.0;
 
@@ -349,12 +366,18 @@
   const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
 
   // Get sections
-  const ALE::Obj<RealSection>& dispTBctpdtSection = 
-    fields->get("disp(t), bc(t+dt)").section();
-  assert(!dispTBctpdtSection.isNull());
-  topology::Mesh::RestrictVisitor dispTBctpdtVisitor(*dispTBctpdtSection,
-						     numBasis*spaceDim, 
-						     &dispTBctpdtCell[0]);
+  const ALE::Obj<RealSection>& dispTSection = 
+    fields->get("disp(t)").section();
+  assert(!dispTSection.isNull());
+  topology::Mesh::RestrictVisitor dispTVisitor(*dispTSection,
+					       numBasis*spaceDim, 
+					       &dispTCell[0]);
+  const ALE::Obj<RealSection>& dispTIncrSection = 
+    fields->get("dispIncr(t->t+dt)").section();
+  assert(!dispTIncrSection.isNull());
+  topology::Mesh::RestrictVisitor dispTIncrVisitor(*dispTIncrSection,
+						   numBasis*spaceDim, 
+						   &dispTIncrCell[0]);
 
   // Get sparse matrix
   const PetscMat jacobianMat = jacobian->matrix();
@@ -366,10 +389,10 @@
 
   const ALE::Obj<SieveMesh::order_type>& globalOrder = 
     sieveMesh->getFactory()->getGlobalOrder(sieveMesh, "default",
-					    dispTBctpdtSection);
+					    dispTSection);
   assert(!globalOrder.isNull());
   // We would need to request unique points here if we had an interpolated mesh
-  topology::Mesh::IndicesVisitor jacobianVisitor(*dispTBctpdtSection,
+  topology::Mesh::IndicesVisitor jacobianVisitor(*dispTSection,
 						 *globalOrder,
 			   (int) pow(sieveMesh->getSieve()->getMaxConeSize(),
 				     sieveMesh->depth())*spaceDim);
@@ -395,8 +418,10 @@
 
     // Restrict input fields to cell
     _logger->eventBegin(restrictEvent);
-    dispTBctpdtVisitor.clear();
-    sieveMesh->restrictClosure(*c_iter, dispTBctpdtVisitor);
+    dispTVisitor.clear();
+    sieveMesh->restrictClosure(*c_iter, dispTVisitor);
+    dispTIncrVisitor.clear();
+    sieveMesh->restrictClosure(*c_iter, dispTIncrVisitor);
     _logger->eventBegin(restrictEvent);
 
     // Get cell geometry information that depends on cell
@@ -404,9 +429,13 @@
     const double_array& basisDeriv = _quadrature->basisDeriv();
     const double_array& jacobianDet = _quadrature->jacobianDet();
 
+    // Compute current estimate of displacement at time t+dt using
+    // solution increment.
+    dispTpdtCell = dispTCell + dispTIncrCell;
+      
     _logger->eventBegin(computeEvent);
     // Compute strains
-    calcTotalStrainFn(&strainCell, basisDeriv, dispTBctpdtCell, 
+    calcTotalStrainFn(&strainCell, basisDeriv, dispTpdtCell, 
 		      numBasis, numQuadPts);
       
     // Get "elasticity" matrix at quadrature points for this cell

Modified: short/3D/PyLith/trunk/libsrc/topology/Field.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/Field.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/libsrc/topology/Field.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -273,14 +273,15 @@
   if (!_section.isNull()) {
     // Copy values from field
     const chart_type& chart = _section->getChart();
+    const typename chart_type::const_iterator chartBegin = chart.begin();
     const typename chart_type::const_iterator chartEnd = chart.end();
 
-    for (typename chart_type::const_iterator c_iter = chart.begin();
+    for (typename chart_type::const_iterator c_iter = chartBegin;
 	 c_iter != chartEnd;
 	 ++c_iter) {
       assert(field._section->getFiberDimension(*c_iter) ==
 	     _section->getFiberDimension(*c_iter));
-      _section->updatePoint(*c_iter, field._section->restrictPoint(*c_iter));
+      _section->updatePointAll(*c_iter, field._section->restrictPoint(*c_iter));
     } // for
   } // if
 } // copy
@@ -329,7 +330,7 @@
 // ----------------------------------------------------------------------
 // Add two fields, storing the result in one of the fields.
 template<typename mesh_type>
-void
+pylith::topology::Field<mesh_type>&
 pylith::topology::Field<mesh_type>::operator+=(const Field& field)
 { // operator+=
   // Check compatibility of sections
@@ -361,21 +362,24 @@
   if (!_section.isNull()) {
     // Add values from field
     const chart_type& chart = _section->getChart();
+    const typename chart_type::const_iterator chartBegin = chart.begin();
     const typename chart_type::const_iterator chartEnd = chart.end();
 
     // Assume fiber dimension is uniform
-    const int fiberDim = _section->getFiberDimension(*chart.begin());
+    const int fiberDim = _section->getFiberDimension(*chartBegin);
     double_array values(fiberDim);
 
-    for (typename chart_type::const_iterator c_iter = chart.begin();
+    for (typename chart_type::const_iterator c_iter = chartBegin;
 	 c_iter != chartEnd;
 	 ++c_iter) {
       assert(fiberDim == field._section->getFiberDimension(*c_iter));
       assert(fiberDim == _section->getFiberDimension(*c_iter));
       field._section->restrictPoint(*c_iter, &values[0], values.size());
-      _section->updateAddPoint(*c_iter, &values[0]);
+      _section->updatePointAllAdd(*c_iter, &values[0]);
     } // for
   } // if
+
+  return *this;
 } // operator+=
 
 // ----------------------------------------------------------------------

Modified: short/3D/PyLith/trunk/libsrc/topology/Field.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/Field.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/libsrc/topology/Field.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -199,7 +199,7 @@
    *
    * @param field Field to add.
    */
-  void operator+=(const Field& field);
+  Field& operator+=(const Field& field);
 
   /** Dimensionalize field. Throws runtime_error if field is not
    * allowed to be dimensionalized.

Modified: short/3D/PyLith/trunk/modulesrc/topology/Field.i
===================================================================
--- short/3D/PyLith/trunk/modulesrc/topology/Field.i	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/modulesrc/topology/Field.i	2009-05-08 05:17:14 UTC (rev 14924)
@@ -151,7 +151,7 @@
        *
        * @param field Field to add.
        */
-      void operator+=(const Field& field);
+      Field& operator+=(const Field& field);
       
       /** Dimensionalize field. Throws runtime_error if field is not
        * allowed to be dimensionalized.

Modified: short/3D/PyLith/trunk/pylith/problems/Implicit.py
===================================================================
--- short/3D/PyLith/trunk/pylith/problems/Implicit.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/pylith/problems/Implicit.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -70,7 +70,7 @@
     """
     Formulation.__init__(self, name)
     self._loggingPrefix = "TSIm "
-    self.solnField = {'name': "disp(t), bc(t+dt)",
+    self.solnField = {'name': "disp(t)",
                       'label': "displacement"}
     self._stepCount = None
     return
@@ -94,10 +94,21 @@
     Formulation.initialize(self, dimension, normalizer)
 
     self._info.log("Creating other fields.")
-    self.fields.add("dispIncr(t)", "displacement increment")
+    self.fields.add("dispIncr(t->t+dt)", "displacement increment")
     self.fields.add("residual", "residual")
-    self.fields.copyLayout("disp(t), bc(t+dt)")
-    self.fields.solveSolnName("dispIncr(t)")
+    self.fields.copyLayout("disp(t)")
+    self.fields.solveSolnName("dispIncr(t->t+dt)")
+
+    # Set fields to zero
+    disp = self.fields.get("disp(t)")
+    disp.zero()
+    dispIncr = self.fields.get("dispIncr(t->t+dt)")
+    dispIncr.zero()
+    residual = self.fields.get("residual")
+    residual.zero()
+    # Create Petsc vectors for fields involved in solve
+    residual.createVector()
+    dispIncr.createVector()
     self._debug.log(resourceUsageString())
 
     self._info.log("Creating Jacobian matrix.")
@@ -106,12 +117,6 @@
     self.jacobian.zero() # TEMPORARY, to get correct memory usage
     self._debug.log(resourceUsageString())
 
-    # Create Petsc vectors for fields involved in solve
-    dispIncr = self.fields.get("dispIncr(t)")
-    dispIncr.createVector()
-    residual = self.fields.get("residual")
-    residual.createVector()
-
     self._info.log("Initializing solver.")
     self.solver.initialize(self.fields, self.jacobian, self)
     self._debug.log(resourceUsageString())
@@ -143,12 +148,16 @@
     logEvent = "%sprestep" % self._loggingPrefix
     self._logger.eventBegin(logEvent)
     
-    # Set dispTBctpdt to the BC t time t+dt. Unconstrained DOF are
+    # Set dispT to the BC t time t+dt. Unconstrained DOF are
     # unaffected and will be equal to their values at time t.
     self._info.log("Setting constraints.")
-    dispTBctpdt = self.fields.get("disp(t), bc(t+dt)")
-    for constraint in self.constraints:
-      constraint.setField(t+dt, dispTBctpdt)
+    dispIncr = self.fields.get("dispIncr(t->t+dt)")
+    if 0 == self._stepCount:
+      for constraint in self.constraints:
+        constraint.setField(t+dt, dispIncr)
+    else:
+      for constraint in self.constraints:
+        constraint.setFieldIncr(t, t+dt, dispIncr)
 
     # If finishing first time step, then switch from solving for total
     # displacements to solving for incremental displacements
@@ -212,14 +221,10 @@
     logEvent = "%spoststep" % self._loggingPrefix
     self._logger.eventBegin(logEvent)
     
-    # After solving, dispTBctpdt contains the displacements at time t
-    # for unconstrained DOF and displacements at time t+dt at
-    # constrained DOF. We add in the displacement increments (only
-    # nonzero at unconstrained DOF) so that after poststep(),
-    # dispTBctpdt contains the displacement field at time t+dt.
-    dispIncr = self.fields.get("dispIncr(t)")
-    dispTBctpdt = self.fields.solution()
-    dispTBctpdt += dispIncr
+    # Update displacement field from time t to time t+dt.
+    dispIncr = self.fields.get("dispIncr(t->t+dt)")
+    disp = self.fields.solution()
+    disp += dispIncr
 
     Formulation.poststep(self, t, dt)
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -393,7 +393,7 @@
   const int offset = _data->numCells;
   for (int iVertex=0; iVertex < _data->numVertices; ++iVertex) {
     dispTpdtSection->updatePoint(iVertex+offset, 
-				 &_data->fieldTpdt[iVertex*_data->spaceDim]);
+				 &_data->fieldTIncr[iVertex*_data->spaceDim]);
     dispTSection->updatePoint(iVertex+offset, 
 			      &_data->fieldT[iVertex*_data->spaceDim]);
     dispTmdtSection->updatePoint(iVertex+offset, 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -357,8 +357,8 @@
   // Setup fields
   CPPUNIT_ASSERT(0 != fields);
   fields->add("residual", "residual");
-  fields->add("disp(t), bc(t+dt)", "displacement");
-  fields->add("dispIncr(t->t+dt)", "displacement increment");
+  fields->add("disp(t)", "displacement");
+  fields->add("dispIncr(t->t+dt)", "displacement_increment");
   fields->solutionName("dispIncr(t->t+dt)");
   
   topology::Field<topology::Mesh>& residual = fields->get("residual");
@@ -368,14 +368,18 @@
   fields->copyLayout("residual");
 
   const int fieldSize = _data->spaceDim * _data->numVertices;
-  topology::Field<topology::Mesh>& dispTBctpdt = 
-    fields->get("disp(t), bc(t+dt)");
-  const ALE::Obj<RealSection>& dispTBctpdtSection = dispTBctpdt.section();
-  CPPUNIT_ASSERT(!dispTBctpdtSection.isNull());
+  topology::Field<topology::Mesh>& dispT = fields->get("disp(t)");
+  const ALE::Obj<RealSection>& dispTSection = dispT.section();
+  CPPUNIT_ASSERT(!dispTSection.isNull());
+  topology::Field<topology::Mesh>& dispTIncr = fields->get("dispIncr(t->t+dt)");
+  const ALE::Obj<RealSection>& dispTIncrSection = dispTIncr.section();
+  CPPUNIT_ASSERT(!dispTIncrSection.isNull());
   const int offset = _data->numCells;
   for (int iVertex=0; iVertex < _data->numVertices; ++iVertex) {
-    dispTBctpdtSection->updatePoint(iVertex+offset, 
-				    &_data->fieldTpdt[iVertex*_data->spaceDim]);
+    dispTSection->updatePoint(iVertex+offset, 
+			      &_data->fieldT[iVertex*_data->spaceDim]);
+    dispTIncrSection->updatePoint(iVertex+offset, 
+				  &_data->fieldTIncr[iVertex*_data->spaceDim]);
   } // for
 } // _initialize
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -73,7 +73,7 @@
   5.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityExplicitData1DLinear::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityExplicitData1DLinear::_fieldTIncr[] = {
   1.20000000e+00,
   1.70000000e+00,
 };
@@ -121,7 +121,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DLinear.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -84,7 +84,7 @@
  -1.15470054e+00,
 };
 
-const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityExplicitData1DQuadratic::_fieldTIncr[] = {
   1.20000000e+00,
   0.00000000e+00,
   1.70000000e+00,
@@ -141,7 +141,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData1DQuadratic.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
   0.00000000e+00,  5.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityExplicitData2DLinear::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityExplicitData2DLinear::_fieldTIncr[] = {
   1.30000000e+00, -9.00000000e-01,
   1.40000000e+00,  1.50000000e+00,
   5.00000000e-01, -9.00000000e-01,
@@ -141,7 +141,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -106,7 +106,7 @@
   1.25000000e+00, -2.50000000e-01,
 };
 
-const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_fieldTIncr[] = {
  -4.00000000e-01, -6.00000000e-01,
   7.00000000e-01,  8.00000000e-01,
   0.00000000e+00,  2.00000000e-01,
@@ -238,7 +238,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -78,7 +78,7 @@
   0.00000000e+00,  0.00000000e+00,  5.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityExplicitData3DLinear::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityExplicitData3DLinear::_fieldTIncr[] = {
   3.00000000e-01,  2.00000000e-01, -5.00000000e-01,
  -3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
   2.00000000e-01,  6.00000000e-01,  3.00000000e-01,
@@ -178,7 +178,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -141,7 +141,7 @@
   0.00000000e+00,  1.50000000e+00,  2.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_fieldTIncr[] = {
   3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
  -6.00000000e-01,  8.00000000e-01,  2.00000000e-01,
   5.00000000e-01,  5.00000000e-01,  7.00000000e-01,
@@ -517,7 +517,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicit.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicit.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicit.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -48,7 +48,7 @@
     """
     K = self._calculateStiffnessMat()    
 
-    self.valsResidual = -numpy.dot(K, self.fieldTpdt)
+    self.valsResidual = -numpy.dot(K, self.fieldT+self.fieldTIncr)
     return
 
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -73,7 +73,7 @@
   5.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityImplicitData1DLinear::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_fieldTIncr[] = {
   1.20000000e+00,
   1.70000000e+00,
 };
@@ -89,8 +89,8 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData1DLinear::_valsResidual[] = {
-  2.00000000e+10,
- -2.00000000e+10,
+  3.60000000e+10,
+ -3.60000000e+10,
 };
 
 const double pylith::feassemble::ElasticityImplicitData1DLinear::_valsJacobian[] = {
@@ -121,7 +121,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -84,7 +84,7 @@
  -1.15470054e+00,
 };
 
-const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldTIncr[] = {
   1.20000000e+00,
   0.00000000e+00,
   1.70000000e+00,
@@ -103,9 +103,9 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_valsResidual[] = {
-  6.93333333e+10,
-  1.65333333e+11,
- -2.34666667e+11,
+  1.25333333e+11,
+  3.01333333e+11,
+ -4.26666667e+11,
 };
 
 const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_valsJacobian[] = {
@@ -141,7 +141,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
   0.00000000e+00,  5.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityImplicitData2DLinear::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_fieldTIncr[] = {
   1.30000000e+00, -9.00000000e-01,
   1.40000000e+00,  1.50000000e+00,
   5.00000000e-01, -9.00000000e-01,
@@ -94,9 +94,9 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DLinear::_valsResidual[] = {
- -9.53153409e+09,  4.01670455e+10,
- -5.56704545e+09, -3.86085227e+10,
-  1.50985795e+10, -1.55852273e+09,
+ -2.62107244e+10,  7.10820313e+10,
+ -7.87159091e+09, -6.58203125e+10,
+  3.40823153e+10, -5.26171875e+09,
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DLinear::_valsJacobian[] = {
@@ -141,7 +141,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -106,7 +106,7 @@
   1.25000000e+00, -2.50000000e-01,
 };
 
-const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldTIncr[] = {
  -4.00000000e-01, -6.00000000e-01,
   7.00000000e-01,  8.00000000e-01,
   0.00000000e+00,  2.00000000e-01,
@@ -134,12 +134,12 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_valsResidual[] = {
- -5.09484809e+10,  1.18145443e+11,
- -3.15539280e+10, -1.82132161e+10,
- -9.14592014e+09,  5.34705729e+10,
-  8.27192491e+10, -7.35780599e+10,
- -1.26531033e+10, -2.09373503e+11,
-  2.15821832e+10,  1.29548763e+11,
+ -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,
 };
 
 const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_valsJacobian[] = {
@@ -238,7 +238,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -78,7 +78,7 @@
   0.00000000e+00,  0.00000000e+00,  5.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityImplicitData3DLinear::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_fieldTIncr[] = {
   3.00000000e-01,  2.00000000e-01, -5.00000000e-01,
  -3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
   2.00000000e-01,  6.00000000e-01,  3.00000000e-01,
@@ -100,10 +100,10 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData3DLinear::_valsResidual[] = {
-  2.78190830e+07,  3.56885378e+10,  3.94225527e+09,
-  1.52090149e+10,  5.28108736e+10,  3.64722119e+10,
- -2.29679058e+10, -8.91228005e+10, -5.23343247e+10,
-  7.73107187e+09,  6.23389095e+08,  1.19198575e+10,
+ -6.04851301e+09,  7.19421933e+10,  7.13890954e+09,
+  1.11995353e+10,  1.19496190e+11,  5.83920074e+10,
+ -1.62946097e+10, -1.94715799e+11, -8.38339529e+10,
+  1.11435874e+10,  3.27741636e+09,  1.83030359e+10,
 };
 
 const double pylith::feassemble::ElasticityImplicitData3DLinear::_valsJacobian[] = {
@@ -178,7 +178,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -141,7 +141,7 @@
   0.00000000e+00,  1.50000000e+00,  2.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldTIncr[] = {
   3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
  -6.00000000e-01,  8.00000000e-01,  2.00000000e-01,
   5.00000000e-01,  5.00000000e-01,  7.00000000e-01,
@@ -181,16 +181,16 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_valsResidual[] = {
- -3.60344070e+07, -8.60416179e+09, -2.65627643e+10,
-  6.93994122e+10, -2.20144385e+10,  8.70827233e+08,
- -1.03575146e+10, -5.86779063e+09, -8.18536662e+10,
-  4.26958272e+09,  7.53982796e+10, -1.04651354e+11,
-  6.65380864e+10,  4.81920110e+10, -4.06940264e+09,
-  4.86877753e+10,  9.01600666e+10,  3.33801288e+10,
- -8.27791991e+10, -6.36931757e+10,  2.69010556e+10,
-  7.53862306e+10, -2.99178646e+10,  8.15954568e+10,
- -1.62484959e+11,  9.80267108e+10, -1.29725665e+11,
- -8.62337994e+09, -1.81679637e+11,  2.04115384e+11,
+  2.17091508e+10, -1.76856611e+10, -5.86893265e+09,
+  1.31632837e+11, -4.68038741e+10,  8.29256662e+09,
+ -5.63686735e+10, -5.92797533e+10, -1.13371237e+11,
+ -5.78258053e+09,  1.17383971e+11, -1.43383605e+11,
+  5.81040000e+10,  1.11498152e+11, -7.49058931e+09,
+  1.14913086e+11,  1.99398526e+11, -3.90217350e+09,
+ -1.78723310e+11, -1.16643455e+11,  1.77930820e+09,
+  6.28557950e+10, -9.05944297e+10,  9.19651157e+10,
+ -1.94927791e+11,  1.49434559e+11, -1.22397813e+11,
+  4.65874861e+10, -2.46708036e+11,  2.94377360e+11,
 };
 
 const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_valsJacobian[] = {
@@ -517,7 +517,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGrav.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGrav.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGrav.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -53,7 +53,8 @@
     K = self._calculateStiffnessMat()    
     gravityGlobal = self._calculateGravity()
 
-    self.valsResidual = -numpy.dot(K, self.fieldTpdt) + gravityGlobal.reshape(self.fieldTpdt.shape)
+    self.valsResidual = -numpy.dot(K, self.fieldT+self.fieldTIncr) + \
+        gravityGlobal.reshape(self.fieldT.shape)
     return
 
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -73,7 +73,7 @@
   5.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_fieldTIncr[] = {
   1.20000000e+00,
   1.70000000e+00,
 };
@@ -89,8 +89,8 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_valsResidual[] = {
- -2.61250000e+11,
- -3.01250000e+11,
+ -2.45250000e+11,
+ -3.17250000e+11,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData1DLinear::_valsJacobian[] = {
@@ -121,7 +121,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DLinear.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -84,7 +84,7 @@
  -1.15470054e+00,
 };
 
-const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_fieldTIncr[] = {
   1.20000000e+00,
   0.00000000e+00,
   1.70000000e+00,
@@ -103,9 +103,9 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_valsResidual[] = {
- -2.44166667e+10,
-  7.15833333e+10,
- -6.09666667e+11,
+  3.15833333e+10,
+  2.07583333e+11,
+ -8.01666667e+11,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData1DQuadratic::_valsJacobian[] = {
@@ -141,7 +141,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData1DQuadratic.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
   0.00000000e+00,  5.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_fieldTIncr[] = {
   1.30000000e+00, -9.00000000e-01,
   1.40000000e+00,  1.50000000e+00,
   5.00000000e-01, -9.00000000e-01,
@@ -94,9 +94,9 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_valsResidual[] = {
- -9.53153409e+09,  5.16253788e+10,
- -5.56704545e+09, -6.15251894e+10,
-  1.50985795e+10, -2.44751894e+10,
+ -2.62107244e+10,  8.25403646e+10,
+ -7.87159091e+09, -8.87369792e+10,
+  3.40823153e+10, -2.81783854e+10,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DLinear::_valsJacobian[] = {
@@ -141,7 +141,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DLinear.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -106,7 +106,7 @@
   1.25000000e+00, -2.50000000e-01,
 };
 
-const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_fieldTIncr[] = {
  -4.00000000e-01, -6.00000000e-01,
   7.00000000e-01,  8.00000000e-01,
   0.00000000e+00,  2.00000000e-01,
@@ -134,12 +134,12 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_valsResidual[] = {
- -5.09484809e+10,  9.00204427e+10,
- -3.15539280e+10,  9.91178385e+09,
- -9.14592014e+09,  8.15955729e+10,
-  8.27192491e+10, -1.57953060e+11,
- -1.26531033e+10, -4.06248503e+11,
-  2.15821832e+10, -6.73262370e+10,
+ -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,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData2DQuadratic::_valsJacobian[] = {
@@ -238,7 +238,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData2DQuadratic.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -78,7 +78,7 @@
   0.00000000e+00,  0.00000000e+00,  5.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_fieldTIncr[] = {
   3.00000000e-01,  2.00000000e-01, -5.00000000e-01,
  -3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
   2.00000000e-01,  6.00000000e-01,  3.00000000e-01,
@@ -100,10 +100,10 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_valsResidual[] = {
-  2.78190830e+07,  3.56885378e+10,  3.75672553e+10,
-  1.52090149e+10,  5.28108736e+10,  2.84721190e+09,
- -2.29679058e+10, -8.91228005e+10, -8.59593247e+10,
-  7.73107187e+09,  6.23389095e+08, -2.17051425e+10,
+ -6.04851301e+09,  7.19421933e+10,  4.07639095e+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,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData3DLinear::_valsJacobian[] = {
@@ -178,7 +178,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DLinear.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -141,7 +141,7 @@
   0.00000000e+00,  1.50000000e+00,  2.00000000e-01,
 };
 
-const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_fieldTpdt[] = {
+const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_fieldTIncr[] = {
   3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
  -6.00000000e-01,  8.00000000e-01,  2.00000000e-01,
   5.00000000e-01,  5.00000000e-01,  7.00000000e-01,
@@ -181,16 +181,16 @@
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_valsResidual[] = {
- -3.60344070e+07, -8.60416179e+09, -5.23531289e+10,
-  6.93994122e+10, -2.20144385e+10, -2.31408915e+10,
- -1.03575146e+10, -5.86779063e+09, -1.05865385e+11,
-  4.26958272e+09,  7.53982796e+10, -1.28663073e+11,
-  6.65380864e+10,  4.81920110e+10, -1.25017319e+11,
-  4.86877753e+10,  9.01600666e+10, -5.02162253e+10,
- -8.27791991e+10, -6.36931757e+10, -5.66952985e+10,
-  7.53862306e+10, -2.99178646e+10, -2.00089736e+09,
- -1.62484959e+11,  9.80267108e+10, -2.50673581e+11,
- -8.62337994e+09, -1.81679637e+11,  8.31674669e+10,
+  2.17091508e+10, -1.76856611e+10, -3.16592972e+10,
+  1.31632837e+11, -4.68038741e+10, -1.57191521e+10,
+ -5.63686735e+10, -5.92797533e+10, -1.37382956e+11,
+ -5.78258053e+09,  1.17383971e+11, -1.67395324e+11,
+  5.81040000e+10,  1.11498152e+11, -1.28438506e+11,
+  1.14913086e+11,  1.99398526e+11, -8.74985277e+10,
+ -1.78723310e+11, -1.16643455e+11, -8.18170460e+10,
+  6.28557950e+10, -9.05944297e+10,  8.36876150e+09,
+ -1.94927791e+11,  1.49434559e+11, -2.43345729e+11,
+  4.65874861e+10, -2.46708036e+11,  1.73429444e+11,
 };
 
 const double pylith::feassemble::ElasticityImplicitGravData3DQuadratic::_valsJacobian[] = {
@@ -517,7 +517,7 @@
   quadWts = const_cast<double*>(_quadWts);
   basis = const_cast<double*>(_basis);
   basisDerivRef = const_cast<double*>(_basisDerivRef);
-  fieldTpdt = const_cast<double*>(_fieldTpdt);
+  fieldTIncr = const_cast<double*>(_fieldTIncr);
   fieldT = const_cast<double*>(_fieldT);
   fieldTmdt = const_cast<double*>(_fieldTmdt);
   valsResidual = const_cast<double*>(_valsResidual);

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitGravData3DQuadratic.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -75,7 +75,7 @@
 
   static const double _basisDerivRef[];
 
-  static const double _fieldTpdt[];
+  static const double _fieldTIncr[];
 
   static const double _fieldT[];
 

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorApp.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorApp.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorApp.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -97,7 +97,7 @@
 
     # Input fields
     self.dt = None
-    self.fieldTpdt = None
+    self.fieldTIncr = None
     self.fieldT = None
     self.fieldTmdt = None
 
@@ -166,7 +166,7 @@
 
     # Solution information
     self.dt = self.solution.dt
-    self.fieldTpdt = self.solution.fieldTpdt
+    self.fieldTIncr = self.solution.fieldTIncr
     self.fieldT = self.solution.fieldT
     self.fieldTmdt = self.solution.fieldTmdt
     return
@@ -236,8 +236,8 @@
     # Input files
     self.data.addScalar(vtype="double", name="_dt", value=self.dt,
                         format="%16.8e")
-    self.data.addArray(vtype="double", name="_fieldTpdt",
-                       values=self.fieldTpdt,
+    self.data.addArray(vtype="double", name="_fieldTIncr",
+                       values=self.fieldTIncr,
                        format="%16.8e", ncols=self.spaceDim)
     self.data.addArray(vtype="double", name="_fieldT",
                        values=self.fieldT,

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorData.cc	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorData.cc	2009-05-08 05:17:14 UTC (rev 14924)
@@ -34,7 +34,7 @@
   matId(0),
   matLabel(0),
   dt(0),
-  fieldTpdt(0),
+  fieldTIncr(0),
   fieldT(0),
   fieldTmdt(0),
   valsResidual(0),

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorData.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorData.hh	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorData.hh	2009-05-08 05:17:14 UTC (rev 14924)
@@ -67,7 +67,7 @@
   /// @name Input fields
   //@{
   double dt; ///< Time step
-  double* fieldTpdt; ///< Input field at time t+dt.
+  double* fieldTIncr; ///< Input field increment for time t to time t+dt.
   double* fieldT; ///< Input field at time t.
   double* fieldTmdt; ///< Input field at time t-dt.
   //@}

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution1DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution1DLinear.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution1DLinear.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -38,7 +38,7 @@
     
     # Input fields
     self.dt = 0.01
-    self.fieldTpdt = numpy.array( [[1.2], [1.7]], dtype=numpy.float64)
+    self.fieldTIncr = numpy.array( [[1.2], [1.7]], dtype=numpy.float64)
     self.fieldT = numpy.array( [[1.1], [1.5]], dtype=numpy.float64)
     self.fieldTmdt = numpy.array( [[1.0], [1.3]], dtype=numpy.float64)
     return

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution1DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution1DQuadratic.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution1DQuadratic.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -38,7 +38,7 @@
     
     # Input fields
     self.dt = 0.01
-    self.fieldTpdt = numpy.array([ [1.2], [0.0], [1.7] ], dtype=numpy.float64)
+    self.fieldTIncr = numpy.array([ [1.2], [0.0], [1.7] ], dtype=numpy.float64)
     self.fieldT = numpy.array([ [1.1], [0.1], [1.5] ], dtype=numpy.float64)
     self.fieldTmdt = numpy.array([ [1.0], [0.1], [1.3] ], dtype=numpy.float64)
     return

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution2DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution2DLinear.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution2DLinear.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -38,9 +38,9 @@
     
     # Input fields
     self.dt = 0.01
-    self.fieldTpdt = numpy.array([ 1.3, -0.9,
-                                   1.4,  1.5,
-                                   0.5, -0.9 ], dtype=numpy.float64)
+    self.fieldTIncr = numpy.array([ 1.3, -0.9,
+                                    1.4,  1.5,
+                                    0.5, -0.9 ], dtype=numpy.float64)
     self.fieldT = numpy.array([ 1.6, -0.8,
                                 0.9,  0.7,
                                -0.2, -1.1 ], dtype=numpy.float64)

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution2DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution2DQuadratic.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution2DQuadratic.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -38,12 +38,12 @@
     
     # Input fields
     self.dt = 0.01
-    self.fieldTpdt = numpy.array([ -0.4, -0.6,
-                                   +0.7, +0.8,
-                                   +0.0, +0.2,
-                                   -0.5, -0.4,
-                                   +0.3, +0.9,
-                                   -0.3, -0.9 ], dtype=numpy.float64)
+    self.fieldTIncr = numpy.array([ -0.4, -0.6,
+                                     +0.7, +0.8,
+                                     +0.0, +0.2,
+                                     -0.5, -0.4,
+                                     +0.3, +0.9,
+                                     -0.3, -0.9 ], dtype=numpy.float64)
     self.fieldT = numpy.array([ -0.3, -0.4,
                                 +0.5, +0.6,
                                 +0.0, +0.1,

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DLinear.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DLinear.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -38,10 +38,10 @@
     
     # Input fields
     self.dt = 0.01
-    self.fieldTpdt = numpy.array([ +0.3, +0.2, -0.5,
-                                   -0.3, -0.4, -0.6,
-                                   +0.2, +0.6, +0.3,
-                                   -0.6, -0.1, -0.3], dtype=numpy.float64)
+    self.fieldTIncr = numpy.array([ +0.3, +0.2, -0.5,
+                                     -0.3, -0.4, -0.6,
+                                     +0.2, +0.6, +0.3,
+                                     -0.6, -0.1, -0.3], dtype=numpy.float64)
     self.fieldT = numpy.array([ +0.8, +0.1, -0.6,
                                 -0.1, -0.2, -0.5,
                                 +0.1, +0.7, +0.2,

Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DQuadratic.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DQuadratic.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DQuadratic.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -38,16 +38,16 @@
     
     # Input fields
     self.dt = 0.01
-    self.fieldTpdt = numpy.array([ +0.3, -0.4, -0.4,
-                                   -0.6, +0.8, +0.2,
-                                   +0.5, +0.5, +0.7,
-                                   -0.7, -0.5, -0.7,
-                                   -0.6, -0.3, +0.8,
-                                   -0.4, -0.8, -0.5,
-                                   +0.7, +0.8, -0.5,
-                                   -0.5, -0.5, -0.7,
-                                   -0.3, -0.9, +0.8,
-                                   -0.1, +0.5, -0.9], dtype=numpy.float64)
+    self.fieldTIncr = numpy.array([ +0.3, -0.4, -0.4,
+                                     -0.6, +0.8, +0.2,
+                                     +0.5, +0.5, +0.7,
+                                     -0.7, -0.5, -0.7,
+                                     -0.6, -0.3, +0.8,
+                                     -0.4, -0.8, -0.5,
+                                     +0.7, +0.8, -0.5,
+                                     -0.5, -0.5, -0.7,
+                                     -0.3, -0.9, +0.8,
+                                     -0.1, +0.5, -0.9], dtype=numpy.float64)
     self.fieldT = numpy.array([ +0.1, -0.2, -0.6,
                                 -0.3, +0.4, +0.9,
                                 +0.6, +0.8, +0.5,

Modified: short/3D/PyLith/trunk/unittests/pytests/feassemble/TestElasticityImplicit.py
===================================================================
--- short/3D/PyLith/trunk/unittests/pytests/feassemble/TestElasticityImplicit.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/pytests/feassemble/TestElasticityImplicit.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -270,8 +270,8 @@
     from pylith.topology.SolutionFields import SolutionFields
     fields = SolutionFields(mesh)
     fields.add("residual", "residual")
-    fields.add("disp(t), bc(t+dt)", "displacement")
-    fields.add("dispIncr(t->t+dt)", "displacement increment")
+    fields.add("disp(t)", "displacement")
+    fields.add("dispIncr(t->t+dt)", "displacement_increment")
     fields.solutionName("dispIncr(t->t+dt)")
 
     residual = fields.get("residual")

Modified: short/3D/PyLith/trunk/unittests/pytests/topology/TestMeshField.py
===================================================================
--- short/3D/PyLith/trunk/unittests/pytests/topology/TestMeshField.py	2009-05-08 03:56:50 UTC (rev 14923)
+++ short/3D/PyLith/trunk/unittests/pytests/topology/TestMeshField.py	2009-05-08 05:17:14 UTC (rev 14924)
@@ -148,4 +148,26 @@
     return
 
 
+  def test_operatorAdd(self):
+    """
+    Test newSection(field).
+    """
+    fieldB = MeshField(self.mesh)
+    fieldB += self.field
+
+    # No test of result
+    return
+
+
+  def test_copy(self):
+    """
+    Test newSection(field).
+    """
+    fieldB = MeshField(self.mesh)
+    fieldB.copy(self.field)
+
+    # No test of result
+    return
+
+
 # End of file 



More information about the CIG-COMMITS mailing list