dune-fem 2.8-git
Public Types | Public Member Functions | Protected Attributes | List of all members
DifferentiableEllipticOperator< JacobianOperator, Model > Struct Template Referenceabstract

[Class for linearizable elliptic operator] More...

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

Inheritance diagram for DifferentiableEllipticOperator< JacobianOperator, Model >:
Inheritance graph

Public Types

typedef EllipticOperator< typename JacobianOperator::DomainFunctionType, typename JacobianOperator::RangeFunctionType, Model > BaseType
 
typedef JacobianOperator JacobianOperatorType
 
typedef BaseType::DomainFunctionType DomainFunctionType
 
typedef BaseType::RangeFunctionType RangeFunctionType
 
typedef BaseType::ModelType ModelType
 
typedef DomainFunctionType::DiscreteFunctionSpaceType DomainDiscreteFunctionSpaceType
 
typedef DomainFunctionType::LocalFunctionType DomainLocalFunctionType
 
typedef DomainLocalFunctionType::RangeType DomainRangeType
 
typedef DomainLocalFunctionType::JacobianRangeType DomainJacobianRangeType
 
typedef RangeFunctionType::DiscreteFunctionSpaceType RangeDiscreteFunctionSpaceType
 
typedef RangeFunctionType::LocalFunctionType RangeLocalFunctionType
 
typedef RangeLocalFunctionType::RangeType RangeRangeType
 
typedef RangeLocalFunctionType::JacobianRangeType RangeJacobianRangeType
 
typedef RangeDiscreteFunctionSpaceType::IteratorType IteratorType
 
typedef IteratorType::Entity EntityType
 
typedef EntityType::Geometry GeometryType
 
typedef RangeDiscreteFunctionSpaceType::DomainType DomainType
 
typedef RangeDiscreteFunctionSpaceType::GridPartType GridPartType
 
typedef GridPartType::IntersectionIteratorType IntersectionIteratorType
 
typedef IntersectionIteratorType::Intersection IntersectionType
 
typedef BaseType::QuadratureType QuadratureType
 
typedef BaseType::FaceQuadratureType FaceQuadratureType
 
typedef Model DirichletModelType
 
typedef DomainFunction::RangeFieldType DomainFieldType
 field type of the operator's domain More...
 
typedef RangeFunction::RangeFieldType RangeFieldType
 field type of the operator's range More...
 
typedef DomainFunctionType::RangeFieldType DomainFieldType
 field type of the operator's domain More...
 
typedef RangeFunctionType::RangeFieldType RangeFieldType
 field type of the operator's range More...
 

Public Member Functions

 DifferentiableEllipticOperator (const RangeDiscreteFunctionSpaceType &space, ModelType &model, const Dune::Fem::ParameterReader &parameter=Dune::Fem::Parameter::container())
 contructor More...
 
 DifferentiableEllipticOperator (const DomainDiscreteFunctionSpaceType &dSpace, const RangeDiscreteFunctionSpaceType &rSpace, ModelType &model, const Dune::Fem::ParameterReader &parameter=Dune::Fem::Parameter::container())
 contructor More...
 
void jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const
 method to setup the jacobian of the operator for storage in a matrix More...
 
template<class GridFunctionType >
void jacobian (const GridFunctionType &u, JacobianOperatorType &jOp) const
 
template<class GridFunctionType >
void assemble (const GridFunctionType &u, JacobianOperatorType &jOp) const
 
template<class GF >
void assemble (const GF &u, JacobianOperator &jOp) const
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const
 application operator More...
 
void operator() (const GF &u, RangeFunctionType &w) const
 
void apply (const GF &u, RangeFunctionType &w) const
 
const DomainDiscreteFunctionSpaceTypedomainSpace () const
 
const RangeDiscreteFunctionSpaceTyperangeSpace () const
 
const ModelTypemodel () const
 
ModelTypemodel ()
 
void setQuadratureOrders (unsigned int interior, unsigned int surface)
 
virtual void finalize ()
 finalization of operator More...
 
virtual void jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const =0
 obtain linearization More...
 

Protected Attributes

int interiorOrder_
 
int surfaceOrder_
 

Detailed Description

template<class JacobianOperator, class Model>
struct DifferentiableEllipticOperator< JacobianOperator, Model >

[Class for linearizable elliptic operator]

[Class for linearizable elliptic operator]

Member Typedef Documentation

◆ BaseType

template<class JacobianOperator , class Model >
typedef EllipticOperator< typename JacobianOperator::DomainFunctionType, typename JacobianOperator::RangeFunctionType, Model > DifferentiableEllipticOperator< JacobianOperator, Model >::BaseType

◆ DirichletModelType

typedef Model EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::DirichletModelType
inherited

◆ DomainDiscreteFunctionSpaceType

template<class JacobianOperator , class Model >
typedef DomainFunctionType::DiscreteFunctionSpaceType DifferentiableEllipticOperator< JacobianOperator, Model >::DomainDiscreteFunctionSpaceType

◆ 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< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType >::DomainFieldType
inherited

field type of the operator's domain

◆ DomainFunctionType

template<class JacobianOperator , class Model >
typedef BaseType::DomainFunctionType DifferentiableEllipticOperator< JacobianOperator, Model >::DomainFunctionType

◆ DomainJacobianRangeType

template<class JacobianOperator , class Model >
typedef DomainLocalFunctionType::JacobianRangeType DifferentiableEllipticOperator< JacobianOperator, Model >::DomainJacobianRangeType

◆ DomainLocalFunctionType

template<class JacobianOperator , class Model >
typedef DomainFunctionType::LocalFunctionType DifferentiableEllipticOperator< JacobianOperator, Model >::DomainLocalFunctionType

◆ DomainRangeType

template<class JacobianOperator , class Model >
typedef DomainLocalFunctionType::RangeType DifferentiableEllipticOperator< JacobianOperator, Model >::DomainRangeType

◆ DomainType

template<class JacobianOperator , class Model >
typedef RangeDiscreteFunctionSpaceType::DomainType DifferentiableEllipticOperator< JacobianOperator, Model >::DomainType

◆ EntityType

template<class JacobianOperator , class Model >
typedef IteratorType::Entity DifferentiableEllipticOperator< JacobianOperator, Model >::EntityType

◆ FaceQuadratureType

template<class JacobianOperator , class Model >
typedef BaseType::FaceQuadratureType DifferentiableEllipticOperator< JacobianOperator, Model >::FaceQuadratureType

◆ GeometryType

template<class JacobianOperator , class Model >
typedef EntityType::Geometry DifferentiableEllipticOperator< JacobianOperator, Model >::GeometryType

◆ GridPartType

template<class JacobianOperator , class Model >
typedef RangeDiscreteFunctionSpaceType::GridPartType DifferentiableEllipticOperator< JacobianOperator, Model >::GridPartType

◆ IntersectionIteratorType

template<class JacobianOperator , class Model >
typedef GridPartType::IntersectionIteratorType DifferentiableEllipticOperator< JacobianOperator, Model >::IntersectionIteratorType

◆ IntersectionType

template<class JacobianOperator , class Model >
typedef IntersectionIteratorType::Intersection DifferentiableEllipticOperator< JacobianOperator, Model >::IntersectionType

◆ IteratorType

template<class JacobianOperator , class Model >
typedef RangeDiscreteFunctionSpaceType::IteratorType DifferentiableEllipticOperator< JacobianOperator, Model >::IteratorType

◆ JacobianOperatorType

template<class JacobianOperator , class Model >
typedef JacobianOperator DifferentiableEllipticOperator< JacobianOperator, Model >::JacobianOperatorType

◆ ModelType

template<class JacobianOperator , class Model >
typedef BaseType::ModelType DifferentiableEllipticOperator< JacobianOperator, Model >::ModelType

◆ QuadratureType

template<class JacobianOperator , class Model >
typedef BaseType::QuadratureType DifferentiableEllipticOperator< JacobianOperator, Model >::QuadratureType

◆ RangeDiscreteFunctionSpaceType

template<class JacobianOperator , class Model >
typedef RangeFunctionType::DiscreteFunctionSpaceType DifferentiableEllipticOperator< JacobianOperator, Model >::RangeDiscreteFunctionSpaceType

◆ 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< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType >::RangeFieldType
inherited

field type of the operator's range

◆ RangeFunctionType

template<class JacobianOperator , class Model >
typedef BaseType::RangeFunctionType DifferentiableEllipticOperator< JacobianOperator, Model >::RangeFunctionType

◆ RangeJacobianRangeType

template<class JacobianOperator , class Model >
typedef RangeLocalFunctionType::JacobianRangeType DifferentiableEllipticOperator< JacobianOperator, Model >::RangeJacobianRangeType

◆ RangeLocalFunctionType

template<class JacobianOperator , class Model >
typedef RangeFunctionType::LocalFunctionType DifferentiableEllipticOperator< JacobianOperator, Model >::RangeLocalFunctionType

◆ RangeRangeType

template<class JacobianOperator , class Model >
typedef RangeLocalFunctionType::RangeType DifferentiableEllipticOperator< JacobianOperator, Model >::RangeRangeType

Constructor & Destructor Documentation

◆ DifferentiableEllipticOperator() [1/2]

template<class JacobianOperator , class Model >
DifferentiableEllipticOperator< JacobianOperator, Model >::DifferentiableEllipticOperator ( const RangeDiscreteFunctionSpaceType space,
ModelType model,
const Dune::Fem::ParameterReader parameter = Dune::Fem::Parameter::container() 
)
inline

contructor

◆ DifferentiableEllipticOperator() [2/2]

template<class JacobianOperator , class Model >
DifferentiableEllipticOperator< JacobianOperator, Model >::DifferentiableEllipticOperator ( const DomainDiscreteFunctionSpaceType dSpace,
const RangeDiscreteFunctionSpaceType rSpace,
ModelType model,
const Dune::Fem::ParameterReader parameter = Dune::Fem::Parameter::container() 
)
inline

contructor

Member Function Documentation

◆ apply()

void EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::apply ( const GF &  u,
RangeFunctionType w 
) const
inherited

[Compute local contribution of operator]

[Compute local contribution of operator]

◆ assemble() [1/2]

template<class JacobianOperator , class Model >
template<class GF >
void DifferentiableEllipticOperator< JacobianOperator, Model >::assemble ( const GF &  u,
JacobianOperator &  jOp 
) const

[Assembling the local matrix]

[Assembling the local matrix]

◆ assemble() [2/2]

template<class JacobianOperator , class Model >
template<class GridFunctionType >
void DifferentiableEllipticOperator< JacobianOperator, Model >::assemble ( const GridFunctionType &  u,
JacobianOperatorType jOp 
) const

◆ domainSpace()

const DomainDiscreteFunctionSpaceType & EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::domainSpace ( ) const
inlineinherited

◆ finalize()

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

finalization of operator

Note
The default implementation is empty.

◆ jacobian() [1/3]

template<class JacobianOperator , class Model >
void DifferentiableEllipticOperator< JacobianOperator, Model >::jacobian ( const DomainFunctionType u,
JacobianOperatorType jOp 
) const
inline

method to setup the jacobian of the operator for storage in a matrix

◆ jacobian() [2/3]

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

◆ jacobian() [3/3]

template<class JacobianOperator , class Model >
template<class GridFunctionType >
void DifferentiableEllipticOperator< JacobianOperator, Model >::jacobian ( const GridFunctionType &  u,
JacobianOperatorType jOp 
) const
inline

◆ model() [1/2]

ModelType & EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::model ( )
inlineinherited

◆ model() [2/2]

const ModelType & EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::model ( ) const
inlineinherited

◆ operator()() [1/2]

virtual void EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::operator() ( const DomainFunctionType u,
RangeFunctionType w 
) const
inlinevirtualinherited

◆ operator()() [2/2]

void EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::operator() ( const GF &  u,
RangeFunctionType w 
) const
inlineinherited

◆ rangeSpace()

const RangeDiscreteFunctionSpaceType & EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::rangeSpace ( ) const
inlineinherited

◆ setQuadratureOrders()

void EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::setQuadratureOrders ( unsigned int  interior,
unsigned int  surface 
)
inlineinherited

Member Data Documentation

◆ interiorOrder_

int EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::interiorOrder_
protectedinherited

◆ surfaceOrder_

int EllipticOperator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType , Model >::surfaceOrder_
protectedinherited

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