[cig-commits] r6090 - in long/3D/Gale/trunk/src/StGermain: . Discretisation/Mesh/src

walter at geodynamics.org walter at geodynamics.org
Fri Feb 23 10:02:39 PST 2007


Author: walter
Date: 2007-02-23 10:02:37 -0800 (Fri, 23 Feb 2007)
New Revision: 6090

Modified:
   long/3D/Gale/trunk/src/StGermain/
   long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/CartesianGenerator.c
Log:
 r3341 at earth (orig r4018):  LukeHodkinson | 2007-02-22 20:59:38 -0800
 Modifying the output of the cartesian generator to
 deliver some more information on decompositions. Now,
 a root dictionary parameter by the name of 'rankToWatch'
 can be used to specify the process rank which will print
 out it's elemental offest and range into the global
 mesh size.
 



Property changes on: long/3D/Gale/trunk/src/StGermain
___________________________________________________________________
Name: svk:merge
   - 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:3196
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/branches/decomp3d/StGermain:4012
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3899
   + 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:3196
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/branches/decomp3d/StGermain:4018
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3899

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/CartesianGenerator.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/CartesianGenerator.c	2007-02-23 18:02:35 UTC (rev 6089)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Mesh/src/CartesianGenerator.c	2007-02-23 18:02:37 UTC (rev 6090)
@@ -159,6 +159,7 @@
 	double			*crdMin, *crdMax;
 	unsigned*		size;
 	unsigned		shadowDepth;
+	Stream*			stream;
 	unsigned		d_i;
 
 	assert( self && Stg_CheckType( self, CartesianGenerator ) );
@@ -259,6 +260,10 @@
 	/* Read regular flag. */
 	self->regular = Stg_ComponentFactory_GetBool( cf, self->name, "regular", True );
 
+	/* Read a general dictionary flag for which processor to watch. */
+	stream = Journal_Register( Info_Type, self->type );
+	Stream_SetPrintingRank( stream, Dictionary_GetUnsignedInt_WithDefault( cf->rootDict, "rankToWatch", 0 ) );
+
 	/* Free stuff. */
 	FreeArray( size );
 	FreeArray( minDecomp );
@@ -381,10 +386,26 @@
 	assert( !self->elGrid || mesh );
 
 	Journal_Printf( stream, "Cartesian generator: '%s'\n", self->name );
-	Journal_Printf( stream, "Target mesh: '%s'\n", mesh->name );
+	Stream_Indent( stream );
 
 	/* If we havn't been given anything, don't do anything. */
 	if( self->elGrid ) {
+		unsigned	d_i;
+
+		Journal_Printf( stream, "Target mesh: '%s'\n", mesh->name );
+		Journal_Printf( stream, "Global element size: %d", self->elGrid->sizes[0] );
+		for( d_i = 1; d_i < self->elGrid->nDims; d_i++ )
+			Journal_Printf( stream, "x%d", self->elGrid->sizes[d_i] );
+		Journal_Printf( stream, "\n" );
+		Journal_Printf( stream, "Local offset of rank %d: %d", stream->_printingRank, self->origin[0] );
+		for( d_i = 1; d_i < self->elGrid->nDims; d_i++ )
+			Journal_Printf( stream, "x%d", self->origin[d_i] );
+		Journal_Printf( stream, "\n" );
+		Journal_Printf( stream, "Local range of rank %d: %d", stream->_printingRank, self->range[0] );
+		for( d_i = 1; d_i < self->elGrid->nDims; d_i++ )
+			Journal_Printf( stream, "x%d", self->range[d_i] );
+		Journal_Printf( stream, "\n" );
+
 		/* Fill topological values. */
 		MeshTopology_SetDimSize( mesh->topo, self->elGrid->nDims );
 		CartesianGenerator_GenTopo( self, mesh->topo );
@@ -423,6 +444,8 @@
 	localRange = (unsigned*)ExtensionManager_Get( mesh->info, mesh, 
 						      ExtensionManager_GetHandle( mesh->info, "localRange" ) );
 	memcpy( localRange, self->range, Mesh_GetDimSize( mesh ) * sizeof(unsigned) );
+
+	Stream_UnIndent( stream );
 }
 
 
@@ -783,7 +806,6 @@
 	assert( topo );
 	assert( grids );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating elements...\n" );
 	Stream_Indent( stream );
 
@@ -821,7 +843,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_GenVertices( CartesianGenerator* self, MeshTopology* topo, Grid*** grids ) {
@@ -842,7 +863,6 @@
 	assert( topo );
 	assert( grids );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating vertices...\n" );
 	Stream_Indent( stream );
 
@@ -917,7 +937,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_GenEdges( CartesianGenerator* self, MeshTopology* topo, Grid*** grids ) {
@@ -928,7 +947,6 @@
 	assert( self->elGrid->nDims >= 2 );
 	assert( self->elGrid->nDims <= 3 );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating edges...\n" );
 	Stream_Indent( stream );
 
@@ -940,7 +958,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_GenEdges2D( CartesianGenerator* self, MeshTopology* topo, Grid*** grids ) {
@@ -1135,7 +1152,6 @@
 	assert( grids );
 	assert( self->elGrid->nDims == 3 );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating faces...\n" );
 	Stream_Indent( stream );
 
@@ -1221,7 +1237,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_GenElementVertexInc( CartesianGenerator* self, MeshTopology* topo, Grid*** grids ) {
@@ -1236,7 +1251,6 @@
 	assert( topo );
 	assert( grids );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating element-vertex incidence...\n" );
 	Stream_Indent( stream );
 
@@ -1297,7 +1311,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_GenVolumeEdgeInc( CartesianGenerator* self, MeshTopology* topo, Grid*** grids ) {
@@ -1312,7 +1325,6 @@
 	assert( grids );
 	assert( topo->nDims >= 3 );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating volume-edge incidence...\n" );
 	Stream_Indent( stream );
 
@@ -1376,7 +1388,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_GenVolumeFaceInc( CartesianGenerator* self, MeshTopology* topo, Grid*** grids ) {
@@ -1391,7 +1402,6 @@
 	assert( grids );
 	assert( topo->nDims >= 3 );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating volume-face incidence...\n" );
 	Stream_Indent( stream );
 
@@ -1433,7 +1443,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_GenFaceVertexInc( CartesianGenerator* self, MeshTopology* topo, Grid*** grids ) {
@@ -1448,7 +1457,6 @@
 	assert( grids );
 	assert( topo->nDims >= 2 );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating face-vertex incidence...\n" );
 	Stream_Indent( stream );
 
@@ -1528,7 +1536,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_GenFaceEdgeInc( CartesianGenerator* self, MeshTopology* topo, Grid*** grids ) {
@@ -1543,7 +1550,6 @@
 	assert( grids );
 	assert( topo->nDims >= 2 );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating face-edge incidence...\n" );
 	Stream_Indent( stream );
 
@@ -1617,7 +1623,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_GenEdgeVertexInc( CartesianGenerator* self, MeshTopology* topo, Grid*** grids ) {
@@ -1631,7 +1636,6 @@
 	assert( topo );
 	assert( grids );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating edge-vertex incidence...\n" );
 	Stream_Indent( stream );
 
@@ -1687,7 +1691,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_CompleteVertexNeighbours( CartesianGenerator* self, MeshTopology* topo, Grid*** grids ) {
@@ -1703,7 +1706,6 @@
 	assert( topo );
 	assert( grids );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating vertex neighbours...\n" );
 	Stream_Indent( stream );
 
@@ -1790,7 +1792,6 @@
 	MPI_Barrier( topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_MapToDomain( CartesianGenerator* self, Decomp_Sync* sync, 
@@ -1821,7 +1822,6 @@
 	assert( self );
 	assert( mesh );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating geometry...\n" );
 	Stream_Indent( stream );
 
@@ -1869,7 +1869,6 @@
 	MPI_Barrier( mesh->topo->domains[MT_VERTEX]->decomp->comm );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_GenElementTypes( CartesianGenerator* self, Mesh* mesh ) {
@@ -1879,7 +1878,6 @@
 
 	assert( self );
 
-	Stream_Indent( stream );
 	Journal_Printf( stream, "Generating element types...\n" );
 	Stream_Indent( stream );
 
@@ -1900,7 +1898,6 @@
 	Journal_Printf( stream, "... mesh algorithm type is '%s',\n", mesh->algorithms->type );
 	Journal_Printf( stream, "... done.\n" );
 	Stream_UnIndent( stream );
-	Stream_UnIndent( stream );
 }
 
 void CartesianGenerator_Destruct( CartesianGenerator* self ) {



More information about the cig-commits mailing list