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

walter at geodynamics.org walter at geodynamics.org
Fri Jan 19 10:10:47 PST 2007


Author: walter
Date: 2007-01-19 10:10:46 -0800 (Fri, 19 Jan 2007)
New Revision: 5836

Modified:
   long/3D/Gale/trunk/src/StgFEM/
   long/3D/Gale/trunk/src/StgFEM/SLE/LinearAlgebra/src/PETScMGSolver.c
   long/3D/Gale/trunk/src/StgFEM/SLE/LinearAlgebra/src/SROpGenerator.c
Log:
 r975 at earth (orig r716):  LukeHodkinson | 2007-01-18 21:44:46 -0800
 * Was accidentally setting the coarse multigrid solver
   to SOR when it should be a direct solve.
 * Was incorrectly handling multiple DOFs on the prolongation
   operators.
 



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:714
db209038-57f2-0310-97fa-b160e0ae9d04:/trunk:669
   + 38867592-cf10-0410-9e16-a142ea72ac34:/cig:880
db209038-57f2-0310-97fa-b160e0ae9d04:/branches/decomp3d:716
db209038-57f2-0310-97fa-b160e0ae9d04:/trunk:669

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/LinearAlgebra/src/PETScMGSolver.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/LinearAlgebra/src/PETScMGSolver.c	2007-01-19 09:56:05 UTC (rev 5835)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/LinearAlgebra/src/PETScMGSolver.c	2007-01-19 18:10:46 UTC (rev 5836)
@@ -214,7 +214,7 @@
 	ec = PCMGSetGalerkin( pc );
 	CheckPETScError( ec );
 
-	for( l_i = 0; l_i < self->nLevels; l_i++ ) {
+	for( l_i = 1; l_i < self->nLevels; l_i++ ) {
 		PCMGGetSmoother( pc, l_i, &downKSP );
 		KSPSetType( downKSP, KSPRICHARDSON );
 		KSPGetPC( downKSP, &downPC );

Modified: long/3D/Gale/trunk/src/StgFEM/SLE/LinearAlgebra/src/SROpGenerator.c
===================================================================
--- long/3D/Gale/trunk/src/StgFEM/SLE/LinearAlgebra/src/SROpGenerator.c	2007-01-19 09:56:05 UTC (rev 5835)
+++ long/3D/Gale/trunk/src/StgFEM/SLE/LinearAlgebra/src/SROpGenerator.c	2007-01-19 18:10:46 UTC (rev 5836)
@@ -453,7 +453,7 @@
 	unsigned	fTopNode, cTopNode;
 	unsigned	fEqNum, cEqNum;
 	double		*localCoord, *basis;
-	unsigned	n_i, dof_i, dof_j, inc_i, e_i;
+	unsigned	n_i, dof_i, inc_i, e_i;
 
 	assert( self && Stg_CheckType( self, SROpGenerator ) );
 	assert( self->meshes );
@@ -496,11 +496,9 @@
 			Mesh_GetIncidence( cMesh, nDims, ind, MT_VERTEX, &nInc, &inc );
 			for( inc_i = 0; inc_i < nInc; inc_i++ ) {
 				cTopNode = self->topMaps[level - 1][inc[inc_i]];
-				for( dof_j = 0; dof_j < dofLayout->dofCounts[cTopNode]; dof_j++ ) {
-					cEqNum = self->eqNums[level - 1][inc[inc_i]][dof_j];
-					if( cEqNum != (unsigned)-1 && !Num_Approx( basis[inc_i], 0.0 ) )
-						Matrix_InsertEntries( P, 1, &fEqNum, 1, &cEqNum, basis + inc_i );
-				}
+				cEqNum = self->eqNums[level - 1][inc[inc_i]][dof_i];
+				if( cEqNum != (unsigned)-1 && !Num_Approx( basis[inc_i], 0.0 ) )
+					Matrix_InsertEntries( P, 1, &fEqNum, 1, &cEqNum, basis + inc_i );
 			}
 		}
 	}



More information about the cig-commits mailing list