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

walter at geodynamics.org walter at geodynamics.org
Thu Jul 20 20:08:06 PDT 2006


Author: walter
Date: 2006-07-20 20:08:05 -0700 (Thu, 20 Jul 2006)
New Revision: 4063

Modified:
   long/3D/Gale/trunk/src/StGermain/
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/ParallelDelaunay.c
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/ParallelDelaunay.h
Log:
 r2540 at earth:  boo | 2006-07-20 20:01:45 -0700
  r2516 at earth (orig r3685):  RaquibulHassan | 2006-07-17 05:27:15 -0700
  Fixed a bug in the routine that gathers all the triangle indices.
  
  
 



Property changes on: long/3D/Gale/trunk/src/StGermain
___________________________________________________________________
Name: svk:merge
   - 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2539
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3684
   + 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2540
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3685

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/ParallelDelaunay.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/ParallelDelaunay.c	2006-07-21 03:07:55 UTC (rev 4062)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/ParallelDelaunay.c	2006-07-21 03:08:05 UTC (rev 4063)
@@ -286,6 +286,7 @@
 	if( self->mappingTable[1] ) Memory_Free( self->mappingTable[1] );
 	Memory_Free( self->mapGlobalToLocal );
 	if( self->processor ) Memory_Free( self->processor );
+	if( self->initialOrder ) Memory_Free( self->initialOrder );
 	Memory_Free( self->processorLoad );
 	Memory_Free( self->attributes );
 
@@ -360,10 +361,16 @@
 		alloced = Memory_Alloc_Array_Unnamed( int, sizeof(int)*numSites );
 		memset( alloced, 0, sizeof( int )*numSites );
 	
+		self->initialOrder = Memory_Alloc_Array_Unnamed( int, sizeof(int)*numSites );
+		memset( self->initialOrder, 0, sizeof( int )*numSites );
 		
 		Delaunay_FindMinMax( self->sites, self->numSites, &_minX, &_minY, &_maxX, &_maxY );
 		Delaunay_SortSites( self->sites, self->numSites );
 
+		for( i=0; i<numSites; i++ ){
+			self->initialOrder[i] = self->sites[i].id;
+		}
+		
 		stride = (_maxX - _minX)/((float)numProcs);
 
 		start = _minX;
@@ -381,9 +388,9 @@
 			start+=stride;
 		}
 		
-		for( i=0; i<numProcs; i++ ){
+		/*for( i=0; i<numProcs; i++ ){
 			printf( "processorLoad[%d] = %d\n", i, self->processorLoad[i] );
-		}
+		}*/
 		
 		for( i=MASTER_PROC+1; i<numProcs; i++ ){
 			MPI_Send( &(self->processorLoad[i]), 1, MPI_INT, i, LOAD_TAG, *self->comm );
@@ -735,6 +742,9 @@
 				}
 				if( pd->attributes->FindNeighbours ){
 					memcpy( (pd->neighbours[j]), (pd->localTriangulation->neighbours[count]), sizeof(int)*pd->numNeighbours[j] );
+					for( i=0; i<pd->numNeighbours[j]; i++ ){
+						pd->neighbours[j][i] = pd->initialOrder[pd->neighbours[j][i]];
+					}
 				}
 				count++;
 			}
@@ -744,6 +754,9 @@
 				}
 				if( pd->attributes->FindNeighbours ){
 					MPI_Recv( (pd->neighbours[j]), pd->numNeighbours[j], MPI_INT, pd->processor[j], NEIGHBOURS_TAG, *(pd->comm), &st );
+					for( i=0; i<pd->numNeighbours[j]; i++ ){
+						pd->neighbours[j][i] = pd->initialOrder[pd->neighbours[j][i]];
+					}
 				}
 			}
 		}
@@ -821,6 +834,12 @@
 				}
 			}
 
+			for( i=0; i<pd->numTriangles; i++ ){
+				pd->triangleIndices[i][0] = pd->initialOrder[pd->triangleIndices[i][0]];
+				pd->triangleIndices[i][1] = pd->initialOrder[pd->triangleIndices[i][1]];
+				pd->triangleIndices[i][2] = pd->initialOrder[pd->triangleIndices[i][2]];
+			}
+
 			/*for( j=0; j<globalNumTriangles; j++ ){
 				printf( "indices[%d] = [%d, %d, %d]\n", j, pd->triangleIndices[j][0], pd->triangleIndices[j][1], pd->triangleIndices[j][2] );
 			}*/

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/ParallelDelaunay.h
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/ParallelDelaunay.h	2006-07-21 03:07:55 UTC (rev 4062)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/src/ParallelDelaunay.h	2006-07-21 03:08:05 UTC (rev 4063)
@@ -50,6 +50,7 @@
 		__Delaunay \
 		CoordF		*points; \
 		CoordF		*localPoints; \
+		int			*initialOrder; \
 		int			leftProc; \
 		int			rightProc; \
 		int			numProcs; \



More information about the cig-commits mailing list