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

#include <dune/fem/operator/common/automaticdifferenceoperator.hh>

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

Public Types

typedef Dune::Fem::Operator< DomainFunction, RangeFunction > OperatorType
 
typedef BaseType::RangeFunctionType RangeFunctionType
 
typedef BaseType::DomainFunctionType DomainFunctionType
 
typedef BaseType::RangeFieldType RangeFieldType
 
typedef BaseType::DomainFieldType DomainFieldType
 
typedef Dune::FieldTraits< RangeFieldType >::real_type RealType
 
typedef RangeFunctionType::DiscreteFunctionSpaceType RangeSpaceType
 
typedef DomainFunctionType::DiscreteFunctionSpaceType DomainSpaceType
 

Public Member Functions

 AutomaticDifferenceLinearOperator (const std::string &name, const DomainSpaceType &dSpace, const RangeSpaceType &rSpace)
 
virtual void operator() (const DomainFunctionType &arg, RangeFunctionType &dest) const
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const =0
 application operator
 
virtual void finalize ()
 finalization of operator
 
virtual bool nonlinear () const
 

Protected Member Functions

void set (const DomainFunctionType &u, const OperatorType &op, const RealType &eps)
 

Protected Attributes

const std::string name_
 
const OperatorTypeop_
 
const DomainFunctionTypeu_
 
DomainFunctionType b_
 
RangeFunctionType op_u_
 
RangeFieldType eps_
 
RangeFieldType norm_u_
 

Friends

class AutomaticDifferenceOperator< DomainFunction, RangeFunction, ThisType >
 

Member Typedef Documentation

◆ DomainFieldType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef BaseType::DomainFieldType Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::DomainFieldType

◆ DomainFunctionType

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

◆ DomainSpaceType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef DomainFunctionType::DiscreteFunctionSpaceType Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::DomainSpaceType

◆ OperatorType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef Dune::Fem::Operator< DomainFunction, RangeFunction > Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::OperatorType

◆ RangeFieldType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef BaseType::RangeFieldType Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::RangeFieldType

◆ RangeFunctionType

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

◆ RangeSpaceType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::RangeSpaceType

◆ RealType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef Dune::FieldTraits<RangeFieldType>::real_type Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::RealType

Constructor & Destructor Documentation

◆ AutomaticDifferenceLinearOperator()

template<class DomainFunction , class RangeFunction = DomainFunction>
Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::AutomaticDifferenceLinearOperator ( const std::string name,
const DomainSpaceType dSpace,
const RangeSpaceType rSpace 
)
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()() [1/2]

template<class DomainFunction , class RangeFunction >
void Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::operator() ( const DomainFunctionType arg,
RangeFunctionType dest 
) const
inlinevirtual

◆ operator()() [2/2]

template<class DomainFunction , class RangeFunction = DomainFunction>
virtual void Dune::Fem::Operator< DomainFunction, RangeFunction >::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.

Implemented in Dune::Fem::DiagonalPreconditionerBase< DFImp, OperatorImp, assembled >, Dune::Fem::DiagonalPreconditionerBase< DFImp, Operator, std::is_base_of< AssembledOperator< DFImp, DFImp >, Operator > ::value >, Dune::Fem::DiagonalPreconditionerBase< DFImp, OperatorImp, true >, Dune::Fem::FemPreconditioningBase< DFImp, OperatorImp, method, assembled >, Dune::Fem::FemPreconditioningBase< DFImp, Operator, method, std::is_base_of< AssembledOperator< DFImp, DFImp >, Operator > ::value >, Dune::Fem::FemPreconditioningBase< DFImp, OperatorImp, method, true >, DGEllipticOperator< DiscreteFunction, Model, Penalty >, Dune::Fem::NumpyLinearOperator< DomainFunction, RangeFunction >, Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >, Dune::Fem::DenseRowLinearOperator< DomainFunction, RangeFunction >, Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >, Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >, Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >, Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >, EllipticOperator< DomainDiscreteFunction, RangeDiscreteFunction, Model >, Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >, Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >, Dune::Fem::MassLumpingOperator< Integrands, MassIntegrands, DomainFunction, RangeFunction >, Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >, Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >, and Dune::Fem::VtxProjection< DType, RType >.

◆ set()

template<class DomainFunction , class RangeFunction >
void Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::set ( const DomainFunctionType u,
const OperatorType op,
const RealType eps 
)
inlineprotected

Friends And Related Symbol Documentation

◆ AutomaticDifferenceOperator< DomainFunction, RangeFunction, ThisType >

template<class DomainFunction , class RangeFunction = DomainFunction>
friend class AutomaticDifferenceOperator< DomainFunction, RangeFunction, ThisType >
friend

Member Data Documentation

◆ b_

template<class DomainFunction , class RangeFunction = DomainFunction>
DomainFunctionType Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::b_
mutableprotected

◆ eps_

template<class DomainFunction , class RangeFunction = DomainFunction>
RangeFieldType Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::eps_
protected

◆ name_

template<class DomainFunction , class RangeFunction = DomainFunction>
const std::string Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::name_
protected

◆ norm_u_

template<class DomainFunction , class RangeFunction = DomainFunction>
RangeFieldType Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::norm_u_
protected

◆ op_

template<class DomainFunction , class RangeFunction = DomainFunction>
const OperatorType* Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::op_
protected

◆ op_u_

template<class DomainFunction , class RangeFunction = DomainFunction>
RangeFunctionType Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::op_u_
protected

◆ u_

template<class DomainFunction , class RangeFunction = DomainFunction>
const DomainFunctionType* Dune::Fem::AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction >::u_
protected

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