dune-fem  2.8-git
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix > Struct Template Referenceabstract

SparseRowLinearOperator. More...

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

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

Public Types

typedef DomainFunction::DiscreteFunctionSpaceType DomainSpaceType
 
typedef RangeFunction::DiscreteFunctionSpaceType RangeSpaceType
 
typedef SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix > ThisType
 
typedef SparseRowMatrixObject< DomainSpaceType, RangeSpaceType, Matrix > BaseType
 
typedef DomainSpaceType::EntityType DomainEntityType
 
typedef RangeSpaceType::EntityType RangeEntityType
 
typedef DomainSpaceType::EntityType ColumnEntityType
 
typedef RangeSpaceType::EntityType RowEntityType
 
typedef DomainSpaceType::BlockMapperType DomainBlockMapperType
 
typedef NonBlockMapper< DomainBlockMapperType, DomainSpaceType::localBlockSize > DomainMapperType
 
typedef RangeSpaceType::BlockMapperType RangeBlockMapperType
 
typedef NonBlockMapper< RangeBlockMapperType, RangeSpaceType::localBlockSize > RangeMapperType
 
typedef SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > MatrixType
 
typedef MatrixType::size_type size_type
 
typedef MatrixType::field_type field_type
 
typedef Dune::FieldMatrix< field_type, rangeLocalBlockSize, domainLocalBlockSizeMatrixBlockType
 
typedef MatrixBlockType block_type
 
typedef MatrixType PreconditionMatrixType
 
typedef LocalMatrix< ThisTypeObjectType
 
typedef ThisType LocalMatrixFactoryType
 
typedef Fem::ObjectStack< LocalMatrixFactoryTypeLocalMatrixStackType
 
typedef LocalMatrixWrapper< LocalMatrixStackTypeLocalMatrixType
 
typedef ColumnObject< ThisTypeLocalColumnObjectType
 
typedef DomainFunction DomainFunctionType
 type of discrete function in the operator's domain More...
 
typedef DomainFunction RangeFunctionType
 type of discrete function in the operator's range More...
 
typedef DomainFunction::RangeFieldType DomainFieldType
 field type of the operator's domain More...
 
typedef RangeFunction::RangeFieldType RangeFieldType
 field type of the operator's range More...
 

Public Member Functions

 SparseRowLinearOperator (const std::string &, const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace, const SolverParameter &param=SolverParameter())
 
virtual void operator() (const DomainFunction &arg, RangeFunction &dest) const
 
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 More...
 
MatrixTypeexportMatrix () const
 get reference to storage object More...
 
const DomainSpaceTypedomainSpace () const
 get domain space (i.e. space that builds the rows) More...
 
const RangeSpaceTyperangeSpace () const
 get range space (i.e. space that builds the columns) More...
 
MatrixTypeexportMatrix () const
 get reference to storage object More...
 
ObjectTypenewObject () const
 interface method from LocalMatrixFactory More...
 
LocalMatrixType localMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity) const
 
LocalMatrixType localMatrix () const
 
LocalColumnObjectType localColumn (const DomainEntityType &domainEntity) const
 get local column More...
 
void unitRow (const size_type row)
 
void addBlock (const size_type row, const size_type col, const LocalBlock &block)
 
void setBlock (const size_type row, const size_type col, const LocalBlock &block)
 
void addLocalMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity, const LocalMatrix &localMat)
 
void addScaledLocalMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity, const LocalMatrix &localMat, const Scalar &s)
 
void setLocalMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity, const LocalMatrix &localMat)
 
void getLocalMatrix (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity, LocalMatrix &localMat) const
 
void clear ()
 clear matrix More...
 
void compress ()
 compress matrix to a real CRS format More...
 
void reserve (const std::vector< Set > &sparsityPattern)
 
void reserve (const Stencil &stencil, bool verbose=false)
 reserve memory More...
 
void apply (const DomainFunction &arg, RangeFunction &dest) const
 apply matrix to discrete function More...
 
void extractDiagonal (DiscreteFunctionType &diag) const
 
void setUnitRows (const Vector &rows)
 
void resort ()
 resort row numbering in matrix to have ascending numbering More...
 
virtual void flushAssembly ()
 commit intermediate states of linear operator assembly More...
 
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...
 

Static Public Attributes

static constexpr bool assembled = true
 
static const size_type domainLocalBlockSize
 
static const size_type rangeLocalBlockSize
 

Protected Member Functions

MatrixTypematrix () const
 get reference to storage object, for internal use More...
 
void finalizeAssembly () const
 

Protected Attributes

const DomainSpaceTypedomainSpace_
 
const RangeSpaceTyperangeSpace_
 
DomainMapperType domainMapper_
 
RangeMapperType rangeMapper_
 
int sequence_
 
MatrixType matrix_
 
bool preconditioning_
 
LocalMatrixStackType localMatrixStack_
 
std::type_index assembleOperation_
 
std::size_t assembleCount_
 

Detailed Description

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

SparseRowLinearOperator.

Member Typedef Documentation

◆ BaseType

template<class DomainFunction , class RangeFunction , class Matrix = SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType >>
typedef SparseRowMatrixObject< DomainSpaceType, RangeSpaceType, Matrix > Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >::BaseType

◆ block_type

typedef MatrixBlockType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::block_type
inherited

◆ ColumnEntityType

typedef DomainSpaceType::EntityType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::ColumnEntityType
inherited

◆ DomainBlockMapperType

typedef DomainSpaceType::BlockMapperType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::DomainBlockMapperType
inherited

◆ DomainEntityType

typedef DomainSpaceType::EntityType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::DomainEntityType
inherited

◆ DomainFieldType

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

field type of the operator's domain

◆ DomainFunctionType

typedef DomainFunction Dune::Fem::Operator< DomainFunction, DomainFunction >::DomainFunctionType
inherited

type of discrete function in the operator's domain

◆ DomainMapperType

typedef NonBlockMapper< DomainBlockMapperType, DomainSpaceType::localBlockSize > Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::DomainMapperType
inherited

◆ DomainSpaceType

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

◆ field_type

typedef MatrixType::field_type Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::field_type
inherited

◆ LocalColumnObjectType

typedef ColumnObject< ThisType > Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::LocalColumnObjectType
inherited

◆ LocalMatrixFactoryType

typedef ThisType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::LocalMatrixFactoryType
inherited

◆ LocalMatrixStackType

typedef Fem::ObjectStack< LocalMatrixFactoryType > Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::LocalMatrixStackType
inherited

◆ LocalMatrixType

typedef LocalMatrixWrapper< LocalMatrixStackType > Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::LocalMatrixType
inherited

◆ MatrixBlockType

typedef Dune::FieldMatrix< field_type, rangeLocalBlockSize, domainLocalBlockSize > Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::MatrixBlockType
inherited

◆ MatrixType

typedef SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::MatrixType
inherited

◆ ObjectType

typedef LocalMatrix<ThisType> Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::ObjectType
inherited

◆ PreconditionMatrixType

typedef MatrixType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::PreconditionMatrixType
inherited

◆ RangeBlockMapperType

typedef RangeSpaceType::BlockMapperType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::RangeBlockMapperType
inherited

◆ RangeEntityType

typedef RangeSpaceType::EntityType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::RangeEntityType
inherited

◆ RangeFieldType

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

field type of the operator's range

◆ RangeFunctionType

typedef DomainFunction Dune::Fem::Operator< DomainFunction, DomainFunction >::RangeFunctionType
inherited

type of discrete function in the operator's range

◆ RangeMapperType

typedef NonBlockMapper< RangeBlockMapperType, RangeSpaceType::localBlockSize > Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::RangeMapperType
inherited

◆ RangeSpaceType

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

◆ RowEntityType

typedef RangeSpaceType::EntityType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::RowEntityType
inherited

◆ size_type

typedef MatrixType::size_type Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::size_type
inherited

◆ ThisType

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

Constructor & Destructor Documentation

◆ SparseRowLinearOperator()

template<class DomainFunction , class RangeFunction , class Matrix = SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType >>
Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >::SparseRowLinearOperator ( const std::string &  ,
const DomainSpaceType domainSpace,
const RangeSpaceType rangeSpace,
const SolverParameter param = SolverParameter() 
)
inline

Member Function Documentation

◆ addBlock()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::addBlock ( const size_type  row,
const size_type  col,
const LocalBlock &  block 
)
inlineinherited

◆ addLocalMatrix()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::addLocalMatrix ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity,
const LocalMatrix &  localMat 
)
inlineinherited

◆ addScaledLocalMatrix()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::addScaledLocalMatrix ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity,
const LocalMatrix &  localMat,
const Scalar &  s 
)
inlineinherited

◆ apply() [1/2]

template<class DomainFunction , class RangeFunction , class Matrix = SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType >>
template<class DomainFunction , class RangeFunction >
void Dune::Fem::SparseRowMatrixObject< DomainSpace, RangeSpace, Matrix >::apply ( class DomainFunction  ,
class RangeFunction   
)
inline

apply matrix to discrete function

◆ apply() [2/2]

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::apply ( const DomainFunction &  arg,
RangeFunction &  dest 
) const
inlineinherited

apply matrix to discrete function

◆ 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()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::clear ( )
inlineinherited

clear matrix

◆ compress()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::compress ( )
inlineinherited

compress matrix to a real CRS format

◆ domainSpace()

const DomainSpaceType& Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::domainSpace ( ) const
inlineinherited

get domain space (i.e. space that builds the rows)

◆ 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() [1/2]

template<class DomainFunction , class RangeFunction , class Matrix = SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType >>
MatrixType& Dune::Fem::SparseRowMatrixObject< DomainSpace, RangeSpace, Matrix >::exportMatrix
inline

get reference to storage object

◆ exportMatrix() [2/2]

MatrixType& Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::exportMatrix ( ) const
inlineinherited

get reference to storage object

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

◆ finalizeAssembly()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::finalizeAssembly ( ) const
inlineprotectedinherited

◆ flushAssembly()

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

commit intermediate states of linear operator assembly

◆ getLocalMatrix()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::getLocalMatrix ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity,
LocalMatrix &  localMat 
) const
inlineinherited

◆ localColumn()

LocalColumnObjectType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::localColumn ( const DomainEntityType domainEntity) const
inlineinherited

get local column

◆ 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

◆ matrix()

MatrixType& Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::matrix ( ) const
inlineprotectedinherited

get reference to storage object, for internal use

◆ newObject()

ObjectType* Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::newObject ( ) const
inlineinherited

interface method from LocalMatrixFactory

◆ operator()() [1/2]

template<class DomainFunction , class RangeFunction , class Matrix = SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType >>
virtual void Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >::operator() ( const DomainFunction &  arg,
RangeFunction &  dest 
) const
inlinevirtual

◆ operator()() [2/2]

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.

◆ rangeSpace()

const RangeSpaceType& Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::rangeSpace ( ) const
inlineinherited

get range space (i.e. space that builds the columns)

◆ reserve() [1/2]

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::reserve ( const std::vector< Set > &  sparsityPattern)
inlineinherited

◆ reserve() [2/2]

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::reserve ( const Stencil stencil,
bool  verbose = false 
)
inlineinherited

reserve memory

◆ resort()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::resort ( )
inlineinherited

resort row numbering in matrix to have ascending numbering

◆ setBlock()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::setBlock ( const size_type  row,
const size_type  col,
const LocalBlock &  block 
)
inlineinherited

◆ setLocalMatrix()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::setLocalMatrix ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity,
const LocalMatrix &  localMat 
)
inlineinherited

◆ setUnitRows()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::setUnitRows ( const Vector &  rows)
inlineinherited

◆ symmetric()

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

Return true if the Operator is symmetric.

◆ unitRow()

void Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::unitRow ( const size_type  row)
inlineinherited

Member Data Documentation

◆ assembleCount_

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

◆ assembled

template<class DomainFunction , class RangeFunction , class Matrix = SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType >>
constexpr bool Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >::assembled = true
staticconstexpr

◆ assembleOperation_

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

◆ domainLocalBlockSize

const size_type Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::domainLocalBlockSize
staticinherited

◆ domainMapper_

DomainMapperType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::domainMapper_
protectedinherited

◆ domainSpace_

const DomainSpaceType& Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::domainSpace_
protectedinherited

◆ localMatrixStack_

LocalMatrixStackType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::localMatrixStack_
mutableprotectedinherited

◆ matrix_

MatrixType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::matrix_
mutableprotectedinherited

◆ preconditioning_

bool Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::preconditioning_
protectedinherited

◆ rangeLocalBlockSize

const size_type Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::rangeLocalBlockSize
staticinherited

◆ rangeMapper_

RangeMapperType Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::rangeMapper_
protectedinherited

◆ rangeSpace_

const RangeSpaceType& Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::rangeSpace_
protectedinherited

◆ sequence_

int Dune::Fem::SparseRowMatrixObject< DomainFunction::DiscreteFunctionSpaceType , RangeFunction::DiscreteFunctionSpaceType , SparseRowMatrix< typename DomainFunction::DiscreteFunctionSpaceType::RangeFieldType > >::sequence_
protectedinherited

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