]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add workaround to be able to use SLEPc >= 3.5.0 with deal.II. This requires disabling... 87/head
authorAlexander Grayver <agrayver@erdw.ethz.ch>
Fri, 15 Aug 2014 12:46:51 +0000 (14:46 +0200)
committerAlexander Grayver <agrayver@erdw.ethz.ch>
Fri, 15 Aug 2014 15:31:09 +0000 (17:31 +0200)
Also log the corresponding entry in changes.h

doc/news/changes.h
include/deal.II/lac/slepc_spectral_transformation.h
source/lac/slepc_spectral_transformation.cc

index 7631e8d60ea12cf5e1b636eee4c66aae6753d004..ec80a4f962eae51aa8b1c508b8ffde769f4246e5 100644 (file)
@@ -250,6 +250,13 @@ inconvenience this causes.
 <h3>Specific improvements</h3>
 
 <ol>
+  <li> Fixed: Support SLEPc 3.5 by disabling SDFOLD spectrum transformation type
+  that has been removed from SLEPc. Therefore, TransformationSpectrumFolding 
+  cannot be used with newer SLEPc versions. 
+  <br>
+  (Alexander Grayver, 2014/08/15)
+  </li>
+
   <li> New: To better support applications that want to use C++11's
   <a href="http://en.wikipedia.org/wiki/C%2B%2B11#Range-based_for_loop">range-based
   for loops</a>, there are now functions Triangulation::cell_iterators(),
index 4598afbb849fcfdd5028008bd3a6811c69b3bcf8..4449b2e41e971632edbb1a3b70e0c9951aee9a24 100644 (file)
@@ -232,7 +232,8 @@ namespace SLEPcWrappers
 
   /**
    * An implementation of the transformation interface using the SLEPc
-   * Spectrum Folding.
+   * Spectrum Folding. This transformation type has been removed in
+   * SLEPc 3.5.0 and thus cannot be used in the newer versions.
    *
    * @ingroup SLEPcWrappers
    * @author Toby D. Young 2009
index fdd6eb5ae763e01f283d17f9275b69747e2e67c2..c7970361d6f05839dca4055a04f66f24255d95d9 100644 (file)
@@ -122,12 +122,19 @@ namespace SLEPcWrappers
   void
   TransformationSpectrumFolding::set_transformation_type (ST &st) const
   {
+#if DEAL_II_PETSC_VERSION_LT(3,5,0)
     int ierr;
     ierr = STSetType (st, const_cast<char *>(STFOLD));
     AssertThrow (ierr == 0, SolverBase::ExcSLEPcError(ierr));
 
     ierr = STSetShift (st, additional_data.shift_parameter);
     AssertThrow (ierr == 0, SolverBase::ExcSLEPcError(ierr));
+#else
+    // PETSc/SLEPc version must be < 3.5.0.
+    Assert ((false),
+            ExcMessage ("Folding transformation has been removed in SLEPc 3.5.0 and newer."
+                        "You cannot use this transformation anymore."));
+#endif
   }
 
   /* ------------------- TransformationCayley --------------------- */

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.