From fbb96c7fa7cb0280ca9f2aeaf011fcf34404f793 Mon Sep 17 00:00:00 2001 From: prill Date: Fri, 4 Aug 2006 08:55:11 +0000 Subject: [PATCH] Added support for PETSc 2.3.1 (16). git-svn-id: https://svn.dealii.org/trunk@13593 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/lac/source/petsc_precondition.cc | 14 +++++++++++++- deal.II/lac/source/petsc_solver.cc | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/deal.II/lac/source/petsc_precondition.cc b/deal.II/lac/source/petsc_precondition.cc index 6bb1d6f699..ed3705cd70 100644 --- a/deal.II/lac/source/petsc_precondition.cc +++ b/deal.II/lac/source/petsc_precondition.cc @@ -218,7 +218,11 @@ namespace PETScWrappers AssertThrow (ierr == 0, ExcPETScError(ierr)); // then set flags +#if (PETSC_VERSION_MAJOR == 2) && (PETSC_VERSION_MINOR == 3) && (PETSC_VERSION_SUBMINOR == 1) + PCFactorSetLevels (pc, additional_data.levels); +#else PCICCSetLevels (pc, additional_data.levels); +#endif AssertThrow (ierr == 0, ExcPETScError(ierr)); } @@ -251,7 +255,11 @@ namespace PETScWrappers AssertThrow (ierr == 0, ExcPETScError(ierr)); // then set flags - PCILUSetLevels (pc, additional_data.levels); +#if (PETSC_VERSION_MAJOR == 2) && (PETSC_VERSION_MINOR == 3) && (PETSC_VERSION_SUBMINOR == 1) + PCFactorSetLevels (pc, additional_data.levels); +#else + PCILUSetLevels (pc, additional_data.levels); +#endif AssertThrow (ierr == 0, ExcPETScError(ierr)); } @@ -288,7 +296,11 @@ namespace PETScWrappers AssertThrow (ierr == 0, ExcPETScError(ierr)); // set flags as given +#if (PETSC_VERSION_MAJOR == 2) && (PETSC_VERSION_MINOR == 3) && (PETSC_VERSION_SUBMINOR == 1) + ierr = PCFactorSetPivoting (pc, additional_data.pivoting); +#else ierr = PCLUSetPivoting (pc, additional_data.pivoting); +#endif AssertThrow (ierr == 0, ExcPETScError(ierr)); #if (PETSC_VERSION_MAJOR <= 2) && (PETSC_VERSION_MINOR < 3) diff --git a/deal.II/lac/source/petsc_solver.cc b/deal.II/lac/source/petsc_solver.cc index 1b77edbc13..cd8295b75b 100644 --- a/deal.II/lac/source/petsc_solver.cc +++ b/deal.II/lac/source/petsc_solver.cc @@ -434,7 +434,7 @@ namespace PETScWrappers int (*fun_ptr)(KSP,int); ierr = PetscObjectQueryFunction((PetscObject)(ksp), "KSPGMRESSetRestart_C", - (PetscVoidFunction)&fun_ptr); + (void (**)())&fun_ptr); AssertThrow (ierr == 0, ExcPETScError(ierr)); ierr = (*fun_ptr)(ksp,additional_data.restart_parameter); -- 2.39.5