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

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

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

Public Types

typedef MOLDifferentiableGalerkinOperator< 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 Impl::GalerkinOperator< Integrands > GalerkinOperatorImplType
 
typedef GalerkinOperatorImplType::template QuadratureSelector< DiscreteFunctionSpaceType >::InteriorQuadratureType InteriorQuadratureType
 
typedef LocalMassMatrix< DiscreteFunctionSpaceType, InteriorQuadratureTypeLocalMassMatrixType
 
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

 MOLModelDifferentiableGalerkinOperator (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 Member Functions

void applyInverseMass (JacobianOperatorType &jOp, const bool hasSkeleton) const
 
void applyInverseMass (RangeFunctionType &w) const
 
template<class GridFunction >
void evaluate (const GridFunction &u, RangeFunctionType &w) const
 

Protected Attributes

const DomainDiscreteFunctionSpaceTypedSpace_
 
const RangeDiscreteFunctionSpaceTyperSpace_
 
GalerkinOperatorImplType impl_
 
bool communicate_
 

Member Typedef Documentation

◆ BaseType

template<class LinearOperator , class ModelIntegrands >
typedef MOLDifferentiableGalerkinOperator< ModelIntegrands, LinearOperator > Dune::Fem::MOLModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands >::BaseType

◆ DirichletModelType

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

◆ DiscreteFunctionSpaceType

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

◆ DomainDiscreteFunctionSpaceType

typedef DomainFunctionType::DiscreteFunctionSpaceType Dune::Fem::MOLDifferentiableGalerkinOperator< 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

◆ GalerkinOperatorImplType

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
typedef Impl::GalerkinOperator< Integrands > Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >::GalerkinOperatorImplType
inherited

◆ GridPartType

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

◆ InteriorQuadratureType

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
typedef GalerkinOperatorImplType::template QuadratureSelector< DiscreteFunctionSpaceType >:: InteriorQuadratureType Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >::InteriorQuadratureType
inherited

◆ JacobianOperatorType

◆ LocalMassMatrixType

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
typedef LocalMassMatrix< DiscreteFunctionSpaceType, InteriorQuadratureType > Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >::LocalMassMatrixType
inherited

◆ ModelType

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

◆ RangeDiscreteFunctionSpaceType

typedef RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::MOLDifferentiableGalerkinOperator< 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::MOLModelDifferentiableGalerkinOperator< LinearOperator, ModelIntegrands >::RangeFunctionType

Constructor & Destructor Documentation

◆ MOLModelDifferentiableGalerkinOperator()

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

Member Function Documentation

◆ apply() [1/2]

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

◆ apply() [2/2]

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

◆ applyInverseMass() [1/2]

void Dune::Fem::MOLDifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::applyInverseMass ( JacobianOperatorType jOp,
const bool  hasSkeleton 
) const
inlineprotectedinherited

◆ applyInverseMass() [2/2]

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
void Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >::applyInverseMass ( RangeFunctionType w) const
inlineprotectedinherited

◆ domainSpace()

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

◆ evaluate()

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
template<class GridFunction >
void Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >::evaluate ( const GridFunction &  u,
RangeFunctionType w 
) const
inlineprotectedinherited

◆ 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::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >::gridPart ( ) const
inlineinherited

◆ jacobian() [1/2]

virtual void Dune::Fem::MOLDifferentiableGalerkinOperator< 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::MOLDifferentiableGalerkinOperator< ModelIntegrands , LinearOperator >::jacobian ( const GridFunction &  u,
JacobianOperatorType jOp 
) const
inlineinherited

◆ model()

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

◆ operator()() [1/4]

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

◆ operator()() [2/4]

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

◆ operator()() [3/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()() [4/4]

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

◆ rangeSpace()

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

◆ setCommunicate()

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

◆ setQuadratureOrders()

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

Member Data Documentation

◆ communicate_

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
bool Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >::communicate_
protectedinherited

◆ dSpace_

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

◆ impl_

template<class Integrands , class DomainFunction , class RangeFunction = DomainFunction>
GalerkinOperatorImplType Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >::impl_
protectedinherited

◆ rSpace_

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

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