#include <KrylovSolver.hpp>

Public Member Functions | |
| KrylovSolver (const BaseMatrix &A, const BaseVector &b, const DegreeOfFreedomSet °reeOfFreedomSet) | |
| void | solve (const Problem &problem, ReferenceCounting< Vector< real_t > > u) |
Private Attributes | |
| const BaseMatrix & | __A |
| const BaseVector & | __b |
| const DegreeOfFreedomSet & | __degreeOfFreedomSet |
| KrylovSolverOptions::Type | __type |
| KrylovSolverOptions::PreconditionerType | __pType |
| GetParameter< KrylovSolverOptions > | __options |
Definition at line 46 of file KrylovSolver.hpp.
| KrylovSolver::KrylovSolver | ( | const BaseMatrix & | A, | |
| const BaseVector & | b, | |||
| const DegreeOfFreedomSet & | degreeOfFreedomSet | |||
| ) | [inline] |
Constructor
| A | given matric | |
| b | given second member | |
| degreeOfFreedomSet | degree of freedom set |
Definition at line 72 of file KrylovSolver.hpp.
References __options, __pType, __type, KrylovSolverOptions::precond(), KrylovSolverOptions::type(), and GetParameter< T >::value().
00075 : __A(A), 00076 __b(b), 00077 __degreeOfFreedomSet(degreeOfFreedomSet) 00078 { 00079 __type = __options.value().type(); 00080 __pType = __options.value().precond(); 00081 }

| void KrylovSolver::solve | ( | const Problem & | problem, | |
| ReferenceCounting< Vector< real_t > > | u | |||
| ) |
Solves the problem
| problem | given problem | |
| u | unknowns vector |
Definition at line 153 of file KrylovSolver.cpp.
References __A, __b, __degreeOfFreedomSet, __pType, __type, ffout(), KrylovSolverDim(), Timer::start(), and Timer::stop().
Referenced by SpectralMethod::Compute(), FiniteElementMethod::Compute(), and FictitiousDomainMethod::Compute().
00155 { 00156 // initializing the timer. 00157 Timer t; 00158 t.start(); 00159 00160 ffout(2) << "Krylov solver\n"; 00161 ffout(2) << "- number of unknowns: " << u->size() << '\n'; 00162 00163 KrylovSolverDim(u, __A, __b, problem, __type, __pType, 00164 __degreeOfFreedomSet); 00165 // measure the time 00166 t.stop(); 00167 ffout(2) << "Krylov solver: done"; 00168 ffout(3) << " [cost: " << t << ']'; 00169 ffout(2) << '\n'; 00170 }

const BaseMatrix& KrylovSolver::__A [private] |
const BaseVector& KrylovSolver::__b [private] |
const DegreeOfFreedomSet& KrylovSolver::__degreeOfFreedomSet [private] |
the type of the solver
Definition at line 56 of file KrylovSolver.hpp.
Referenced by KrylovSolver(), and solve().
the preconditioner type
Definition at line 59 of file KrylovSolver.hpp.
Referenced by KrylovSolver(), and solve().
1.5.6