diff --git a/AMDiS/src/parallel/GlobalMatrixSolver.cc b/AMDiS/src/parallel/GlobalMatrixSolver.cc index b26b668a03d425ce1afb652cc98609d5588163a4..b950675c574e3308988dc82ff91f77d58a436cc2 100644 --- a/AMDiS/src/parallel/GlobalMatrixSolver.cc +++ b/AMDiS/src/parallel/GlobalMatrixSolver.cc @@ -4,7 +4,6 @@ #include "DOFVector.h" #include "Debug.h" #include "SystemVector.h" -#include "VtkWriter.h" #include "petscksp.h" @@ -47,7 +46,7 @@ namespace AMDiS { clock_t first = clock(); fillPetscMatrix(systemMatrix, rhs); - solvePetscMatrix(*solution); + solvePetscMatrix(*solution, adaptInfo); #ifdef _OPENMP INFO(info, 8)("solution of discrete system needed %.5f seconds system time / %.5f seconds wallclock time\n", @@ -474,7 +473,7 @@ namespace AMDiS { } - void GlobalMatrixSolver::solvePetscMatrix(SystemVector &vec) + void GlobalMatrixSolver::solvePetscMatrix(SystemVector &vec, AdaptInfo *adaptInfo) { FUNCNAME("GlobalMatrixSolver::solvePetscMatrix()"); @@ -535,7 +534,8 @@ namespace AMDiS { int iterations = 0; KSPGetIterationNumber(solver, &iterations); MSG(" Number of iterations: %d\n", iterations); - + adaptInfo->setSolverIterations(iterations); + double norm = 0.0; MatMult(petscMatrix, petscSolVec, petscTmpVec); VecAXPY(petscTmpVec, -1.0, petscRhsVec); diff --git a/AMDiS/src/parallel/GlobalMatrixSolver.h b/AMDiS/src/parallel/GlobalMatrixSolver.h index d133e69555e5824ba31feaed2d9951a826cee7db..08f3656f6b5c4c71678e5cdaa8c00e87f3a1b5d5 100644 --- a/AMDiS/src/parallel/GlobalMatrixSolver.h +++ b/AMDiS/src/parallel/GlobalMatrixSolver.h @@ -79,7 +79,7 @@ namespace AMDiS { void setDofVector(Vec& petscVec, DOFVector<double>* vec, int disMult = 1, int dispAdd = 0); - void solvePetscMatrix(SystemVector &vec); + void solvePetscMatrix(SystemVector &vec, AdaptInfo *adaptInfo); protected: MeshDistributor *meshDistributor;