[cig-commits] r7096 - in short/3D/PyLith/trunk: . libsrc/faults unittests/libtests/faults

brad at geodynamics.org brad at geodynamics.org
Thu Jun 7 17:42:59 PDT 2007


Author: brad
Date: 2007-06-07 17:42:59 -0700 (Thu, 07 Jun 2007)
New Revision: 7096

Modified:
   short/3D/PyLith/trunk/TODO
   short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh
Log:
Worked on kinematic earthquake source implementation with cohesive cells. Need to finish implementation of initialize() and redo integrateJacobian() and integrateResidual() implementations (need cohesive cells not fault mesh).

Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO	2007-06-08 00:03:11 UTC (rev 7095)
+++ short/3D/PyLith/trunk/TODO	2007-06-08 00:42:59 UTC (rev 7096)
@@ -32,7 +32,6 @@
          integrateResidual()
          integrateJacobian()
          setConstraintSizes()
-         setConstraints()
          setField()
        (2) Python unit tests
          initialize()

Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc	2007-06-08 00:03:11 UTC (rev 7095)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc	2007-06-08 00:42:59 UTC (rev 7096)
@@ -70,7 +70,7 @@
   assert(!orientation.isNull());
   const int cellDim = (*_faultMesh)->getDimension();
   const int spaceDim = cs->spaceDim();
-  const int orientationSize = cellDim*spaceDim;
+  const int orientationSize = (cellDim > 0) ? cellDim*spaceDim : 1;
   orientation->setFiberDimension((*_faultMesh)->depthStratum(0), 
 				 orientationSize);
   (*_faultMesh)->allocate(orientation);
@@ -108,11 +108,13 @@
   const Mesh::label_sequence::iterator cEnd = cells->end();
   double_array cellOrientation(_quadrature->numBasis()*orientationSize);
   const int numVertices = _quadrature->numBasis();
+  const feassemble::CellGeometry& cellGeometry = _quadrature->refGeometry();
+  const double_array& verticesRef = _quadrature->vertices();
+  const int numBasis = _quadrature->numBasis();
   for (Mesh::label_sequence::iterator c_iter=cBegin;
        c_iter != cEnd;
        ++c_iter) {
     // Compute Jacobian at vertices
-    // STUFF GOES HERE
     double_array jacobian;
     double_array jacobianDet;
 
@@ -372,7 +374,9 @@
 				    const ALE::Obj<real_section_type>& field,
 				    const ALE::Obj<ALE::Mesh>& mesh)
 { // setConstraintSizes
-  throw std::logic_error("FaultCohesiveKin::setConstraintSizes() not implemented.");
+  /* No DOF are eliminated from the system of equations with the 
+   * Lagrange multiplier formulation
+   */
 } // setConstraintSizes
 
 // ----------------------------------------------------------------------
@@ -382,7 +386,9 @@
 				     const ALE::Obj<real_section_type>& field,
 				     const ALE::Obj<ALE::Mesh>& mesh)
 { // setConstraints
-  throw std::logic_error("FaultCohesiveKin::setConstraints() not implemented.");
+  /* No DOF are eliminated from the system of equations with the 
+   * Lagrange multiplier formulation
+   */
 } // setConstraints
 
 // ----------------------------------------------------------------------

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2007-06-08 00:03:11 UTC (rev 7095)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.cc	2007-06-08 00:42:59 UTC (rev 7096)
@@ -80,18 +80,15 @@
 void
 pylith::faults::TestFaultCohesiveKin::testSetConstraintSizes(void)
 { // testSetConstraintSizes
+  // Make sure the fiber dimension at each point is equal to the
+  // spatial dimension of the mesh, because the Lagrange multiplier
+  // formation does not eliminate any DOF from the system of
+  // equations.
+
   throw std::logic_error("Unit test not implemented.");
 } // testSetConstraintSizes
 
 // ----------------------------------------------------------------------
-// Test setConstraints().
-void
-pylith::faults::TestFaultCohesiveKin::testSetConstraints(void)
-{ // testSetConstraints
-  throw std::logic_error("Unit test not implemented.");
-} // testSetConstraints
-
-// ----------------------------------------------------------------------
 // Test setField().
 void
 pylith::faults::TestFaultCohesiveKin::testSetField(void)

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh	2007-06-08 00:03:11 UTC (rev 7095)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKin.hh	2007-06-08 00:42:59 UTC (rev 7096)
@@ -77,9 +77,6 @@
   /// Test setConstraintSizes().
   void testSetConstraintSizes(void);
 
-  /// Test setConstraints().
-  void testSetConstraints(void);
-
   /// Test setField().
   void testSetField(void);
 

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh	2007-06-08 00:03:11 UTC (rev 7095)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesiveKinLine2.hh	2007-06-08 00:42:59 UTC (rev 7096)
@@ -41,7 +41,6 @@
   CPPUNIT_TEST( testIntegrateResidual );
   CPPUNIT_TEST( testIntegrateJacobian );
   CPPUNIT_TEST( testSetConstraintSizes );
-  CPPUNIT_TEST( testSetConstraints );
   CPPUNIT_TEST( testSetField );
 
   CPPUNIT_TEST_SUITE_END();



More information about the cig-commits mailing list