DUNE-FEM (unstable)

Dune::Fem::Solver::CGInverseOperator< DiscreteFunction > Class Template Reference

Inverse operator base on CG method. This is the base class for the cg solver and does not imvolve any runtime parametrization. More...

#include <dune/fem/solver/cginverseoperator.hh>

Public Types

typedef DomainFunction::RangeFieldType DomainFieldType
 field type of the operator's domain
 

Public Member Functions

 CGInverseOperator (RealType redEps, RealType absLimit, unsigned int maxIter, bool verbose, const ParameterReader &parameter=Parameter::container())
 constructor of CGInverseOperator More...
 
 CGInverseOperator (RealType redEps, RealType absLimit, unsigned int maxIter, const ParameterReader &parameter=Parameter::container())
 constructor of CGInverseOperator More...
 
 CGInverseOperator (const OperatorType &op, RealType redEps, RealType absLimit, unsigned int maxIter, bool verbose, const ParameterReader &parameter=Parameter::container())
 constructor of CGInverseOperator More...
 
 CGInverseOperator (const OperatorType &op, RealType redEps, RealType absLimit, unsigned int maxIter, const ParameterReader &parameter=Parameter::container())
 constructor of CGInverseOperator More...
 
 CGInverseOperator (const OperatorType &op, const PreconditionerType &precond, RealType redEps, RealType absLimit, unsigned int maxIter, bool verbose, const ParameterReader &parameter=Parameter::container())
 constructor of CGInverseOperator More...
 
 CGInverseOperator (const OperatorType &op, const PreconditionerType &precond, RealType redEps, RealType absLimit, const ParameterReader &parameter=Parameter::container())
 constructor of CGInverseOperator More...
 
virtual void operator() (const DomainFunctionType &arg, RangeFunctionType &dest) const
 application operator More...
 
virtual void apply (const DomainFunctionType &arg, RangeFunctionType &dest) const
 application operator More...
 
unsigned int iterations () const
 number of iterations needed for last solve
 
double averageCommTime () const
 return average communication time during last solve
 
virtual void finalize ()
 finalization of operator More...
 
virtual bool nonlinear () const
 

Detailed Description

template<class DiscreteFunction>
class Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >

Inverse operator base on CG method. This is the base class for the cg solver and does not imvolve any runtime parametrization.

Constructor & Destructor Documentation

◆ CGInverseOperator() [1/6]

template<class DiscreteFunction >
Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::CGInverseOperator ( RealType  redEps,
RealType  absLimit,
unsigned int  maxIter,
bool  verbose,
const ParameterReader &  parameter = Parameter::container() 
)
inline

constructor of CGInverseOperator

Parameters
[in]redEpsreduction epsilon
[in]absLimitabsolut limit of residual
[in]maxItermaximum number of iteration steps
[in]verboseverbosity

◆ CGInverseOperator() [2/6]

template<class DiscreteFunction >
Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::CGInverseOperator ( RealType  redEps,
RealType  absLimit,
unsigned int  maxIter,
const ParameterReader &  parameter = Parameter::container() 
)
inline

constructor of CGInverseOperator

Parameters
[in]redEpsreduction epsilon
[in]absLimitabsolut limit of residual
[in]maxItermaximum number of iteration steps

◆ CGInverseOperator() [3/6]

template<class DiscreteFunction >
Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::CGInverseOperator ( const OperatorType op,
RealType  redEps,
RealType  absLimit,
unsigned int  maxIter,
bool  verbose,
const ParameterReader &  parameter = Parameter::container() 
)
inline

constructor of CGInverseOperator

Parameters
[in]opoperator to invert
[in]redEpsreduction epsilon
[in]absLimitabsolut limit of residual
[in]maxItermaximum number of iteration steps
[in]verboseverbosity

◆ CGInverseOperator() [4/6]

template<class DiscreteFunction >
Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::CGInverseOperator ( const OperatorType op,
RealType  redEps,
RealType  absLimit,
unsigned int  maxIter,
const ParameterReader &  parameter = Parameter::container() 
)
inline

constructor of CGInverseOperator

Parameters
[in]opoperator to invert
[in]redEpsreduction epsilon
[in]absLimitabsolut limit of residual
[in]maxItermaximum number of iteration steps

◆ CGInverseOperator() [5/6]

template<class DiscreteFunction >
Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::CGInverseOperator ( const OperatorType op,
const PreconditionerType precond,
RealType  redEps,
RealType  absLimit,
unsigned int  maxIter,
bool  verbose,
const ParameterReader &  parameter = Parameter::container() 
)
inline

constructor of CGInverseOperator

Parameters
[in]opoperator to invert
[in]precondprecondition operator
[in]redEpsreduction epsilon
[in]absLimitabsolut limit of residual
[in]maxItermaximum number of iteration steps
[in]verboseverbosity

◆ CGInverseOperator() [6/6]

template<class DiscreteFunction >
Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::CGInverseOperator ( const OperatorType op,
const PreconditionerType precond,
RealType  redEps,
RealType  absLimit,
const ParameterReader &  parameter = Parameter::container() 
)
inline

constructor of CGInverseOperator

Parameters
[in]opoperator to invert
[in]precondprecondition operator
[in]redEpsreduction epsilon
[in]absLimitabsolut limit of residual
[in]maxItermaximum number of iteration steps

Member Function Documentation

◆ apply()

template<class DiscreteFunction >
virtual void Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::apply ( const DomainFunctionType &  arg,
RangeFunctionType &  dest 
) const
inlinevirtual

application operator

The application operator actually solves the linear system \(op(dest) = arg\) using the CG method.

Parameters
[in]argargument discrete function
[out]destdestination discrete function

References Dune::Fem::ConjugateGradientSolver< Operator >::solve().

Referenced by Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::operator()().

◆ finalize()

virtual void Dune::Fem::Operator< DiscreteFunction , DiscreteFunction >::finalize ( )
inlinevirtualinherited

finalization of operator

Note
The default implementation is empty.

◆ nonlinear()

virtual bool Dune::Fem::Operator< DiscreteFunction , DiscreteFunction >::nonlinear ( ) const
inlinevirtualinherited

Return true if the Operator is nonlinear and false otherwise (default is true).

◆ operator()()

template<class DiscreteFunction >
virtual void Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::operator() ( const DomainFunctionType &  arg,
RangeFunctionType &  dest 
) const
inlinevirtual

application operator

The application operator actually solves the linear system \(op(dest) = arg\) using the CG method.

Parameters
[in]argargument discrete function
[out]destdestination discrete function

Implements Dune::Fem::Operator< DiscreteFunction, DiscreteFunction >.

References Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >::apply(), and Dune::Fem::Operator< DomainFunction, RangeFunction >::finalize().


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 21, 23:30, 2024)