diff --git a/AMDiS/src/ProblemVec.cc b/AMDiS/src/ProblemVec.cc index a4fbd4c6f59dcce4bbf2248f51fa88bb12c95a30..b8b8249d7458e87aa4f3e40d1da14fa265da6d09 100644 --- a/AMDiS/src/ProblemVec.cc +++ b/AMDiS/src/ProblemVec.cc @@ -760,14 +760,14 @@ namespace AMDiS { ERROR_EXIT("Not yet implemented!\n"); } - // TODO: ExitMatrix should be called after finishInsertion! - if (assembleMatrix && matrix->getBoundaryManager()) - matrix->getBoundaryManager()->exitMatrix(matrix); - assembledMatrix[i][j] = true; if (assembleMatrix) matrix->finishInsertion(); + + // TODO: ExitMatrix should be called after finishInsertion! + if (assembleMatrix && matrix->getBoundaryManager()) + matrix->getBoundaryManager()->exitMatrix(matrix); if (matrix) nnz += matrix->getBaseMatrix().nnz(); @@ -966,7 +966,7 @@ namespace AMDiS { if (systemMatrix && (*systemMatrix)[row][col]) (*systemMatrix)[row][col]->getBoundaryManager()->addBoundaryCondition(periodic); - if (rhs) + if (rhs && row == col) rhs->getDOFVector(row)->getBoundaryManager()->addBoundaryCondition(periodic); }