KrylovSolver Class Reference

#include <KrylovSolver.hpp>

Collaboration diagram for KrylovSolver:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 KrylovSolver (const BaseMatrix &A, const BaseVector &b, const DegreeOfFreedomSet &degreeOfFreedomSet)
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


Detailed Description

Definition at line 46 of file KrylovSolver.hpp.


Constructor & Destructor Documentation

KrylovSolver::KrylovSolver ( const BaseMatrix A,
const BaseVector b,
const DegreeOfFreedomSet degreeOfFreedomSet 
) [inline]

Constructor

Parameters:
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   }

Here is the call graph for this function:


Member Function Documentation

void KrylovSolver::solve ( const Problem problem,
ReferenceCounting< Vector< real_t > >  u 
)

Solves the problem

Parameters:
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 }

Here is the call graph for this function:


Member Data Documentation

const BaseMatrix& KrylovSolver::__A [private]

the matrix

Definition at line 49 of file KrylovSolver.hpp.

Referenced by solve().

const BaseVector& KrylovSolver::__b [private]

the second member

Definition at line 50 of file KrylovSolver.hpp.

Referenced by solve().

The degree of freedom set

Definition at line 53 of file KrylovSolver.hpp.

Referenced by solve().

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().

the solver options

Definition at line 62 of file KrylovSolver.hpp.

Referenced by KrylovSolver().


The documentation for this class was generated from the following files:

Generated on Wed Nov 19 00:08:34 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6