]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Target eigenvalues iff spectral transformation is in use.
authoryoung <young@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 21 Aug 2013 10:51:54 +0000 (10:51 +0000)
committeryoung <young@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 21 Aug 2013 10:51:54 +0000 (10:51 +0000)
git-svn-id: https://svn.dealii.org/trunk@30370 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/source/lac/slepc_solver.cc

index fe91deb0b003ae7e830f2589af5adfdcd5b09397..4e372994d1750ada63afb4579ccbbd8274dc881d 100644 (file)
@@ -50,7 +50,7 @@ namespace SLEPcWrappers
     :
     solver_control (cn),
     mpi_communicator (mpi_communicator),
-    target_eigenvalue (PETSC_NULL),
+    target_eigenvalue (0.),
     set_which (EPS_LARGEST_MAGNITUDE),
     set_problem (EPS_NHEP),
     opA (NULL),
@@ -151,13 +151,17 @@ namespace SLEPcWrappers
         AssertThrow (ierr == 0, ExcSLEPcError(ierr));
       }
 
-    // set transformation type if any
+    // if a spectral transformation is to be used, set the
+    // transformation and target the wanted eigenvalues
     if (transformation)
-      transformation->set_context (solver_data->eps);
-
-    // set target eigenvalues to solve for
-    ierr = EPSSetTarget (solver_data->eps, target_eigenvalue);
-    AssertThrow (ierr == 0, ExcSLEPcError(ierr));
+      {
+       // set transformation type if any
+       transformation->set_context (solver_data->eps);
+       
+       // set target eigenvalues to solve for
+       ierr = EPSSetTarget (solver_data->eps, target_eigenvalue);
+       AssertThrow (ierr == 0, ExcSLEPcError(ierr));
+      }
 
     // set which portion of the eigenspectrum to solve for
     ierr = EPSSetWhichEigenpairs (solver_data->eps, set_which);

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.