From f4315aa6b0603ec5dfcbe2e056eb525f1acbed2b Mon Sep 17 00:00:00 2001
From: Sebastian Aland <sebastian.aland@yahoo.com>
Date: Fri, 22 Jan 2016 12:04:20 +0000
Subject: [PATCH] removed KSPSetNullSpace to make compatible with PETSc 3.6

---
 AMDiS/src/parallel/PetscSolverFeti.cc         | 4 +++-
 AMDiS/src/parallel/PetscSolverGlobalMatrix.cc | 9 +++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/AMDiS/src/parallel/PetscSolverFeti.cc b/AMDiS/src/parallel/PetscSolverFeti.cc
index 1edcf370..7f50efae 100644
--- a/AMDiS/src/parallel/PetscSolverFeti.cc
+++ b/AMDiS/src/parallel/PetscSolverFeti.cc
@@ -1825,7 +1825,9 @@ namespace AMDiS { namespace Parallel {
     MatNullSpaceCreate(domainComm, PETSC_FALSE, 1, &nullSpaceBasis, 
 		       &matNullSpace);
     MatSetNullSpace(mat_feti, matNullSpace);
-    KSPSetNullSpace(ksp_feti, matNullSpace);
+    Mat amat, pmat;
+    KSPGetOperators(ksp, &amat, &pmat);
+    MatSetNullSpace(amat, matNullSpace);
     MatNullSpaceDestroy(&matNullSpace);
 
     VecDestroy(&ktest0);
diff --git a/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc b/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc
index 6a85d730..f43daef8 100644
--- a/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc
+++ b/AMDiS/src/parallel/PetscSolverGlobalMatrix.cc
@@ -951,7 +951,10 @@ namespace AMDiS { namespace Parallel {
     
     MatNullSpace matNullSpace;
     MatNullSpaceCreate(domainComm, PETSC_FALSE, 1, &nullSpaceBasis, &matNullSpace);
-    KSPSetNullSpace(ksp, matNullSpace);
+
+    Mat amat, pmat;
+    KSPGetOperators(ksp, &amat, &pmat);
+    MatSetNullSpace(amat, matNullSpace);
     MatNullSpaceDestroy(&matNullSpace);
 
     VecDestroy(&nullSpaceBasis);
@@ -962,7 +965,9 @@ namespace AMDiS { namespace Parallel {
   {
     MatNullSpace matNullSpace;
     MatNullSpaceCreate(domainComm, PETSC_TRUE, 0, PETSC_NULL, &matNullSpace);
-    KSPSetNullSpace(ksp, matNullSpace);
+    Mat amat, pmat;
+    KSPGetOperators(ksp, &amat, &pmat);                             
+    MatSetNullSpace(amat, matNullSpace);
     MatNullSpaceDestroy(&matNullSpace);
   }
 
-- 
GitLab