dune-fem  2.8-git
Public Types | Public Member Functions | Protected Attributes | List of all members
Dune::Fem::ModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands > Struct Template Referenceabstract

#include <dune/fem/schemes/galerkin.hh>

Inheritance diagram for Dune::Fem::ModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands >:
Inheritance graph

Public Types

typedef DifferentiableGalerkinOperator< ModelIntegrands, LinearOperatorBaseType
 
typedef ModelIntegrands::ModelType ModelType
 
typedef LinearOperator::DomainFunctionType RangeFunctionType
 
typedef LinearOperator::RangeSpaceType DiscreteFunctionSpaceType
 
typedef LinearOperator JacobianOperatorType
 
typedef BaseType::DomainFunctionType DomainFunctionType
 
typedef DomainFunctionType::DiscreteFunctionSpaceType DomainDiscreteFunctionSpaceType
 
typedef RangeFunctionType::DiscreteFunctionSpaceType RangeDiscreteFunctionSpaceType
 
typedef BaseType::GridPartType GridPartType
 
typedef Integrands DirichletModelType
 
typedef DomainFunction::RangeFieldType DomainFieldType
 field type of the operator's domain More...
 
typedef DomainFunctionType::RangeFieldType DomainFieldType
 field type of the operator's domain More...
 
typedef RangeFunction::RangeFieldType RangeFieldType
 field type of the operator's range More...
 
typedef RangeFunctionType::RangeFieldType RangeFieldType
 field type of the operator's range More...
 

Public Member Functions

 ModelDifferentiableGalerkinOperator (ModelType &model, const DiscreteFunctionSpaceType &dfSpace)
 
template<class GridFunction >
void apply (const GridFunction &u, RangeFunctionType &w) const
 
template<class GridFunction >
void apply (const GridFunction &u, LinearOperator &jOp) const
 
virtual void jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const final override
 obtain linearization More...
 
void jacobian (const GridFunction &u, JacobianOperatorType &jOp) const
 
const DomainDiscreteFunctionSpaceTypedomainSpace () const
 
const RangeDiscreteFunctionSpaceTyperangeSpace () const
 
void setCommunicate (const bool communicate)
 
void setQuadratureOrders (unsigned int interior, unsigned int surface)
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const final override
 
template<class GridFunction >
void operator() (const GridFunction &u, RangeFunctionType &w) const
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0
 application operator More...
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0
 application operator More...
 
const GridPartTypegridPart () const
 
ModelTypemodel () const
 
virtual void finalize ()
 finalization of operator More...
 
virtual void finalize ()
 finalization of operator More...
 

Protected Attributes

const DomainDiscreteFunctionSpaceTypedSpace_
 
const RangeDiscreteFunctionSpaceTyperSpace_
 
Impl::GalerkinOperator< Integrands > impl_
 

Member Typedef Documentation

◆ BaseType

template<class LinearOperator , class ModelIntegrands >
typedef DifferentiableGalerkinOperator< ModelIntegrands, LinearOperator > Dune::Fem::ModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands >::BaseType

◆ DirichletModelType

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
typedef Integrands Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >::DirichletModelType
inherited

◆ DiscreteFunctionSpaceType

template<class LinearOperator , class ModelIntegrands >
typedef LinearOperator::RangeSpaceType Dune::Fem::ModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands >::DiscreteFunctionSpaceType

◆ DomainDiscreteFunctionSpaceType

typedef DomainFunctionType::DiscreteFunctionSpaceType Dune::Fem::DifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::DomainDiscreteFunctionSpaceType
inherited

◆ DomainFieldType [1/2]

template<class JacobianOperator >
typedef DomainFunctionType::RangeFieldType Dune::Fem::DifferentiableOperator< JacobianOperator >::DomainFieldType
inherited

field type of the operator's domain

◆ DomainFieldType [2/2]

typedef DomainFunction::RangeFieldType Dune::Fem::Operator< DomainFunction, DomainFunction >::DomainFieldType
inherited

field type of the operator's domain

◆ DomainFunctionType

◆ GridPartType

typedef BaseType::GridPartType Dune::Fem::DifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::GridPartType
inherited

◆ JacobianOperatorType

◆ ModelType

template<class LinearOperator , class ModelIntegrands >
typedef ModelIntegrands::ModelType Dune::Fem::ModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands >::ModelType

◆ RangeDiscreteFunctionSpaceType

typedef RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::DifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::RangeDiscreteFunctionSpaceType
inherited

◆ RangeFieldType [1/2]

template<class JacobianOperator >
typedef RangeFunctionType::RangeFieldType Dune::Fem::DifferentiableOperator< JacobianOperator >::RangeFieldType
inherited

field type of the operator's range

◆ RangeFieldType [2/2]

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

field type of the operator's range

◆ RangeFunctionType

template<class LinearOperator , class ModelIntegrands >
typedef LinearOperator::DomainFunctionType Dune::Fem::ModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands >::RangeFunctionType

Constructor & Destructor Documentation

◆ ModelDifferentiableGalerkinOperator()

template<class LinearOperator , class ModelIntegrands >
Dune::Fem::ModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands >::ModelDifferentiableGalerkinOperator ( ModelType model,
const DiscreteFunctionSpaceType dfSpace 
)
inline

Member Function Documentation

◆ apply() [1/2]

template<class LinearOperator , class ModelIntegrands >
template<class GridFunction >
void Dune::Fem::ModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands >::apply ( const GridFunction &  u,
LinearOperator jOp 
) const
inline

◆ apply() [2/2]

template<class LinearOperator , class ModelIntegrands >
template<class GridFunction >
void Dune::Fem::ModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands >::apply ( const GridFunction &  u,
RangeFunctionType w 
) const
inline

◆ domainSpace()

const DomainDiscreteFunctionSpaceType& Dune::Fem::DifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::domainSpace ( ) const
inlineinherited

◆ finalize() [1/2]

virtual void Dune::Fem::Operator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType >::finalize ( )
inlinevirtualinherited

finalization of operator

Note
The default implementation is empty.

◆ finalize() [2/2]

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

finalization of operator

Note
The default implementation is empty.

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

◆ gridPart()

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
const GridPartType& Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >::gridPart ( ) const
inlineinherited

◆ jacobian() [1/2]

virtual void Dune::Fem::DifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::jacobian ( const DomainFunctionType u,
JacobianOperatorType jOp 
) const
inlinefinaloverridevirtualinherited

obtain linearization

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

Implements Dune::Fem::DifferentiableOperator< JacobianOperator >.

◆ jacobian() [2/2]

void Dune::Fem::DifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::jacobian ( const GridFunction &  u,
JacobianOperatorType jOp 
) const
inlineinherited

◆ model()

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
ModelType& Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >::model ( ) const
inlineinherited

◆ operator()() [1/4]

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

◆ operator()() [2/4]

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

◆ operator()() [3/4]

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

◆ operator()() [4/4]

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
template<class GridFunction >
void Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >::operator() ( const GridFunction &  u,
RangeFunctionType w 
) const
inlineinherited

◆ rangeSpace()

const RangeDiscreteFunctionSpaceType& Dune::Fem::DifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::rangeSpace ( ) const
inlineinherited

◆ setCommunicate()

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
void Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >::setCommunicate ( const bool  communicate)
inlineinherited

◆ setQuadratureOrders()

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
void Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >::setQuadratureOrders ( unsigned int  interior,
unsigned int  surface 
)
inlineinherited

Member Data Documentation

◆ dSpace_

const DomainDiscreteFunctionSpaceType& Dune::Fem::DifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::dSpace_
protectedinherited

◆ impl_

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
Impl::GalerkinOperator< Integrands > Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >::impl_
protectedinherited

◆ rSpace_

const RangeDiscreteFunctionSpaceType& Dune::Fem::DifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::rSpace_
protectedinherited

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