[cig-commits] r14661 - in long/3D/SNAC/trunk/Snac: libSnac/src plugins snac2vtk

echoi at geodynamics.org echoi at geodynamics.org
Fri Apr 10 14:36:57 PDT 2009


Author: echoi
Date: 2009-04-10 14:36:56 -0700 (Fri, 10 Apr 2009)
New Revision: 14661

Modified:
   long/3D/SNAC/trunk/Snac/libSnac/src/Context.c
   long/3D/SNAC/trunk/Snac/plugins/Makefile.def
   long/3D/SNAC/trunk/Snac/snac2vtk/snac2vtk.c
Log:
1. In libSnac/src/Context.c

	- Removed unnecessary debuggin messages.

	- checkpointTimeStep.0 is now created to minimize the changes to snac2restart.
	
	- sim.* timeStep.* and checkpointTimeStep.* are now written only by the rank 0 processor. 

2.	snac2vtk.c has been modified to access only sim.0 and timeStep.0.

3. The order of building plugins has been changed so that the dependency on each other can be resolved.




Modified: long/3D/SNAC/trunk/Snac/libSnac/src/Context.c
===================================================================
--- long/3D/SNAC/trunk/Snac/libSnac/src/Context.c	2009-04-10 21:05:44 UTC (rev 14660)
+++ long/3D/SNAC/trunk/Snac/libSnac/src/Context.c	2009-04-10 21:36:56 UTC (rev 14661)
@@ -374,33 +374,33 @@
 	/* Parallelisation information */
 	self->parallel = Snac_Parallel_New( self->communicator, self->mesh );
 
-	/* Output */
-	sprintf( tmpBuf, "%s/sim.%u", self->outputPath, self->rank );
-	if( (self->simInfo = fopen( tmpBuf, "w+" )) == NULL ) {
-		Journal_Firewall(
-			(ArithPointer)self->simInfo,
-			self->snacError,
-			"\"%s\"  failed to open file for writing", tmpBuf );
-	}
-	else {
-		fprintf( self->simInfo, "%u %u %u %u %u %u %u %u %u\n(global element numbers)[3]=(proc numbers)[3]*(local element numbers)[3]\n",
-				 ((HexaMD*)self->mesh->layout->decomp)->elementGlobal3DCounts[0],
-				 ((HexaMD*)self->mesh->layout->decomp)->elementGlobal3DCounts[1],
-				 ((HexaMD*)self->mesh->layout->decomp)->elementGlobal3DCounts[2], 
-				 self->numProcX, self->numProcY, self->numProcZ,
-				 ((HexaMD*)self->mesh->layout->decomp)->elementLocal3DCounts[self->rank][0],
-				 ((HexaMD*)self->mesh->layout->decomp)->elementLocal3DCounts[self->rank][1],
-				 ((HexaMD*)self->mesh->layout->decomp)->elementLocal3DCounts[self->rank][2] );
-		fflush( self->simInfo );
-	}
-	sprintf( tmpBuf, "%s/timeStep.%u", self->outputPath, self->rank );
-	if( (self->timeStepInfo = fopen( tmpBuf, "w+" )) == NULL ) {
-		Journal_Firewall(
-			(ArithPointer)self->timeStepInfo,
-			self->snacError,
-			"\"%s\"  failed to open file for writing", tmpBuf );
-	}
-	if( self->checkpointEvery > 0 ) {
+	/* Outputs that can be written only for one processor (rank==0). */
+	if( self->rank==0 ) {
+		sprintf( tmpBuf, "%s/sim.%u", self->outputPath, self->rank );
+		if( (self->simInfo = fopen( tmpBuf, "w+" )) == NULL ) {
+			Journal_Firewall(
+							 (ArithPointer)self->simInfo,
+							 self->snacError,
+							 "\"%s\"  failed to open file for writing", tmpBuf );
+		}
+		else {
+			fprintf( self->simInfo, "%u %u %u %u %u %u %u %u %u\n(global element numbers)[3]=(proc numbers)[3]*(local element numbers)[3]\n",
+					 ((HexaMD*)self->mesh->layout->decomp)->elementGlobal3DCounts[0],
+					 ((HexaMD*)self->mesh->layout->decomp)->elementGlobal3DCounts[1],
+					 ((HexaMD*)self->mesh->layout->decomp)->elementGlobal3DCounts[2], 
+					 self->numProcX, self->numProcY, self->numProcZ,
+					 ((HexaMD*)self->mesh->layout->decomp)->elementLocal3DCounts[self->rank][0],
+					 ((HexaMD*)self->mesh->layout->decomp)->elementLocal3DCounts[self->rank][1],
+					 ((HexaMD*)self->mesh->layout->decomp)->elementLocal3DCounts[self->rank][2] );
+			fflush( self->simInfo );
+		}
+		sprintf( tmpBuf, "%s/timeStep.%u", self->outputPath, self->rank );
+		if( (self->timeStepInfo = fopen( tmpBuf, "w+" )) == NULL ) {
+			Journal_Firewall(
+							 (ArithPointer)self->timeStepInfo,
+							 self->snacError,
+							 "\"%s\"  failed to open file for writing", tmpBuf );
+		}
 		sprintf( tmpBuf, "%s/checkpointTimeStep.%u", self->outputPath, self->rank );
 		if( (self->checkpointTimeStepInfo = fopen( tmpBuf, "w+" )) == NULL ) {
 			Journal_Firewall(
@@ -1184,13 +1184,14 @@
 void _Snac_Context_WriteLoopInfo( void* context ) {
 	Snac_Context* self = (Snac_Context*)context;
 
-	if( isTimeToDump( self ) ) {
-		fprintf(stderr,"writing timeStep.* at %d\n",self->timeStep );
+	if( self->rank >0 )
+		return;
+
+	if( isTimeToDump( self ) ) 
 		_Snac_Context_DumpLoopInfo( self );
-	}
 
-/* 	if( isTimeToCheckpoint( self ) ) */
-/* 		_Snac_Context_CheckpointLoopInfo( self ); */
+	if( isTimeToCheckpoint( self ) )
+		_Snac_Context_CheckpointLoopInfo( self );
 
 }
 

Modified: long/3D/SNAC/trunk/Snac/plugins/Makefile.def
===================================================================
--- long/3D/SNAC/trunk/Snac/plugins/Makefile.def	2009-04-10 21:05:44 UTC (rev 14660)
+++ long/3D/SNAC/trunk/Snac/plugins/Makefile.def	2009-04-10 21:36:56 UTC (rev 14661)
@@ -32,4 +32,4 @@
 ##
 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-def_sub = customCartesianMesh cylinder_quadrant cylindrical elastic exchanger heterogeneities hillSlope hydroStaticIC maxwell plastic plSeeds remesher restarter restarter_old spherical temperature viscoplastic vpSeeds winkler 
+def_sub = customCartesianMesh cylinder_quadrant cylindrical elastic exchanger heterogeneities hydroStaticIC temperature maxwell plastic plSeeds remesher restarter restarter_old spherical viscoplastic vpSeeds winkler hillSlope 

Modified: long/3D/SNAC/trunk/Snac/snac2vtk/snac2vtk.c
===================================================================
--- long/3D/SNAC/trunk/Snac/snac2vtk/snac2vtk.c	2009-04-10 21:05:44 UTC (rev 14660)
+++ long/3D/SNAC/trunk/Snac/snac2vtk/snac2vtk.c	2009-04-10 21:36:56 UTC (rev 14661)
@@ -218,7 +218,7 @@
 	    for( rankI=0; rankI < rank_array[0]; rankI++ ) {
 			rank = rankI + rankJ*rank_array[0] + rankK*rank_array[0]*rank_array[1]; 
 			
-			sprintf( tmpBuf, "%s/timeStep.%u", path, rank );
+			sprintf( tmpBuf, "%s/timeStep.0", path );
 			if( (timeStepIn = fopen( tmpBuf, "r" )) == NULL ) {
 				fprintf(stderr, "\"%s\" not found\n", tmpBuf );
 				exit(1);



More information about the CIG-COMMITS mailing list