|
dune-fem
2.8-git
|
A local matrix with a small array as storage. More...
#include <dune/fem/operator/common/temporarylocalmatrix.hh>

Public Member Functions | |
| TemporaryLocalMatrix (const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace) | |
| template<class DomainEntityType , class RangeEntityType > | |
| TemporaryLocalMatrix (const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace, const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity) | |
| template<class DomainEntityType , class RangeEntityType > | |
| void | init (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity) |
| initialize the local matrix to entities More... | |
| template<class DomainEntityType , class RangeEntityType > | |
| void | bind (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity) |
| initialize the local matrix to entities More... | |
| void | unbind () |
| clear local matrix from entities More... | |
| void | add (const int localRow, const int localCol, const RangeFieldType &value) |
| add value to matrix entry (row,col) where row and col are local row and local column More... | |
| void | set (const int localRow, const int localCol, const RangeFieldType &value) |
| set value of matrix entry (row,col) where row and col are local row and local column More... | |
| const RangeFieldType | get (const int localRow, const int localCol) const |
| get value of matrix entry (row,col) where row and col are local row and local column More... | |
| void | scale (const RangeFieldType &value) |
| scale matrix with scalar value More... | |
| void | clear () |
| set all entries of local matrix to zero More... | |
| void | clearRow (const int localRow) |
| set row to zero values More... | |
| size_type | rows () const |
| size_type | cols () const |
| size_type | columns () const |
| size_type | mat_rows () const |
| size_type | mat_cols () const |
| row_reference | mat_access (size_type i) |
| const_row_reference | mat_access (size_type i) const |
| const RangeFieldType * | data () const |
| void | resize (int rows, int cols) |
| TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp > & | operator() (int row, int col) |
| const TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp > & | operator() (int row, int col) const |
| RowType & | operator[] (int row) |
| const RowType & | operator[] (int row) const |
| void | mult (const TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp > *vec, RowType &result) const |
| void | mult (const RowType &vec, RowType &result) const |
| void | multOEM (const TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp > *vec, TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp > *result) const |
| void | multTransposed (const RowType &vec, RowType &result) const |
| void | multiply (const DenseMatrix &A, const DenseMatrix &B) |
| void | multiplyTransposed (const DenseMatrix &A, const DenseMatrix &B) |
| void | multiply_AT_A (const DenseMatrix &A) |
| this = A^T * A More... | |
| void | scale (const TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp > &val) |
| scale matrix with scalar More... | |
| DenseMatrix< TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp > > & | operator+= (const DenseMatrix &org) |
| add matrix More... | |
| DenseMatrix< TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp > > & | operator-= (const DenseMatrix &org) |
| substract matrix More... | |
| void | print (std::ostream &s=std::cout) const |
| print matrix More... | |
| void | resort () |
| resort ordering in global matrix (if possible) More... | |
| void | finalize () |
| finalize local matrix setup and possibly add values to real matrix More... | |
| const DomainSpaceType & | domainSpace () const |
| access to the domain space More... | |
| const RangeSpaceType & | rangeSpace () const |
| access to the range space More... | |
| const DomainBasisFunctionSetType & | domainBasisFunctionSet () const |
| access to the base function set within the domain space More... | |
| const RangeBasisFunctionSetType & | rangeBasisFunctionSet () const |
| access to the base function set within the range space More... | |
| const DomainEntityType & | domainEntity () const |
| const RangeEntityType & | rangeEntity () const |
| void | multiplyAdd (const DomainLocalFunctionType &lhs, RangeLocalFunctionType &rhs) const |
| multiply left hand side with local matrix and add to right hand side rhs += Matrix * lhs More... | |
| void | clearCol (const int localCol) |
| ser column entries to zero More... | |
| MatrixColumnType | column (const unsigned int col) |
| return column object for local matrix which contains axpy methods for convenience More... | |
Protected Member Functions | |
| const Implementation & | asImp () const |
| Implementation & | asImp () |
| const LocalMatrixTraits::LocalMatrixType & | asImp () const |
Static Protected Member Functions | |
| static const Implementation & | asImp (const ThisType &other) |
| static Implementation & | asImp (ThisType &other) |
| static const LocalMatrixTraits::LocalMatrixType & | asImp (const ThisType &other) |
| static LocalMatrixTraits::LocalMatrixType & | asImp (ThisType &other) |
Protected Attributes | |
| MatrixEntriesType | fields_ |
| const DomainSpaceType & | domainSpace_ |
| const RangeSpaceType & | rangeSpace_ |
| DomainBasisFunctionSetType | domainBaseSet_ |
| RangeBasisFunctionSetType | rangeBaseSet_ |
A local matrix with a small array as storage.
A TemporaryLocalMatrix is an implementation of the LocalMatrixInterface storing the matrix values in an array. It is useful when generating multiple local matrices that shall then be added together.
| DomainSpaceImp | DiscreteFunctionSpace modelling the domain |
| RangeSpaceImp | DiscreteFunctionSpace modelling the range |
| typedef RowReferenceVector< const value_type > Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::const_row_reference |
|
inherited |
|
inherited |
| typedef Traits :: DomainFieldType Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::DomainFieldType |
| typedef DomainSpaceImp Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::DomainSpaceType |
|
inherited |
type of block (i.e. FieldMatrix for BlockMatrices
|
inherited |
type of this interface
|
inherited |
type of local matrix implementation
|
inherited |
| typedef std::vector< RangeFieldType > Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::MatrixEntriesType |
|
inherited |
|
inherited |
| typedef Traits :: RangeFieldType Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::RangeFieldType |
| typedef RangeSpaceImp Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::RangeSpaceType |
| typedef RowReferenceVector< value_type > Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::row_reference |
|
inherited |
remember the value type
| typedef int Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::size_type |
| typedef TemporaryLocalMatrixTraits< DomainSpaceType, RangeSpaceType > Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::Traits |
|
inherited |
| typedef RangeFieldType Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::value_type |
|
inline |
|
inline |
|
inline |
add value to matrix entry (row,col) where row and col are local row and local column
| [in] | localRow | local row |
| [in] | localCol | local column |
| [in] | value | value to add |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inline |
initialize the local matrix to entities
| [in] | domainEntity | entity within grid of domain space, |
| [in] | rangeEntity | entity within grid of range space |
|
inline |
set all entries of local matrix to zero
|
inlineinherited |
ser column entries to zero
| [in] | localCol | local column that is set to zero |
|
inline |
set row to zero values
| [in] | localRow | local row that is set to zero |
|
inline |
|
inlineinherited |
return column object for local matrix which contains axpy methods for convenience
| col | local column number |
|
inline |
|
inline |
|
inlineinherited |
access to the base function set within the domain space
|
inlineinherited |
|
inlineinherited |
access to the domain space
|
inlineinherited |
finalize local matrix setup and possibly add values to real matrix
|
inline |
get value of matrix entry (row,col) where row and col are local row and local column
| [in] | localRow | local row |
| [in] | localCol | local column |
|
inline |
initialize the local matrix to entities
| [in] | domainEntity | entity within grid of domain space, |
| [in] | rangeEntity | entity within grid of range space |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
this = A^T * A
|
inlineinherited |
multiply left hand side with local matrix and add to right hand side rhs += Matrix * lhs
| [in] | lhs | left hand side |
| [out] | rhs | right hand side |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
add matrix
|
inlineinherited |
substract matrix
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
print matrix
|
inlineinherited |
access to the base function set within the range space
|
inlineinherited |
|
inlineinherited |
access to the range space
|
inlineinherited |
|
inlineinherited |
resort ordering in global matrix (if possible)
|
inline |
|
inline |
scale matrix with scalar value
| [in] | scalar | scalar value that scales the matrix |
|
inlineinherited |
scale matrix with scalar
|
inline |
set value of matrix entry (row,col) where row and col are local row and local column
| [in] | localRow | local row |
| [in] | localCol | local column |
| [in] | value | value to set |
|
inline |
clear local matrix from entities
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |