From 24ad3e9442606dfe2e3aeaf3778a52d1673e2dc3 Mon Sep 17 00:00:00 2001 From: schnetter Date: Mon, 13 Feb 2006 22:46:38 +0000 Subject: Make things work for later PETSc versions as well. The KSPSolve call is now different. git-svn-id: http://svn.cactuscode.org/arrangements/CactusElliptic/EllPETSc/trunk@93 1d96b42b-98df-4a6a-9d84-1b24288d4588 --- src/petsc_confmetric_solver.c | 20 ++++++++++++-------- src/petsc_flat_solver.c | 20 ++++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/petsc_confmetric_solver.c b/src/petsc_confmetric_solver.c index 7600fd8..a95fa5a 100644 --- a/src/petsc_confmetric_solver.c +++ b/src/petsc_confmetric_solver.c @@ -15,22 +15,26 @@ #include "cctk.h" #include "cctk_Parameters.h" -#include "petsc.h" -#include "petscversion.h" +#include +#include #if PETSC_VERSION_MAJOR < 2 || (PETSC_VERSION_MAJOR == 2 && PETSC_VERSION_MINOR == 0) -# include "sles.h" -#elif PETSC_VERSION_MAJOR == 2 && PETSC_VERSION_MINOR < 2 -# include "petscsles.h" +/* Up to and including version 2.0.x */ +# include +#elif PETSC_VERSION_MAJOR == 2 && PETSC_VERSION_MINOR <= 1 +/* Up to and including version 2.1.x */ +# include #else -# include "petscmat.h" -# include "petscksp.h" +/* Later versions */ +# include +# include # define SLES KSP # define SLESCreate KSPCreate # define SLESSetOperators KSPSetOperators # define SLESGetKSP(a,b) ((*b)=a,0) # define SLESGetPC KSPGetPC # define SLESSetFromOptions KSPSetFromOptions -# define SLESSolve(a,b,c,d) (KSPSetRhs((a),(b)),KSPSetSolution((a),(c)),KSPSolve(a),KSPGetIterationNumber(a,d)) +/* # define SLESSolve(a,b,c,d) (KSPSetRhs((a),(b)),KSPSetSolution((a),(c)),KSPSolve(a),KSPGetIterationNumber(a,d)) */ +# define SLESSolve(a,b,c,d) (KSPSolve((a),(b),(c)),KSPGetIterationNumber(a,d)) # define SLESDestroy KSPDestroy #endif diff --git a/src/petsc_flat_solver.c b/src/petsc_flat_solver.c index 645502a..200e233 100644 --- a/src/petsc_flat_solver.c +++ b/src/petsc_flat_solver.c @@ -14,22 +14,26 @@ #include "cctk_CommandLine.h" #include "cctk_Parameters.h" -#include "petsc.h" -#include "petscversion.h" +#include +#include #if PETSC_VERSION_MAJOR < 2 || (PETSC_VERSION_MAJOR == 2 && PETSC_VERSION_MINOR == 0) -# include "sles.h" -#elif PETSC_VERSION_MAJOR == 2 && PETSC_VERSION_MINOR < 2 -# include "petscsles.h" +/* Up to and including version 2.0.x */ +# include +#elif PETSC_VERSION_MAJOR == 2 && PETSC_VERSION_MINOR <= 1 +/* Up to and including version 2.1.x */ +# include #else -# include "petscmat.h" -# include "petscksp.h" +/* Later versions */ +# include +# include # define SLES KSP # define SLESCreate KSPCreate # define SLESSetOperators KSPSetOperators # define SLESGetKSP(a,b) ((*b)=a,0) # define SLESGetPC KSPGetPC # define SLESSetFromOptions KSPSetFromOptions -# define SLESSolve(a,b,c,d) (KSPSetRhs((a),(b)),KSPSetSolution((a),(c)),KSPSolve(a),KSPGetIterationNumber(a,d)) +/* # define SLESSolve(a,b,c,d) (KSPSetRhs((a),(b)),KSPSetSolution((a),(c)),KSPSolve(a),KSPGetIterationNumber(a,d)) */ +# define SLESSolve(a,b,c,d) (KSPSolve((a),(b),(c)),KSPGetIterationNumber(a,d)) # define SLESDestroy KSPDestroy #endif -- cgit v1.2.3