dune-fem  2.4.1-rc
Public Types | Public Member Functions | List of all members
Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator > Class Template Referenceabstract

operator providing a Jacobian through automatic differentiation More...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/operator/common/automaticdifferenceoperator.hh>

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

Public Types

typedef BaseType::RangeFunctionType RangeFunctionType
 
typedef BaseType::DomainFunctionType DomainFunctionType
 
typedef BaseType::RangeFieldType RangeFieldType
 
typedef BaseType::DomainFieldType DomainFieldType
 
typedef Dune::FieldTraits< RangeFieldType >::real_type RealType
 
typedef BaseType::JacobianOperatorType JacobianOperatorType
 
typedef RangeFunctionType::DiscreteFunctionSpaceType RangeSpaceType
 
typedef DomainFunctionType::DiscreteFunctionSpaceType DomainSpaceType
 

Public Member Functions

 AutomaticDifferenceOperator (const ParameterReader &parameter=Parameter::container())
 
 AutomaticDifferenceOperator (const RangeFieldType &eps)
 
virtual void jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const
 
virtual void jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const =0
 obtain linearization More...
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const =0
 application operator More...
 

Detailed Description

template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
class Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >

operator providing a Jacobian through automatic differentiation

Note
The Jacobian operator is an on-the-fly operator, i.e., it does not store a matrix but only implements the application.

Member Typedef Documentation

template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
typedef BaseType::DomainFieldType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::DomainFieldType
template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
typedef BaseType::DomainFunctionType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::DomainFunctionType
template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
typedef DomainFunctionType::DiscreteFunctionSpaceType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::DomainSpaceType
template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
typedef BaseType::JacobianOperatorType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::JacobianOperatorType
template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
typedef BaseType::RangeFieldType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::RangeFieldType
template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
typedef BaseType::RangeFunctionType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::RangeFunctionType
template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
typedef RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::RangeSpaceType
template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
typedef Dune::FieldTraits< RangeFieldType >::real_type Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::RealType

Constructor & Destructor Documentation

template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::AutomaticDifferenceOperator ( const ParameterReader parameter = Parameter::container())
inline
template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::AutomaticDifferenceOperator ( const RangeFieldType eps)
inlineexplicit

Member Function Documentation

virtual void Dune::Fem::DifferentiableOperator< LinearOperator >::jacobian ( const DomainFunctionType u,
JacobianOperatorType jOp 
) const
pure virtualinherited

obtain linearization

Parameters
[in]uargument discrete function
[out]jOpdestination Jacobian operator
Note
This method has to be implemented by all derived classes.
template<class DomainFunction, class RangeFunction = DomainFunction, class LinearOperator = AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >>
virtual void Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, LinearOperator >::jacobian ( const DomainFunctionType u,
JacobianOperatorType jOp 
) const
inlinevirtual
virtual void Dune::Fem::Operator< LinearOperator::DomainFunctionType , LinearOperator::RangeFunctionType >::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.

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