From 96f78d223b259cf3615edb13c47d893418a5742f Mon Sep 17 00:00:00 2001
From: Sebastien Blaise <sebastien.blaise@uclouvain.be>
Date: Thu, 14 Jun 2012 13:25:55 +0000
Subject: [PATCH] Repaires system petsc bug I introduced

---
 Solver/linearSystemPETSc.cpp | 6 ++----
 Solver/linearSystemPETSc.hpp | 6 ++----
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/Solver/linearSystemPETSc.cpp b/Solver/linearSystemPETSc.cpp
index 4611993709..dad32f0721 100644
--- a/Solver/linearSystemPETSc.cpp
+++ b/Solver/linearSystemPETSc.cpp
@@ -206,10 +206,8 @@ int linearSystemPETScBlockDouble::systemSolve()
     KSPSetOperators(_ksp, _a, _a, SAME_NONZERO_PATTERN);
   else
     KSPSetOperators(_ksp, _a, _a, DIFFERENT_NONZERO_PATTERN);
-  if (_matrixModified && _parameters["matrix_reuse"]!="same_matrix"){
-    MatAssemblyBegin(_a, MAT_FINAL_ASSEMBLY);
-    MatAssemblyEnd(_a, MAT_FINAL_ASSEMBLY);
-  }
+  MatAssemblyBegin(_a, MAT_FINAL_ASSEMBLY);
+  MatAssemblyEnd(_a, MAT_FINAL_ASSEMBLY);
   _matrixModified=false;
   VecAssemblyBegin(_b);
   VecAssemblyEnd(_b);
diff --git a/Solver/linearSystemPETSc.hpp b/Solver/linearSystemPETSc.hpp
index 7c52581606..4505e6ae5e 100644
--- a/Solver/linearSystemPETSc.hpp
+++ b/Solver/linearSystemPETSc.hpp
@@ -280,10 +280,8 @@ int linearSystemPETSc<scalar>::systemSolve()
     _try(KSPSetOperators(_ksp, _a, _a, SAME_NONZERO_PATTERN));
   else
     _try(KSPSetOperators(_ksp, _a, _a, DIFFERENT_NONZERO_PATTERN));
-  if (_matrixModified && linearSystem<scalar>::_parameters["matrix_reuse"]!="same_matrix"){
-    _try(MatAssemblyBegin(_a, MAT_FINAL_ASSEMBLY));
-    _try(MatAssemblyEnd(_a, MAT_FINAL_ASSEMBLY));
-  }
+  _try(MatAssemblyBegin(_a, MAT_FINAL_ASSEMBLY));
+  _try(MatAssemblyEnd(_a, MAT_FINAL_ASSEMBLY));
   _matrixModified=false;
   /*MatInfo info;
     MatGetInfo(_a, MAT_LOCAL, &info);
-- 
GitLab