[cig-commits] r16567 - in long/3D/SNAC/trunk/Snac/plugins: plasticSPR viscoplasticSPR

echoi at geodynamics.org echoi at geodynamics.org
Wed Apr 21 07:25:52 PDT 2010


Author: echoi
Date: 2010-04-21 07:25:52 -0700 (Wed, 21 Apr 2010)
New Revision: 16567

Modified:
   long/3D/SNAC/trunk/Snac/plugins/plasticSPR/InitialConditions.c
   long/3D/SNAC/trunk/Snac/plugins/viscoplasticSPR/InitialConditions.c
Log:

tetra volume hasn't been computed at the time of reading restart info: replaced volume average with arithmetic mean.



Modified: long/3D/SNAC/trunk/Snac/plugins/plasticSPR/InitialConditions.c
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/plasticSPR/InitialConditions.c	2010-04-20 20:02:43 UTC (rev 16566)
+++ long/3D/SNAC/trunk/Snac/plugins/plasticSPR/InitialConditions.c	2010-04-21 14:25:52 UTC (rev 16567)
@@ -79,23 +79,27 @@
 			if( material->yieldcriterion == mohrcoulomb ) {
 				Tetrahedra_Index	tetra_I;
 				double              depls = 0.0f;
-				double              totalVolume = 0.0f;
+				/* double              totalVolume = 0.0f; */
 				
 				for( tetra_I = 0; tetra_I < Tetrahedra_Count; tetra_I++ ) {
 					double			tetraPlStrain;
 
 					fscanf( plStrainIn, "%le", &tetraPlStrain );
 					plasticElement->plasticStrain[tetra_I] = tetraPlStrain;
-					depls += plasticElement->plasticStrain[tetra_I]*element->tetra[tetra_I].volume;
-					totalVolume += element->tetra[tetra_I].volume;
+					/* depls += plasticElement->plasticStrain[tetra_I]*element->tetra[tetra_I].volume; */
+					/* totalVolume += element->tetra[tetra_I].volume; */
+					depls += plasticElement->plasticStrain[tetra_I];
+					if( context->rank==0)
+						fprintf(stderr,"tetraPlStrain=%e vol=%e\n",tetraPlStrain,element->tetra[tetra_I].volume);
 				}
 				/* volume-averaged accumulated plastic strain, aps */
-				plasticElement->aps = depls/totalVolume;
-			}//if(mohrcoulomb)
-		}//for elements
+				/* plasticElement->aps = depls/totalVolume; */
+				plasticElement->aps = depls/Tetrahedra_Count;
+			}/* if(mohrcoulomb) */
+		}/* for elements */
 		if( plStrainIn )
 			fclose( plStrainIn );
-	}//if restarting
+	}/* if restarting */
 	else {
 		/* Set the plastic element initial conditions */
 		for( element_lI = 0; element_lI < context->mesh->elementLocalCount; element_lI++ ) {

Modified: long/3D/SNAC/trunk/Snac/plugins/viscoplasticSPR/InitialConditions.c
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/viscoplasticSPR/InitialConditions.c	2010-04-20 20:02:43 UTC (rev 16566)
+++ long/3D/SNAC/trunk/Snac/plugins/viscoplasticSPR/InitialConditions.c	2010-04-21 14:25:52 UTC (rev 16567)
@@ -100,7 +100,7 @@
 			if( material->yieldcriterion == mohrcoulomb ) {
 				Tetrahedra_Index	tetra_I;
 				double              depls = 0.0f;
-				double              totalVolume = 0.0f;
+				/* double              totalVolume = 0.0f; */
 				
 				for( tetra_I = 0; tetra_I < Tetrahedra_Count; tetra_I++ ) {
 					double			tetraPlStrain;
@@ -110,16 +110,18 @@
 
 					fscanf( plStrainIn, "%le", &tetraPlStrain );
 					viscoplasticElement->plasticStrain[tetra_I] = tetraPlStrain;
-					depls += viscoplasticElement->plasticStrain[tetra_I]*element->tetra[tetra_I].volume;
-					totalVolume += element->tetra[tetra_I].volume;
-				}//for tets
+					depls += viscoplasticElement->plasticStrain[tetra_I];
+					/* depls += viscoplasticElement->plasticStrain[tetra_I]*element->tetra[tetra_I].volume; */
+					/* totalVolume += element->tetra[tetra_I].volume; */
+				}/* for tets */
 				/* volume-averaged accumulated plastic strain, aps */
-				viscoplasticElement->aps = depls/totalVolume;
-			}//if(mohrcoulomb)
-		}//for elements
+				viscoplasticElement->aps = depls/Tetrahedra_Count;
+				/* viscoplasticElement->aps = depls/totalVolume; */
+			}/* if(mohrcoulomb) */
+		}/* for elements */
 		if( plStrainIn )
 			fclose( plStrainIn );
-	}// if restarting.
+	}/* if restarting.*/
 	else {
 		/* Set the plastic element initial conditions */
 		for( element_lI = 0; element_lI < context->mesh->elementLocalCount; element_lI++ ) {



More information about the CIG-COMMITS mailing list