DUNE-FEM (unstable)

Dune::Fem::AMGXInverseOperator< DF > Class Template Referenceabstract

AMGX solver context for PETSc Mat and PETSc Vec. More...

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

Public Types

typedef std::function< bool(const RangeFunctionType &w, const RangeFunctionType &dw, double residualNorm) > ErrorMeasureType
 type of error measure (used by NewtonInverseOperator primnarily)
 
typedef DomainFunction::RangeFieldType DomainFieldType
 field type of the operator's domain
 
typedef RangeFunction::RangeFieldType RangeFieldType
 field type of the operator's range
 

Public Member Functions

 AMGXInverseOperator (const AMGXSolverParameter &parameter=AMGXSolverParameter())
 constructor More...
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const
 application of operator to compute More...
 
template<class DImpl , class RImpl >
void operator() (const DiscreteFunctionInterface< DImpl > &u, DiscreteFunctionInterface< RImpl > &w) const
 application of operator to compute More...
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0
 application operator More...
 
void bind (const OperatorType &op)
 store pointer to linear operator More...
 
void bind (const OperatorType &op, const PreconditionerType &preconditioner)
 store pointer to linear operator and preconditioner More...
 
int iterations () const
 return number of iterations used in previous call of application operator
 
virtual SolverInfoType info () const
 Return performance info about last solver call.
 
virtual void setMaxLinearIterations (const int iter)
 set number of max linear iterations to be used before an exception is thrown More...
 
virtual void setMaxIterations (const int iter)
 
void setParameters (const SolverParameterType &newParams)
 set complete set of linear inverse operator parameters More...
 
double averageCommTime () const
 return accumulated communication time
 
virtual void finalize ()
 finalization of operator More...
 
virtual bool nonlinear () const
 

Static Public Attributes

static const bool preconditioningAvailable = false
 this solver does not offer to set preconditioning option
 

Detailed Description

template<class DF>
class Dune::Fem::AMGXInverseOperator< DF >

AMGX solver context for PETSc Mat and PETSc Vec.

Constructor & Destructor Documentation

◆ AMGXInverseOperator()

template<class DF >
Dune::Fem::AMGXInverseOperator< DF >::AMGXInverseOperator ( const AMGXSolverParameter &  parameter = AMGXSolverParameter())
inline

constructor

Parameters
[in]parameterparameter for the solver

Member Function Documentation

◆ bind() [1/2]

template<class Traits >
void Dune::Fem::InverseOperatorInterface< Traits >::bind ( const OperatorType &  op)
inlineinherited

store pointer to linear operator

Parameters
oplinear operator following the Dune::Fem:Operator interface
Note
A dynamic cast to AssembledOperatorType is carried out. For some solvers this is necessary.

◆ bind() [2/2]

template<class Traits >
void Dune::Fem::InverseOperatorInterface< Traits >::bind ( const OperatorType &  op,
const PreconditionerType &  preconditioner 
)
inlineinherited

store pointer to linear operator and preconditioner

Parameters
oplinear operator following the Dune::Fem:Operator interface
preconditionerprecondition operator
Note
A dynamic cast to AssembledOperatorType is carried out. For some solvers this is necessary.

◆ finalize()

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

finalization of operator

Note
The default implementation is empty.

◆ nonlinear()

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

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

◆ operator()() [1/3]

template<class Traits >
template<class DImpl , class RImpl >
void Dune::Fem::InverseOperatorInterface< Traits >::operator() ( const DiscreteFunctionInterface< DImpl > &  u,
DiscreteFunctionInterface< RImpl > &  w 
) const
inlineinherited

application of operator to compute

\[ w = op^-1( u ) \]

.

Parameters
uparameter right hand side of linear problem
winitial guess for linear solver
Note
Calling the inverse operator for arbitrary discrete functions a copy to solver compatible discrete function is made.

◆ operator()() [2/3]

template<class Traits >
virtual void Dune::Fem::InverseOperatorInterface< Traits >::operator() ( const DomainFunctionType &  u,
RangeFunctionType &  w 
) const
inlinevirtualinherited

application of operator to compute

\[ w = op^-1( u ) \]

.

Parameters
uparameter right hand side of linear problem
winitial guess for linear solver

◆ operator()() [3/3]

virtual void Dune::Fem::Operator< Traits::DiscreteFunctionType , Traits::DiscreteFunctionType >::operator() ( const DomainFunctionType u,
RangeFunctionType w 
) const
pure virtualinherited

application operator

Parameters
[in]uargument discrete function
[out]wdestination discrete function
Note
This method has to be implemented by all derived classes.

◆ setMaxIterations()

template<class Traits >
virtual void Dune::Fem::InverseOperatorInterface< Traits >::setMaxIterations ( const int  iter)
inlinevirtualinherited

◆ setMaxLinearIterations()

template<class Traits >
virtual void Dune::Fem::InverseOperatorInterface< Traits >::setMaxLinearIterations ( const int  iter)
inlinevirtualinherited

set number of max linear iterations to be used before an exception is thrown

Parameters
iternumber of max linear iterations

◆ setParameters()

template<class Traits >
void Dune::Fem::InverseOperatorInterface< Traits >::setParameters ( const SolverParameterType &  newParams)
inlineinherited

set complete set of linear inverse operator parameters

Note
newParams set of new parameters

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 13, 23:29, 2024)