[cig-commits] r16193 - in short/3D/PyLith/trunk: libsrc/friction unittests/libtests/friction

brad at geodynamics.org brad at geodynamics.org
Thu Jan 28 21:09:05 PST 2010


Author: brad
Date: 2010-01-28 21:09:05 -0800 (Thu, 28 Jan 2010)
New Revision: 16193

Modified:
   short/3D/PyLith/trunk/libsrc/friction/FrictionModel.cc
   short/3D/PyLith/trunk/libsrc/friction/StaticFriction.cc
   short/3D/PyLith/trunk/unittests/libtests/friction/TestFrictionModel.cc
Log:
Fixed bug in calcFriction. Was missing return.

Modified: short/3D/PyLith/trunk/libsrc/friction/FrictionModel.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/friction/FrictionModel.cc	2010-01-29 01:23:42 UTC (rev 16192)
+++ short/3D/PyLith/trunk/libsrc/friction/FrictionModel.cc	2010-01-29 05:09:05 UTC (rev 16193)
@@ -610,9 +610,12 @@
                                               const double slipRate,
                                               const double normalTraction)
 { // calcFriction
-  _calcFriction(slip, slipRate, normalTraction,
-      &_propertiesVertex[0], _propertiesVertex.size(),
-      &_stateVarsVertex[0], _stateVarsVertex.size());
+  const double friction =
+    _calcFriction(slip, slipRate, normalTraction,
+		  &_propertiesVertex[0], _propertiesVertex.size(),
+		  &_stateVarsVertex[0], _stateVarsVertex.size());
+
+  return friction;
 } // calcFriction
 
 // ----------------------------------------------------------------------

Modified: short/3D/PyLith/trunk/libsrc/friction/StaticFriction.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/friction/StaticFriction.cc	2010-01-29 01:23:42 UTC (rev 16192)
+++ short/3D/PyLith/trunk/libsrc/friction/StaticFriction.cc	2010-01-29 05:09:05 UTC (rev 16193)
@@ -137,7 +137,7 @@
   assert(_numPropsVertex == numProperties);
   assert(0 == numStateVars);
 
-  const double friction = (normalTraction < 0) ?
+  const double friction = (normalTraction < 0.0) ?
     -properties[p_coef] * normalTraction : 0.0;
 
   PetscLogFlops(1);

Modified: short/3D/PyLith/trunk/unittests/libtests/friction/TestFrictionModel.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/friction/TestFrictionModel.cc	2010-01-29 01:23:42 UTC (rev 16192)
+++ short/3D/PyLith/trunk/unittests/libtests/friction/TestFrictionModel.cc	2010-01-29 05:09:05 UTC (rev 16193)
@@ -267,7 +267,7 @@
 pylith::friction::TestFrictionModel::testCalcFriction(void)
 { // testCalcFriction
   const double slip = 1.2;
-  const double slipRate =-2.3;
+  const double slipRate = -2.3;
   const double normalTraction = -2.4;
   const double frictionCoef = 0.45;
   const double frictionE = -normalTraction*frictionCoef;
@@ -283,10 +283,10 @@
   const double frictionV = friction.calcFriction(slip, slipRate, normalTraction);
 
   const double tolerance = 1.0e-6;
-  if (0 != frictionE)
+  if (0.0 != frictionE)
+    CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, frictionV/frictionE, tolerance);
+  else
     CPPUNIT_ASSERT_DOUBLES_EQUAL(frictionE, frictionV, tolerance);
-  else
-    CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, frictionV/frictionE, tolerance);
 } // testCalcFriction
     
 // ----------------------------------------------------------------------



More information about the CIG-COMMITS mailing list