Skip to content
Snippets Groups Projects
Commit e4f0bb29 authored by Van Dung Nguyen's avatar Van Dung Nguyen
Browse files

add eigen solver

parent d5863b0b
No related branches found
No related tags found
No related merge requests found
...@@ -513,7 +513,7 @@ class dofManager{ ...@@ -513,7 +513,7 @@ class dofManager{
throw; throw;
} }
} }
linearSystem<dataMat> *getLinearSystem(std::string &name) virtual linearSystem<dataMat> *getLinearSystem(std::string &name)
{ {
typename std::map<const std::string, linearSystem<dataMat>*>::iterator it = typename std::map<const std::string, linearSystem<dataMat>*>::iterator it =
_linearSystems.find(name); _linearSystems.find(name);
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include <slepceps.h> #include <slepceps.h>
eigenSolver::eigenSolver(dofManager<double> *manager, std::string A, eigenSolver::eigenSolver(dofManager<double> *manager, std::string A,
std::string B, bool hermitian) std::string B, bool hermitian)
: _A(0), _B(0), _hermitian(hermitian) : _A(0), _B(0), _hermitian(hermitian)
{ {
if(A.size()){ if(A.size()){
...@@ -55,7 +55,7 @@ bool eigenSolver::solve(int numEigenValues, std::string which) ...@@ -55,7 +55,7 @@ bool eigenSolver::solve(int numEigenValues, std::string which)
_try(EPSSetDimensions(eps, numEigenValues, PETSC_DECIDE, PETSC_DECIDE)); _try(EPSSetDimensions(eps, numEigenValues, PETSC_DECIDE, PETSC_DECIDE));
_try(EPSSetTolerances(eps, 1.e-7, 20));//1.e-6 50 _try(EPSSetTolerances(eps, 1.e-7, 20));//1.e-6 50
//_try(EPSSetType(eps, EPSKRYLOVSCHUR)); //default //_try(EPSSetType(eps, EPSKRYLOVSCHUR)); //default
_try(EPSSetType(eps, EPSARNOLDI)); _try(EPSSetType(eps, EPSARNOLDI));
//_try(EPSSetType(eps, EPSARPACK)); //_try(EPSSetType(eps, EPSARPACK));
//_try(EPSSetType(eps, EPSPOWER)); //_try(EPSSetType(eps, EPSPOWER));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment