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

[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 DomainDiscreteFunctionSpaceType & domainSpace () const
 
const RangeDiscreteFunctionSpaceType & rangeSpace () const
 
const ModelType & model () const
 
ModelType & model ()
 
void setQuadratureOrders (unsigned int interior, unsigned int surface)
 
virtual void finalize ()
 finalization of operator 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/2]

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

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

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

◆ jacobian() [2/2]

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: