From e4f0bb2940ccbec1bbbc38889f593a59918bda7c Mon Sep 17 00:00:00 2001 From: Van Dung Nguyen <vandung.nguyen@ulg.ac.be> Date: Fri, 13 May 2011 15:42:58 +0000 Subject: [PATCH] add eigen solver --- Solver/dofManager.h | 2 +- Solver/eigenSolver.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Solver/dofManager.h b/Solver/dofManager.h index 99d1d6a417..895a2dc079 100644 --- a/Solver/dofManager.h +++ b/Solver/dofManager.h @@ -513,7 +513,7 @@ class dofManager{ throw; } } - linearSystem<dataMat> *getLinearSystem(std::string &name) + virtual linearSystem<dataMat> *getLinearSystem(std::string &name) { typename std::map<const std::string, linearSystem<dataMat>*>::iterator it = _linearSystems.find(name); diff --git a/Solver/eigenSolver.cpp b/Solver/eigenSolver.cpp index 4204fd25a8..8305f9bddb 100644 --- a/Solver/eigenSolver.cpp +++ b/Solver/eigenSolver.cpp @@ -11,7 +11,7 @@ #include <slepceps.h> eigenSolver::eigenSolver(dofManager<double> *manager, std::string A, - std::string B, bool hermitian) + std::string B, bool hermitian) : _A(0), _B(0), _hermitian(hermitian) { if(A.size()){ @@ -55,7 +55,7 @@ bool eigenSolver::solve(int numEigenValues, std::string which) _try(EPSSetDimensions(eps, numEigenValues, PETSC_DECIDE, PETSC_DECIDE)); _try(EPSSetTolerances(eps, 1.e-7, 20));//1.e-6 50 //_try(EPSSetType(eps, EPSKRYLOVSCHUR)); //default - _try(EPSSetType(eps, EPSARNOLDI)); + _try(EPSSetType(eps, EPSARNOLDI)); //_try(EPSSetType(eps, EPSARPACK)); //_try(EPSSetType(eps, EPSPOWER)); -- GitLab