CGSolver Class Reference

#include <cgsolver.h>

Inheritance diagram for CGSolver:
Inheritance graph
[legend]
Collaboration diagram for CGSolver:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CGSolver (unsigned numIt, double tol, unsigned debuglevel)
virtual ~CGSolver ()
virtual void solve (const SparseMatrix< double > &M, VecDouble &sol, const VecDouble &rhs)
virtual void solveAgain (const SparseMatrix< double > &M, VecDouble &sol, const VecDouble &rhs)

Private Attributes

SolverControl m_solverControl
SolverCG< Vector< double > > m_solver
unsigned m_numIt
double m_tol

Detailed Description

Implementation of the CG solver with SSOR precondition

Definition at line 11 of file cgsolver.h.


Constructor & Destructor Documentation

CGSolver::CGSolver ( unsigned  numIt,
double  tol,
unsigned  debuglevel 
)

Definition at line 6 of file cgsolver.cpp.

00007     :m_solverControl(numIt,tol,debugLevel,debugLevel),
00008      m_solver(m_solverControl),
00009      m_numIt(numIt),
00010      m_tol(tol)
00011 {
00012 
00013 }

virtual CGSolver::~CGSolver (  )  [inline, virtual]

Definition at line 22 of file cgsolver.h.

00022 {}


Member Function Documentation

void CGSolver::solve ( const SparseMatrix< double > &  M,
VecDouble sol,
const VecDouble rhs 
) [virtual]

Implements LinearSolver.

Definition at line 18 of file cgsolver.cpp.

00019 {
00020   PreconditionSSOR<SparseMatrix<double> >  precondition;
00021   precondition.initialize(M);  
00022   m_solver.solve(M,sol,rhs,precondition);
00023   {
00024     double min,media,max;
00025     NumericMethods::checkLinearSolution(M,sol,rhs,min,media,max);
00026     printf("Solver %g %g %g %g\n",min,media,max,m_tol);
00027   }
00028 }

void CGSolver::solveAgain ( const SparseMatrix< double > &  M,
VecDouble sol,
const VecDouble rhs 
) [virtual]

Implements LinearSolver.

Definition at line 29 of file cgsolver.cpp.

00030 {
00031   this->solve(M,sol,rhs);
00032 }


Member Data Documentation

unsigned CGSolver::m_numIt [private]

Definition at line 16 of file cgsolver.h.

SolverCG<Vector<double> > CGSolver::m_solver [private]

Definition at line 15 of file cgsolver.h.

SolverControl CGSolver::m_solverControl [private]

Definition at line 14 of file cgsolver.h.

double CGSolver::m_tol [private]

Definition at line 17 of file cgsolver.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Sun Apr 8 23:12:58 2012 for CO2INJECTION by  doxygen 1.6.3