dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public 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
 
typedef RangeFunction::RangeFieldType RangeFieldType
 field type of the operator's range
 
typedef DomainFunctionType::RangeFieldType DomainFieldType
 field type of the operator's domain
 
typedef RangeFunctionType::RangeFieldType RangeFieldType
 field type of the operator's range
 

Public Member Functions

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

Public 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]

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef DomainFunction::RangeFieldType Dune::Fem::Operator< DomainFunction, RangeFunction >::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]

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef RangeFunction::RangeFieldType Dune::Fem::Operator< DomainFunction, RangeFunction >::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() [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]

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 >.

◆ 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

obtain linearization

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

Implemented in Dune::Fem::DifferentiableGalerkinOperator< Integrands, JacobianOperator >, and Dune::Fem::MOLDifferentiableGalerkinOperator< Integrands, JacobianOperator >.

◆ 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]

template<class JacobianOperator , class Model >
ModelType & EllipticOperator< DomainDiscreteFunction, RangeDiscreteFunction, Model >::model ( )
inline

◆ model() [2/2]

template<class JacobianOperator , class Model >
const ModelType & EllipticOperator< DomainDiscreteFunction, RangeDiscreteFunction, Model >::model ( ) const
inline

◆ operator()() [1/4]

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

application operator

◆ operator()() [2/4]

template<class DomainFunction , class RangeFunction = DomainFunction>
virtual void Dune::Fem::Operator< DomainFunction, RangeFunction >::operator() ( const DomainFunctionType u,
RangeFunctionType w 
) const
pure virtualinherited

◆ operator()() [3/4]

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

◆ operator()() [4/4]

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_

template<class JacobianOperator , class Model >
int EllipticOperator< DomainDiscreteFunction, RangeDiscreteFunction, Model >::interiorOrder_

◆ surfaceOrder_

template<class JacobianOperator , class Model >
int EllipticOperator< DomainDiscreteFunction, RangeDiscreteFunction, Model >::surfaceOrder_

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