[cig-commits] r19734 - short/3D/PyLith/trunk/libsrc/pylith/materials

willic3 at geodynamics.org willic3 at geodynamics.org
Tue Mar 6 18:26:02 PST 2012


Author: willic3
Date: 2012-03-06 18:26:02 -0800 (Tue, 06 Mar 2012)
New Revision: 19734

Modified:
   short/3D/PyLith/trunk/libsrc/pylith/materials/DruckerPrager3D.cc
   short/3D/PyLith/trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.cc
Log:
Small change in calcElasticConstsTimeDep so that we don't do comparisons
twice and don't compare doubles.



Modified: short/3D/PyLith/trunk/libsrc/pylith/materials/DruckerPrager3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/materials/DruckerPrager3D.cc	2012-03-06 22:17:56 UTC (rev 19733)
+++ short/3D/PyLith/trunk/libsrc/pylith/materials/DruckerPrager3D.cc	2012-03-07 02:26:02 UTC (rev 19734)
@@ -906,11 +906,8 @@
     const PylithScalar dFac = 1.0/(sqrt(2.0) * ae);
     const PylithScalar testMult = plasticFac *
       (meanStrainFac * meanStrainPPTpdt + dFac * d - beta);
-    const PylithScalar plasticMult = std::min(sqrt(2.0)*d, testMult);
-	       
-    bool tensileYield = false;
-    if (plasticMult == sqrt(2.0) * d)
-      tensileYield = true;
+    const bool tensileYield = (sqrt(2.0) * d < testMult) ? true: false;
+    const PylithScalar plasticMult = tensileYield ? sqrt(2.0) * d: testMult;
 
     // Define some constants, vectors, and matrices.
     const PylithScalar third = 1.0/3.0;

Modified: short/3D/PyLith/trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.cc	2012-03-06 22:17:56 UTC (rev 19733)
+++ short/3D/PyLith/trunk/libsrc/pylith/materials/DruckerPragerPlaneStrain.cc	2012-03-07 02:26:02 UTC (rev 19734)
@@ -928,12 +928,9 @@
     const PylithScalar dFac = 1.0/(sqrt(2.0) * ae);
     const PylithScalar testMult = plasticFac *
       (meanStrainFac * meanStrainPPTpdt + dFac * d - beta);
-    const PylithScalar plasticMult = std::min(sqrt(2.0)*d, testMult);
+    const bool tensileYield = (sqrt(2.0) * d < testMult) ? true: false;
+    const PylithScalar plasticMult = tensileYield ? sqrt(2.0) * d: testMult;
 
-    bool tensileYield = false;
-    if (plasticMult == sqrt(2.0) * d)
-      tensileYield = true;
-
     // Define some constants, vectors, and matrices.
     const PylithScalar third = 1.0/3.0;
     const PylithScalar dEdEpsilon[3][3] = {



More information about the CIG-COMMITS mailing list