dune-fem 2.8.0
|
AMGX solver context for PETSc Mat and PETSc Vec. More...
#include <dune/fem/solver/amgxsolver.hh>
Public Types | |
typedef BaseType::SolverDiscreteFunctionType | SolverDiscreteFunctionType |
typedef BaseType::OperatorType | OperatorType |
typedef BaseType::PreconditionerType | PreconditionerType |
typedef BaseType::AssembledOperatorType | AssembledOperatorType |
typedef BaseType::DomainFunctionType | DomainFunctionType |
typedef BaseType::RangeFunctionType | RangeFunctionType |
typedef Traits::SolverParameterType | SolverParameterType |
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 ¶meter=AMGXSolverParameter()) | |
constructor | |
AMGXInverseOperator (const OperatorType &op, const AMGXSolverParameter ¶meter=AMGXSolverParameter()) | |
AMGXInverseOperator (const OperatorType &op, PreconditionerType &preconditioner, const AMGXSolverParameter ¶meter=AMGXSolverParameter()) | |
AMGXInverseOperator (const AMGXInverseOperator &other) | |
void | bind (const OperatorType &op) |
void | unbind () |
virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const |
application of operator to compute | |
void | operator() (const DiscreteFunctionInterface< DImpl > &u, DiscreteFunctionInterface< RImpl > &w) const |
application of operator to compute | |
virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0 |
application operator | |
void | bind (const OperatorType &op) |
store pointer to linear operator | |
void | bind (const OperatorType &op, const PreconditionerType &preconditioner) |
store pointer to linear operator and preconditioner | |
int | iterations () const |
return number of iterations used in previous call of application operator | |
virtual void | setMaxLinearIterations (const int iter) |
set number of max linear iterations to be used before an exception is thrown | |
virtual void | setMaxIterations (const int iter) |
void | setParameters (const SolverParameterType &newParams) |
set complete set of linear inverse operator parameters | |
SolverParameterType & | parameter () const |
bool | verbose () const |
double | averageCommTime () const |
return accumulated communication time | |
virtual void | finalize () |
finalization of operator | |
Protected Types | |
typedef BartonNackmanInterface< InverseOperatorInterface< AMGXInverseOperatorTraits< DF > >, typename Traits::InverseOperatorType > | Base2Type |
typedef Traits::InverseOperatorType | InverseOperatorType |
Protected Member Functions | |
void | init (const AMGXSolverParameter ¶meter) |
int | apply (const SolverDiscreteFunctionType &arg, SolverDiscreteFunctionType &dest) const |
void | opApply (const SolverDiscreteFunctionType &u, SolverDiscreteFunctionType &w) const |
void | opApply (const DiscreteFunctionInterface< DImpl > &u, DiscreteFunctionInterface< RImpl > &w) const |
const Implementation & | asImp () const |
Implementation & | asImp () |
Static Protected Member Functions | |
static const Implementation & | asImp (const ThisType &other) |
static Implementation & | asImp (ThisType &other) |
Protected Attributes | |
std::shared_ptr< SolverParameterType > | parameter_ |
const OperatorType * | operator_ |
const AssembledOperatorType * | assembledOperator_ |
const PreconditionerType * | preconditioner_ |
std::unique_ptr< SolverDiscreteFunctionType > | rhs_ |
std::unique_ptr< SolverDiscreteFunctionType > | x_ |
int | iterations_ |
bool | rightHandSideCopied_ |
bool | verbose_ |
AMGX solver context for PETSc Mat and PETSc Vec.
typedef BaseType::AssembledOperatorType Dune::Fem::AMGXInverseOperator< DF >::AssembledOperatorType |
|
protectedinherited |
|
inherited |
field type of the operator's domain
|
inherited |
|
protectedinherited |
typedef BaseType::OperatorType Dune::Fem::AMGXInverseOperator< DF >::OperatorType |
typedef BaseType::PreconditionerType Dune::Fem::AMGXInverseOperator< DF >::PreconditionerType |
|
inherited |
field type of the operator's range
|
inherited |
typedef BaseType::SolverDiscreteFunctionType Dune::Fem::AMGXInverseOperator< DF >::SolverDiscreteFunctionType |
|
inherited |
|
inline |
constructor
[in] | parameter | parameter for the solver |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlineinherited |
return accumulated communication time
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlinevirtualinherited |
finalization of operator
|
inlineprotected |
|
inlineinherited |
return number of iterations used in previous call of application operator
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
application of operator to compute
.
u | parameter right hand side of linear problem |
w | initial guess for linear solver |
|
inlinevirtualinherited |
application of operator to compute
.
u | parameter right hand side of linear problem |
w | initial guess for linear solver |
|
pure virtualinherited |
application operator
[in] | u | argument discrete function |
[out] | w | destination discrete function |
|
inlineinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
set number of max linear iterations to be used before an exception is thrown
iter | number of max linear iterations |
|
inlineinherited |
set complete set of linear inverse operator parameters
|
inline |
|
inlineinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |