dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction > Class Template Reference

#include <dune/fem/operator/linear/hierarchical.hh>

Inheritance diagram for Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >:
Inheritance graph

Public Types

typedef std::common_type_t< typename DomainFunction::DofType, typename RangeFunction::DofType > DofType
 
typedef BaseType::DomainFunctionType DomainFunctionType
 
typedef BaseType::RangeFunctionType RangeFunctionType
 
typedef DomainFunctionType::DiscreteFunctionSpaceType DomainSpaceType
 
typedef RangeFunctionType::DiscreteFunctionSpaceType RangeSpaceType
 
typedef DomainSpaceType::EntityType DomainEntityType
 
typedef RangeSpaceType::EntityType RangeEntityType
 
typedef Impl::HierarchicalMatrixChooser< DofType, typenameDomainSpaceType::LocalBlockIndices, typenameRangeSpaceType::LocalBlockIndices >::Type MatrixType
 
typedef DomainFunction::RangeFieldType DomainFieldType
 field type of the operator's domain
 
typedef RangeFunction::RangeFieldType RangeFieldType
 field type of the operator's range
 

Public Member Functions

 HierarchicalLinearOperator (const std::string &, const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace)
 
virtual void operator() (const DomainFunction &u, RangeFunction &w) const
 application operator
 
void communicate ()
 
const DomainSpaceTypedomainSpace () const
 
const RangeSpaceTyperangeSpace () const
 
MatrixTypeexportMatrix () const
 
template<class LocalMatrix >
void addLocalMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity, const LocalMatrix &localMatrix)
 
template<class LocalMatrix , class Scalar >
void addScaledLocalMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity, const LocalMatrix &localMatrix, const Scalar &scalar)
 
template<class LocalMatrix >
void getLocalMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity, LocalMatrix &localMatrix) const
 
template<class LocalMatrix >
void setLocalMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity, const LocalMatrix &localMatrix)
 
void clear ()
 
template<class I >
void unitRow (const I localRow, const double diag=1.0)
 
template<class Stencil >
void reserve (const Stencil &stencil)
 
virtual void flushAssembly ()
 commit intermediate states of linear operator assembly
 
void beginAssemble ()
 Initiate the assemble of values using the LocalContribution concept.
 
void endAssemble ()
 Finalize the assemble of values using the LocalContribution concept.
 
virtual bool symmetric () const
 
virtual bool positiveDefinite () const
 
virtual void finalize ()
 finalization of operator
 

Protected Member Functions

MatrixTypematrix ()
 

Protected Attributes

std::type_index assembleOperation_
 
std::size_t assembleCount_
 

Member Typedef Documentation

◆ DofType

template<class DomainFunction , class RangeFunction >
typedef std::common_type_t< typename DomainFunction::DofType, typename RangeFunction::DofType > Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::DofType

◆ DomainEntityType

template<class DomainFunction , class RangeFunction >
typedef DomainSpaceType::EntityType Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::DomainEntityType

◆ DomainFieldType

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

field type of the operator's domain

◆ DomainFunctionType

template<class DomainFunction , class RangeFunction >
typedef BaseType::DomainFunctionType Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::DomainFunctionType

◆ DomainSpaceType

template<class DomainFunction , class RangeFunction >
typedef DomainFunctionType::DiscreteFunctionSpaceType Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::DomainSpaceType

◆ MatrixType

template<class DomainFunction , class RangeFunction >
typedef Impl::HierarchicalMatrixChooser<DofType,typenameDomainSpaceType::LocalBlockIndices,typenameRangeSpaceType::LocalBlockIndices>::Type Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::MatrixType

◆ RangeEntityType

template<class DomainFunction , class RangeFunction >
typedef RangeSpaceType::EntityType Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::RangeEntityType

◆ RangeFieldType

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

field type of the operator's range

◆ RangeFunctionType

template<class DomainFunction , class RangeFunction >
typedef BaseType::RangeFunctionType Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::RangeFunctionType

◆ RangeSpaceType

template<class DomainFunction , class RangeFunction >
typedef RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::RangeSpaceType

Constructor & Destructor Documentation

◆ HierarchicalLinearOperator()

template<class DomainFunction , class RangeFunction >
Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::HierarchicalLinearOperator ( const std::string &  ,
const DomainSpaceType domainSpace,
const RangeSpaceType rangeSpace 
)
inline

Member Function Documentation

◆ addLocalMatrix()

template<class DomainFunction , class RangeFunction >
template<class LocalMatrix >
void Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::addLocalMatrix ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity,
const LocalMatrix &  localMatrix 
)
inline

◆ addScaledLocalMatrix()

template<class DomainFunction , class RangeFunction >
template<class LocalMatrix , class Scalar >
void Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::addScaledLocalMatrix ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity,
const LocalMatrix &  localMatrix,
const Scalar &  scalar 
)
inline

◆ beginAssemble()

void Dune::Fem::AssembledOperator< DomainFunction, RangeFunction >::beginAssemble ( )
inlineinherited

Initiate the assemble of values using the LocalContribution concept.

Template Parameters
AssembleOperationthe specific operation (Add, Set, ...)

◆ clear()

template<class DomainFunction , class RangeFunction >
void Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::clear ( )
inline

◆ communicate()

template<class DomainFunction , class RangeFunction >
void Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::communicate ( )
inline

◆ domainSpace()

template<class DomainFunction , class RangeFunction >
const DomainSpaceType & Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::domainSpace ( ) const
inline

◆ endAssemble()

void Dune::Fem::AssembledOperator< DomainFunction, RangeFunction >::endAssemble ( )
inlineinherited

Finalize the assemble of values using the LocalContribution concept.

Template Parameters
AssembleOperationthe specific operation (Add, Set, ...)

◆ exportMatrix()

template<class DomainFunction , class RangeFunction >
MatrixType & Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::exportMatrix ( ) const
inline

◆ finalize()

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

◆ flushAssembly()

virtual void Dune::Fem::AssembledOperator< DomainFunction, RangeFunction >::flushAssembly ( )
inlinevirtualinherited

commit intermediate states of linear operator assembly

◆ getLocalMatrix()

template<class DomainFunction , class RangeFunction >
template<class LocalMatrix >
void Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::getLocalMatrix ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity,
LocalMatrix &  localMatrix 
) const
inline

◆ matrix()

template<class DomainFunction , class RangeFunction >
MatrixType & Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::matrix ( )
inlineprotected

◆ operator()()

template<class DomainFunction , class RangeFunction >
virtual void Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::operator() ( const DomainFunction &  u,
RangeFunction &  w 
) const
inlinevirtual

application operator

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

Implements Dune::Fem::Operator< DomainFunction, RangeFunction >.

◆ positiveDefinite()

virtual bool Dune::Fem::LinearOperator< DomainFunction, RangeFunction >::positiveDefinite ( ) const
inlinevirtualinherited

Return true if the Operator is positive definite.

◆ rangeSpace()

template<class DomainFunction , class RangeFunction >
const RangeSpaceType & Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::rangeSpace ( ) const
inline

◆ reserve()

template<class DomainFunction , class RangeFunction >
template<class Stencil >
void Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::reserve ( const Stencil stencil)
inline

◆ setLocalMatrix()

template<class DomainFunction , class RangeFunction >
template<class LocalMatrix >
void Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::setLocalMatrix ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity,
const LocalMatrix &  localMatrix 
)
inline

◆ symmetric()

virtual bool Dune::Fem::LinearOperator< DomainFunction, RangeFunction >::symmetric ( ) const
inlinevirtualinherited

Return true if the Operator is symmetric.

◆ unitRow()

template<class DomainFunction , class RangeFunction >
template<class I >
void Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >::unitRow ( const I  localRow,
const double  diag = 1.0 
)
inline

Member Data Documentation

◆ assembleCount_

std::size_t Dune::Fem::AssembledOperator< DomainFunction, RangeFunction >::assembleCount_
protectedinherited

◆ assembleOperation_

std::type_index Dune::Fem::AssembledOperator< DomainFunction, RangeFunction >::assembleOperation_
protectedinherited

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