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

willic3 at geodynamics.org willic3 at geodynamics.org
Thu Aug 5 20:28:35 PDT 2010


Author: willic3
Date: 2010-08-05 20:28:34 -0700 (Thu, 05 Aug 2010)
New Revision: 17068

Modified:
   short/3D/PyLith/trunk/libsrc/materials/DruckerPrager3D.cc
Log:
Fixed mistake in yield condition.


Modified: short/3D/PyLith/trunk/libsrc/materials/DruckerPrager3D.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/materials/DruckerPrager3D.cc	2010-08-05 17:17:20 UTC (rev 17067)
+++ short/3D/PyLith/trunk/libsrc/materials/DruckerPrager3D.cc	2010-08-06 03:28:34 UTC (rev 17068)
@@ -540,10 +540,11 @@
 				      strainPPTpdt[5]/ae + devStressInitial[5]};
     const double trialMeanStress = meanStrainPPTpdt/am + meanStressInitial;
     const double yieldFunction = 3.0* alphaYield * trialMeanStress +
-      pylith::materials::ElasticMaterial::scalarProduct3D(trialDevStress,
-							  trialDevStress) -
+      sqrt(0.5 *
+	   pylith::materials::ElasticMaterial::scalarProduct3D( trialDevStress,
+								trialDevStress)) -
       beta;
-    PetscLogFlops(74);
+    PetscLogFlops(76);
 
     // If yield function is greater than zero, compute elastoplastic stress.
     if (yieldFunction >= 0.0) {
@@ -802,9 +803,11 @@
 				    strainPPTpdt[5]/ae + devStressInitial[5]};
   const double trialMeanStress = meanStrainPPTpdt/am + meanStressInitial;
   const double yieldFunction = 3.0* alphaYield * trialMeanStress +
-    pylith::materials::ElasticMaterial::scalarProduct3D(trialDevStress,
-							trialDevStress) - beta;
-  PetscLogFlops(74);
+    sqrt(0.5 *
+	 pylith::materials::ElasticMaterial::scalarProduct3D(trialDevStress,
+							     trialDevStress)) -
+    beta;
+  PetscLogFlops(76);
   
   // If yield function is greater than zero, compute elastoplastic stress and
   // corresponding tangent matrix.
@@ -1059,9 +1062,11 @@
 				    strainPPTpdt[5]/ae + devStressInitial[5]};
   const double trialMeanStress = meanStrainPPTpdt/am + meanStressInitial;
   const double yieldFunction = 3.0* alphaYield * trialMeanStress +
-    pylith::materials::ElasticMaterial::scalarProduct3D(trialDevStress,
-							trialDevStress) - beta;
-  PetscLogFlops(74);
+    sqrt(0.5 *
+	 pylith::materials::ElasticMaterial::scalarProduct3D(trialDevStress,
+							     trialDevStress)) -
+    beta;
+  PetscLogFlops(76);
 
   // If yield function is greater than zero, compute plastic strains.
   // Otherwise, plastic strains remain the same.



More information about the CIG-COMMITS mailing list