Ewoms::CGSolver< X > Class Template Reference

conjugate gradient method More...

#include <solvers.hh>

Inheritance diagram for Ewoms::CGSolver< X >:
Inheritance graph

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...
 
typedef Dune::FieldTraits
< field_type >::real_type 
real_type
 The real type of the field type (is the same if using real numbers, but differs for std::complex) More...
 

Public Member Functions

template<class L , class P >
 CGSolver (L &op, P &prec, real_type 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, real_type reduction, int maxit, int verbose)
 Set up conjugate gradient solver. More...
 
virtual void apply (X &x, X &b, Dune::InverseOperatorResult &res)
 Apply inverse operator. More...
 
virtual const
Ewoms::ConvergenceCriterion< X > & 
convergenceCriterion () const
 Return the criterion to be used to check for convergence of the linear solver. More...
 
virtual
Ewoms::ConvergenceCriterion< X > & 
convergenceCriterion ()
 Return the criterion to be used to check for convergence of the linear solver. More...
 
virtual void setConvergenceCriterion (std::shared_ptr< Ewoms::ConvergenceCriterion< X > > convCrit)
 Set the criterion to be used to check for convergence of the linear solver. More...
 

Detailed Description

template<class X>
class Ewoms::CGSolver< X >

conjugate gradient method

Member Typedef Documentation

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

The domain type of the operator to be inverted.

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

The field type of the operator to be inverted.

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

The range type of the operator to be inverted.

template<class X >
typedef Dune::FieldTraits<field_type>::real_type Ewoms::CGSolver< X >::real_type

The real type of the field type (is the same if using real numbers, but differs for std::complex)

Constructor & Destructor Documentation

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

Set up conjugate gradient solver.

References Ewoms::InverseOperator< X, X >::setConvergenceCriterion().

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

Set up conjugate gradient solver.

References Ewoms::InverseOperator< X, X >::setConvergenceCriterion().

Member Function Documentation

template<class X >
virtual void Ewoms::CGSolver< X >::apply ( X &  x,
X &  b,
Dune::InverseOperatorResult &  res 
)
inlinevirtual
virtual const Ewoms::ConvergenceCriterion<X>& Ewoms::InverseOperator< X, X >::convergenceCriterion ( ) const
inlinevirtualinherited
virtual Ewoms::ConvergenceCriterion<X>& Ewoms::InverseOperator< X, X >::convergenceCriterion ( )
inlinevirtualinherited

Return the criterion to be used to check for convergence of the linear solver.

virtual void Ewoms::InverseOperator< X, X >::setConvergenceCriterion ( std::shared_ptr< Ewoms::ConvergenceCriterion< X > >  convCrit)
inlinevirtualinherited

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