diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp index d6a2b9183b590bb93d7ba0e297a094d7eeb24d0b..a1c6a5b0cf9f4b8150b9c6977dc2991ed1229532 100644 --- a/Common/GmshMessage.cpp +++ b/Common/GmshMessage.cpp @@ -651,7 +651,7 @@ void Msg::ExchangeOnelabParameter(const std::string &key, bool noRange = true, noChoices = true, noLoop = true, noGraph = true; if(ps.size()){ if(ps[0].getReadOnly()) - ps[0].setValue(val[0]); // use value from gmsh + ps[0].setValue(val[0]); // use value from gmsh (so it is updated if necessary) else val[0] = ps[0].getValue(); // use value from server // keep track of these attributes, which can be changed server-side diff --git a/Solver/eigenSolver.cpp b/Solver/eigenSolver.cpp index f4658710ab0688657f61f433c68f6438d258b4b4..f8a32b8ead21712b7fc1cf7c200db21f462058dd 100644 --- a/Solver/eigenSolver.cpp +++ b/Solver/eigenSolver.cpp @@ -105,7 +105,7 @@ bool eigenSolver::solve(int numEigenValues, std::string which) Msg::Error("SLEPc diverged after %d iterations", its); else if(reason == EPS_DIVERGED_BREAKDOWN) Msg::Error("SLEPc generic breakdown in method"); -#if !(PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR == 2))) // petsc-dev +#if !(PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR >= 2))) else if(reason == EPS_DIVERGED_NONSYMMETRIC) Msg::Error("The operator is nonsymmetric"); #endif @@ -154,7 +154,7 @@ bool eigenSolver::solve(int numEigenValues, std::string which) } _eigenVectors.push_back(ev); } -#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR == 2))) // petsc-dev +#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR >= 2))) _try(VecDestroy(&xr)); _try(VecDestroy(&xi)); #else @@ -163,7 +163,7 @@ bool eigenSolver::solve(int numEigenValues, std::string which) #endif } -#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR == 2))) // petsc-dev +#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR >= 2))) _try(EPSDestroy(&eps)); #else _try(EPSDestroy(eps)); diff --git a/Solver/linearSystemPETSc.cpp b/Solver/linearSystemPETSc.cpp index 527cb74eb75f27b4147b456592d787fe4904c039..56fc1a453be065cdceda3bd16c1ec093612f7e5f 100644 --- a/Solver/linearSystemPETSc.cpp +++ b/Solver/linearSystemPETSc.cpp @@ -164,7 +164,7 @@ bool linearSystemPETScBlockDouble::isAllocated() const void linearSystemPETScBlockDouble::clear() { if(_isAllocated){ -#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR == 2))) // petsc-dev +#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR >= 2))) MatDestroy(&_a); VecDestroy(&_x); VecDestroy(&_b); diff --git a/Solver/linearSystemPETSc.hpp b/Solver/linearSystemPETSc.hpp index 49d76db9308172ba394534730aeff0ee7a2b0ee5..655642f0723fd7226b0bdeb95d75bc8a027d0e63 100644 --- a/Solver/linearSystemPETSc.hpp +++ b/Solver/linearSystemPETSc.hpp @@ -3,7 +3,7 @@ #include <petscksp.h> #include "linearSystemPETSc.h" -#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR == 2))) // petsc-dev +#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR >= 2))) #define PetscTruth PetscBool #define PetscOptionsGetTruth PetscOptionsGetBool #endif @@ -47,7 +47,7 @@ linearSystemPETSc<scalar>::~linearSystemPETSc() { clear(); if(_kspAllocated) -#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR == 2))) // petsc-dev +#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR >= 2))) _try(KSPDestroy(&_ksp)); #else _try(KSPDestroy(_ksp)); @@ -152,7 +152,7 @@ template <class scalar> void linearSystemPETSc<scalar>::clear() { if(_isAllocated){ -#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR == 2))) // petsc-dev +#if (PETSC_VERSION_RELEASE == 0 || ((PETSC_VERSION_MAJOR == 3) && (PETSC_VERSION_MINOR >= 2))) _try(MatDestroy(&_a)); _try(VecDestroy(&_x)); _try(VecDestroy(&_b));