[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