[cig-commits] r18880 - long/3D/SNAC/trunk/Snac/snac2restart
echoi at geodynamics.org
echoi at geodynamics.org
Wed Sep 7 10:48:36 PDT 2011
Author: echoi
Date: 2011-09-07 10:48:36 -0700 (Wed, 07 Sep 2011)
New Revision: 18880
Modified:
long/3D/SNAC/trunk/Snac/snac2restart/snac2restart.c
Log:
Modified to process accumulated plastic strain.
Modified: long/3D/SNAC/trunk/Snac/snac2restart/snac2restart.c
===================================================================
--- long/3D/SNAC/trunk/Snac/snac2restart/snac2restart.c 2011-09-07 17:38:45 UTC (rev 18879)
+++ long/3D/SNAC/trunk/Snac/snac2restart/snac2restart.c 2011-09-07 17:48:36 UTC (rev 18880)
@@ -58,6 +58,7 @@
FILE* velIn;
FILE* tempIn;
FILE* apsIn;
+FILE* avgApsIn;
/* FILE* tetApsIn; */
FILE* minLengthIn;
FILE* forceIn;
@@ -67,6 +68,7 @@
unsigned int elementLocalSize[3];
unsigned int doTemp = 1;
unsigned int doAps = 1;
+unsigned int doAvgAps = 1;
unsigned int restartStep = -1;
const double velocityDampingFactor = 1.0;
@@ -296,14 +298,22 @@
fprintf( stderr,"Warning, no plstrainCP.%u found... assuming plastic plugin not used.\n", rank );
doAps = 0;
}
+ sprintf( tmpBuf, "%s/avgPlStrainCP.%u", readPath, rank );
+ fprintf(stderr,"Reading from %s\n",tmpBuf);
+ if( (avgApsIn = fopen( tmpBuf, "r" )) == NULL ) {
+ fprintf( stderr,"Warning, no avgPlstrainCP.%u found... assuming plastic plugin not used.\n", rank );
+ doAvgAps = 0;
+ }
ConvertTimeStep( rank, dumpIteration, simTimeStep, time );
/* Close the input files */
if( apsIn ) {
fclose( apsIn );
- /* fclose( tetApsIn ); */
}
+ if( avgApsIn ) {
+ fclose( avgApsIn );
+ }
if( tempIn ) {
fclose( tempIn );
}
@@ -493,6 +503,25 @@
if( restartOut )
fclose( restartOut );
}
+ /* Write out avg. plstrain array */
+ if(doAvgAps) {
+ sprintf( tmpBuf, "%s/snac.avgPlStrain.%i.%06u.restart", writePath, rank, simTimeStep );
+ fprintf(stderr,"\tWriting out %s\n",tmpBuf);
+ if( (restartOut = fopen( tmpBuf, "w" )) == NULL ) {
+ /* failed to open file for writing */
+ fprintf(stderr, "Failed to open %s for writing\n", tmpBuf);
+ exit(0);
+ }
+
+ fseek( avgApsIn, dumpIteration * elementLocalCount * sizeof(float), SEEK_SET );
+ for( element_gI = 0; element_gI < elementLocalCount; element_gI++ ) {
+ float plstrain;
+ fread( &plstrain, sizeof(float), 1, avgApsIn );
+ fprintf( restartOut, "%.9e\n", plstrain );
+ }
+ if( restartOut )
+ fclose( restartOut );
+ }
/* mininum length scale */
if( rank == 0 ) {
sprintf( tmpBuf, "%s/snac.minLengthScale.restart", writePath );
More information about the CIG-COMMITS
mailing list