[cig-commits] r6111 - in long/3D/Gale/trunk/src/StgFEM: . SLE/SystemSetup/src

walter at geodynamics.org walter at geodynamics.org
Fri Feb 23 12:21:03 PST 2007


Author: walter
Date: 2007-02-23 12:21:03 -0800 (Fri, 23 Feb 2007)
New Revision: 6111

Modified:
   long/3D/Gale/trunk/src/StgFEM/
   long/3D/Gale/trunk/src/StgFEM/SLE/SystemSetup/src/StiffnessMatrix.c
Log:
 r994 at earth (orig r752):  LukeHodkinson | 2007-02-22 20:57:31 -0800
 Fixed a parallel bug causing nonzero entries in 
 the matrix to be excluded from the summations.
 



Property changes on: long/3D/Gale/trunk/src/StgFEM
___________________________________________________________________
Name: svk:merge
   - 38867592-cf10-0410-9e16-a142ea72ac34:/cig:880
db209038-57f2-0310-97fa-b160e0ae9d04:/branches/decomp3d:747
db209038-57f2-0310-97fa-b160e0ae9d04:/trunk:669
   + 38867592-cf10-0410-9e16-a142ea72ac34:/cig:880
db209038-57f2-0310-97fa-b160e0ae9d04:/branches/decomp3d:752
db209038-57f2-0310-97fa-b160e0ae9d04:/trunk:669

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/SystemSetup/src/StiffnessMatrix.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/SystemSetup/src/StiffnessMatrix.c	2007-02-23 20:21:00 UTC (rev 6110)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/SystemSetup/src/StiffnessMatrix.c	2007-02-23 20:21:03 UTC (rev 6111)
@@ -1549,6 +1549,9 @@
 		FeMesh_GetElementNodes( colMesh, e_i, &nColNodes, &colNodes );
 
 		for( n_i = 0; n_i < nRowNodes; n_i++ ) {
+			if( rowNodes[n_i] >= FeMesh_GetNodeLocalSize( rowMesh ) )
+				continue;
+
 			for( dof_i = 0; dof_i < rowDofs->dofCounts[rowNodes[n_i]]; dof_i++ ) {
 				rowEq = rowEqNum->locationMatrix[e_i][n_i][dof_i];
 				if( rowEq == (unsigned)-1 )
@@ -1560,7 +1563,7 @@
 						if( colEq == (unsigned)-1 )
 							continue;
 
-						nMaxNonZeros[rowEq]++;
+						nMaxNonZeros[rowEq - rowEqNum->firstOwnedEqNum]++;
 					}
 				}
 			}
@@ -1584,6 +1587,9 @@
 		FeMesh_GetElementNodes( colMesh, e_i, &nColNodes, &colNodes );
 
 		for( n_i = 0; n_i < nRowNodes; n_i++ ) {
+			if( rowNodes[n_i] >= FeMesh_GetNodeLocalSize( rowMesh ) )
+				continue;
+
 			for( dof_i = 0; dof_i < rowDofs->dofCounts[rowNodes[n_i]]; dof_i++ ) {
 				rowEq = rowEqNum->locationMatrix[e_i][n_i][dof_i];
 				if( rowEq == (unsigned)-1 )
@@ -1595,7 +1601,7 @@
 						if( colEq == (unsigned)-1 )
 							continue;
 
-						StiffnessMatrix_TrackUniqueEqs( self, rowEq, colEq, 
+						StiffnessMatrix_TrackUniqueEqs( self, rowEq - rowEqNum->firstOwnedEqNum, colEq, 
 										nNonZeros, nonZeros );
 					}
 				}



More information about the cig-commits mailing list