From 4db3e9430c375232e6fb95bd9ab3de5cb6fa311a Mon Sep 17 00:00:00 2001 From: Thomas Witkowski <thomas.witkowski@gmx.de> Date: Sat, 8 Dec 2012 14:13:42 +0000 Subject: [PATCH] Fixed memory issue in block matrix solver. --- AMDiS/src/parallel/PetscSolverGlobalBlockMatrix.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/AMDiS/src/parallel/PetscSolverGlobalBlockMatrix.cc b/AMDiS/src/parallel/PetscSolverGlobalBlockMatrix.cc index 6e2019e3..f7fd4b3a 100644 --- a/AMDiS/src/parallel/PetscSolverGlobalBlockMatrix.cc +++ b/AMDiS/src/parallel/PetscSolverGlobalBlockMatrix.cc @@ -26,7 +26,7 @@ namespace AMDiS { double wtime = MPI::Wtime(); - createMatVec(*seqMat); + prepare(); const FiniteElemSpace *feSpace = componentSpaces[0]; nComponents = seqMat->getNumRows(); @@ -198,6 +198,7 @@ namespace AMDiS { VecRestoreArray(tmp, &vecPointer); } + VecDestroy(&petscSolVec); // === Synchronize DOFs at common DOFs, i.e., DOFs that correspond to === // === more than one partition. === @@ -225,9 +226,10 @@ namespace AMDiS { { FUNCNAME("PetscSolverGlobalBlockMatrix::destroyVectorData()"); + for (unsigned int i = 0; i < nestVec.size(); i++) + VecDestroy(&(nestVec[i])); + vecDestroy(); - - VecDestroy(&petscSolVec); } -- GitLab