diff --git a/AMDiS/src/parallel/PetscSolverFeti.cc b/AMDiS/src/parallel/PetscSolverFeti.cc index 1edcf370fb0543acccbae3a276fb6e599c3fc055..7f50efae7020d42c794ba0a00bea0dbb690d1c7c 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 6a85d7309ed5da4f836cbde7f9fa544ff64472b0..f43daef8f34b937e735bc3732e9763103889ab36 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); }