dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction > Class Template Reference

Wrapper for functions passed from Python side that implements a preconditioner. More...

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

Inheritance diagram for Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >:
Inheritance graph

Public Types

typedef DomainFunction DomainFunctionType
 
typedef RangeFunction RangeFunctionType
 
typedef std::reference_wrapper< const DomainFunctionTypeConstDomainDFType
 
typedef std::reference_wrapper< RangeFunctionTypeRangeDFType
 
typedef std::function< void(ConstDomainDFType &, RangeDFType &) > PreconditionerFunctionType
 
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

 PreconditionerFunctionWrapper (const PreconditionerFunctionType &pre)
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &v) const final override
 application operator
 
virtual void finalize ()
 finalization of operator
 
virtual bool nonlinear () const
 

Protected Attributes

const PreconditionerFunctionTypepreconditioner_
 

Detailed Description

template<class DomainFunction, class RangeFunction = DomainFunction>
class Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >

Wrapper for functions passed from Python side that implements a preconditioner.

Template Parameters
DomainFunctionargument function.
RangeFunctiondestination function.

Member Typedef Documentation

◆ ConstDomainDFType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef std::reference_wrapper< const DomainFunctionType > Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >::ConstDomainDFType

◆ DomainFieldType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef DomainFunction::RangeFieldType Dune::Fem::Operator< DomainFunction, RangeFunction >::DomainFieldType
inherited

field type of the operator's domain

◆ DomainFunctionType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef DomainFunction Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >::DomainFunctionType

◆ PreconditionerFunctionType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef std::function< void( ConstDomainDFType& , RangeDFType& ) > Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >::PreconditionerFunctionType

◆ RangeDFType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef std::reference_wrapper< RangeFunctionType > Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >::RangeDFType

◆ RangeFieldType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef RangeFunction::RangeFieldType Dune::Fem::Operator< DomainFunction, RangeFunction >::RangeFieldType
inherited

field type of the operator's range

◆ RangeFunctionType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef RangeFunction Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >::RangeFunctionType

Constructor & Destructor Documentation

◆ PreconditionerFunctionWrapper()

template<class DomainFunction , class RangeFunction = DomainFunction>
Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >::PreconditionerFunctionWrapper ( const PreconditionerFunctionType pre)
inline

Member Function Documentation

◆ finalize()

template<class DomainFunction , class RangeFunction = DomainFunction>
virtual void Dune::Fem::Operator< DomainFunction, RangeFunction >::finalize ( )
inlinevirtualinherited

finalization of operator

Note
The default implementation is empty.

Reimplemented in Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >.

◆ nonlinear()

◆ operator()()

template<class DomainFunction , class RangeFunction = DomainFunction>
virtual void Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >::operator() ( const DomainFunctionType u,
RangeFunctionType w 
) const
inlinefinaloverridevirtual

application operator

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

Implements Dune::Fem::Operator< DomainFunction, RangeFunction >.

Member Data Documentation

◆ preconditioner_

template<class DomainFunction , class RangeFunction = DomainFunction>
const PreconditionerFunctionType& Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >::preconditioner_
protected

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