DUNE-FEM (unstable)

Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix > Struct Template Referenceabstract

SparseRowLinearOperator. More...

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

Public Types

typedef DomainFunction DomainFunctionType
 type of discrete function in the operator's domain
 
typedef DomainFunction RangeFunctionType
 type of discrete function in the operator's range
 
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

virtual void finalize ()
 finalization of operator More...
 
template<class DomainFunction , class RangeFunction >
void apply (const DomainFunction &arg, RangeFunction &dest) const
 apply matrix to discrete function
 
MatrixTypeexportMatrix () const
 get reference to storage object
 
const DomainSpaceType & domainSpace () const
 get domain space (i.e. space that builds the rows)
 
const RangeSpaceType & rangeSpace () const
 get range space (i.e. space that builds the columns)
 
MatrixTypeexportMatrix () const
 get reference to storage object
 
ObjectType * newObject () const
 interface method from LocalMatrixFactory
 
LocalMatrixType localMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity) const
 
LocalMatrixType localMatrix () const
 
LocalColumnObjectType localColumn (const DomainEntityType &domainEntity) const
 get local column
 
void compress ()
 compress matrix to a real CRS format
 
void reserve (const Stencil &stencil, bool verbose=false)
 reserve memory
 
void apply (const DomainFunction &arg, RangeFunction &dest) const
 apply matrix to discrete function
 
void extractDiagonal (DiscreteFunctionType &diag) const
 
void resort ()
 resort row numbering in matrix to have ascending numbering
 
virtual void flushAssembly ()
 commit intermediate states of linear operator assembly
 
void beginAssemble ()
 Initiate the assemble of values using the LocalContribution concept. More...
 
void endAssemble ()
 Finalize the assemble of values using the LocalContribution concept. More...
 
virtual bool symmetric () const
 
virtual bool positiveDefinite () const
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0
 application operator More...
 

Protected Member Functions

MatrixTypematrix () const
 get reference to storage object, for internal use
 

Detailed Description

template<class DomainFunction, class RangeFunction, class Matrix = SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType >>
struct Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >

SparseRowLinearOperator.

Member Function Documentation

◆ 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, ...)

◆ 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, ...)

◆ extractDiagonal()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::extractDiagonal ( DiscreteFunctionType diag) const
inlineinherited

extract diagonal entries from matrix into discrete function this only works for square matrices

◆ finalize()

template<class DomainFunction , class RangeFunction , class Matrix = SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType >>
virtual void Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >::finalize ( )
inlinevirtual

finalization of operator

Note
The default implementation is empty.

Reimplemented from Dune::Fem::Operator< DomainFunction, DomainFunction >.

References Dune::Fem::SparseRowMatrixObject< DomainSpace, RangeSpace, Matrix >::compress().

◆ localMatrix() [1/2]

LocalMatrixType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::localMatrix ( ) const
inlineinherited
Deprecated:
Use TemporaryLocalMatrix in combination with {add,set,get}LocalMatrix on matrix object return local matrix object

◆ localMatrix() [2/2]

LocalMatrixType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::localMatrix ( const DomainEntityType &  domainEntity,
const RangeEntityType &  rangeEntity 
) const
inlineinherited
Deprecated:
Use TemporaryLocalMatrix in combination with {add,set,get}LocalMatrix on matrix object return local matrix object

◆ operator()()

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.

◆ positiveDefinite()

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

Return true if the Operator is positive definite.

◆ symmetric()

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

Return true if the Operator is symmetric.


The documentation for this struct was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 9, 22:29, 2024)