dune-istl  2.2.1
Public Types | Public Member Functions | Protected Types | Protected Member Functions | List of all members
Dune::CGSolver< X > Class Template Reference

conjugate gradient method More...

#include <dune/istl/solvers.hh>

Inheritance diagram for Dune::CGSolver< X >:
Dune::InverseOperator< X, X >

Public Types

typedef X domain_type
 The domain type of the operator to be inverted. More...
 
typedef X range_type
 The range type of the operator to be inverted. More...
 
typedef X::field_type field_type
 The field type of the operator to be inverted. More...
 

Public Member Functions

template<class L , class P >
 CGSolver (L &op, P &prec, double reduction, int maxit, int verbose)
 Set up conjugate gradient solver. More...
 
template<class L , class S , class P >
 CGSolver (L &op, S &sp, P &prec, double reduction, int maxit, int verbose)
 Set up conjugate gradient solver. More...
 
virtual void apply (X &x, X &b, InverseOperatorResult &res)
 Apply inverse operator. More...
 
virtual void apply (X &x, X &b, double reduction, InverseOperatorResult &res)
 Apply inverse operator with given reduction factor. More...
 

Protected Types

enum  
 

Protected Member Functions

void printHeader (std::ostream &s) const
 helper function for printing header of solver output More...
 
void printOutput (std::ostream &s, const double iter, const DataType &norm, const DataType &norm_old) const
 helper function for printing solver output More...
 
void printOutput (std::ostream &s, const double iter, const DataType &norm) const
 helper function for printing solver output More...
 

Detailed Description

template<class X>
class Dune::CGSolver< X >

conjugate gradient method

Member Typedef Documentation

template<class X>
typedef X Dune::CGSolver< X >::domain_type

The domain type of the operator to be inverted.

template<class X>
typedef X::field_type Dune::CGSolver< X >::field_type

The field type of the operator to be inverted.

template<class X>
typedef X Dune::CGSolver< X >::range_type

The range type of the operator to be inverted.

Member Enumeration Documentation

anonymous enum
protectedinherited

Constructor & Destructor Documentation

template<class X>
template<class L , class P >
Dune::CGSolver< X >::CGSolver ( L &  op,
P &  prec,
double  reduction,
int  maxit,
int  verbose 
)
inline

Set up conjugate gradient solver.

Set up Loop solver.

References Dune::SolverCategory::sequential.

template<class X>
template<class L , class S , class P >
Dune::CGSolver< X >::CGSolver ( L &  op,
S &  sp,
P &  prec,
double  reduction,
int  maxit,
int  verbose 
)
inline

Set up conjugate gradient solver.

Set up loop solver.

Member Function Documentation

template<class X>
virtual void Dune::CGSolver< X >::apply ( X &  x,
X &  b,
InverseOperatorResult res 
)
inlinevirtual
template<class X>
virtual void Dune::CGSolver< X >::apply ( X &  x,
X &  b,
double  reduction,
InverseOperatorResult res 
)
inlinevirtual

Apply inverse operator with given reduction factor.

apply inverse operator, with given convergence criteria.

Implements Dune::InverseOperator< X, X >.

void Dune::InverseOperator< X, X >::printHeader ( std::ostream &  s) const
inlineprotectedinherited
void Dune::InverseOperator< X, X >::printOutput ( std::ostream &  s,
const double  iter,
const DataType &  norm,
const DataType &  norm_old 
) const
inlineprotectedinherited
void Dune::InverseOperator< X, X >::printOutput ( std::ostream &  s,
const double  iter,
const DataType &  norm 
) const
inlineprotectedinherited

helper function for printing solver output

References Dune::InverseOperator< X, Y >::iterationSpacing, and Dune::InverseOperator< X, Y >::normSpacing.


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