dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
Dune::Fem::LocalMatrixWrapper< LocalMatrixStack > Class Template Reference

#include <dune/fem/operator/common/localmatrixwrapper.hh>

Inheritance diagram for Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >:
Inheritance graph

Public Types

typedef LocalMatrixStack LocalMatrixStackType
 type of the local matrix stack
 
typedef LocalMatrixWrapperTraits< LocalMatrixStackTypeTraits
 type of the traits
 
typedef Traits::WrappedLocalMatrixType WrappedLocalMatrixType
 type of the wrapped local matrix
 
typedef Traits::RangeFieldType RangeFieldType
 
typedef BaseType::DomainSpaceType DomainSpaceType
 
typedef BaseType::RangeSpaceType RangeSpaceType
 
typedef BaseType::DomainBasisFunctionSetType DomainBasisFunctionSetType
 
typedef BaseType::RangeBasisFunctionSetType RangeBasisFunctionSetType
 
typedef BaseType::DomainEntityType DomainEntityType
 
typedef BaseType::RangeEntityType RangeEntityType
 
typedef ThisType LocalMatrixInterfaceType
 type of this interface
 
typedef Traits::LocalMatrixType LocalMatrixType
 type of local matrix implementation
 
typedef Traits::LittleBlockType LittleBlockType
 
typedef MatrixColumnObject< TraitsMatrixColumnType
 

Public Member Functions

 LocalMatrixWrapper (LocalMatrixStackType &stack)
 constructor creating an uninitialized local matrix
 
template<class DomainEntityType , class RangeEntityType >
 LocalMatrixWrapper (LocalMatrixStackType &stack, const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 constructor initializing the wrapped local matrix
 
 LocalMatrixWrapper (const ThisType &other)
 copy constructor
 
 ~LocalMatrixWrapper ()
 destructor
 
ThisTypeoperator= (const ThisType &)=delete
 
void init (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 initialize the local matrix to entities
 
void add (int localRow, int localCol, const RangeFieldType &value)
 add value to matrix entry (row,col) where row and col are local row and local column
 
void set (int localRow, int localCol, const RangeFieldType &value)
 set value of matrix entry (row,col) where row and col are local row and local column
 
void clearRow (const int localRow)
 set row to zero values
 
void clearCol (const int localCol)
 set row to zero values
 
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
 
void scale (const RangeFieldType &scalar)
 scale matrix with scalar value
 
void clear ()
 set all entries of local matrix to zero
 
void resort ()
 resort ordering in global matrix (if possible)
 
int rows () const
 get number of rows within the matrix
 
int columns () const
 get number of columns within the matrix
 
template<class DomainLocalFunctionImp , class RangeLocalFunctionImp >
void multiplyAdd (const DomainLocalFunctionImp &dLf, RangeLocalFunctionImp &rLf)
 multiply left hand side with local matrix and add to right hand side rhs += Matrix * lhs
 
const DomainSpaceTypedomainSpace () const
 access to the domain space
 
const RangeSpaceTyperangeSpace () const
 access to the range space
 
const DomainEntityTypedomainEntity () const
 
const RangeEntityTyperangeEntity () const
 
const DomainBasisFunctionSetTypedomainBasisFunctionSet () const
 access to the base function set within the domain space
 
const RangeBasisFunctionSetTyperangeBasisFunctionSet () const
 access to the base function set within the range space
 
void bind (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 initialize the local matrix to entities
 
void unbind ()
 clear local matrix from entities
 
void multiplyAdd (const DomainLocalFunctionType &lhs, RangeLocalFunctionType &rhs) const
 multiply left hand side with local matrix and add to right hand side rhs += Matrix * lhs
 
MatrixColumnType column (const unsigned int col)
 return column object for local matrix which contains axpy methods for convenience
 
void finalize ()
 finalize local matrix setup and possibly add values to real matrix
 

Protected Member Functions

const WrappedLocalMatrixTypelocalMatrix () const
 
WrappedLocalMatrixTypelocalMatrix ()
 
const Implementation & asImp () const
 
Implementation & asImp ()
 

Static Protected Member Functions

static const Implementation & asImp (const ThisType &other)
 
static Implementation & asImp (ThisType &other)
 
static const Implementation & asImp (const ThisType &other)
 
static Implementation & asImp (ThisType &other)
 

Member Typedef Documentation

◆ DomainBasisFunctionSetType

template<class LocalMatrixStack >
typedef BaseType::DomainBasisFunctionSetType Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::DomainBasisFunctionSetType

◆ DomainEntityType

template<class LocalMatrixStack >
typedef BaseType::DomainEntityType Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::DomainEntityType

◆ DomainSpaceType

template<class LocalMatrixStack >
typedef BaseType::DomainSpaceType Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::DomainSpaceType

◆ LittleBlockType

typedef Traits::LittleBlockType Dune::Fem::LocalMatrixInterface< LocalMatrixWrapperTraits< LocalMatrixStack > >::LittleBlockType
inherited

type of block (i.e. FieldMatrix for BlockMatrices

◆ LocalMatrixInterfaceType

typedef ThisType Dune::Fem::LocalMatrixInterface< LocalMatrixWrapperTraits< LocalMatrixStack > >::LocalMatrixInterfaceType
inherited

type of this interface

◆ LocalMatrixStackType

template<class LocalMatrixStack >
typedef LocalMatrixStack Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::LocalMatrixStackType

type of the local matrix stack

◆ LocalMatrixType

typedef Traits::LocalMatrixType Dune::Fem::LocalMatrixInterface< LocalMatrixWrapperTraits< LocalMatrixStack > >::LocalMatrixType
inherited

type of local matrix implementation

◆ MatrixColumnType

typedef MatrixColumnObject< Traits > Dune::Fem::LocalMatrixInterface< LocalMatrixWrapperTraits< LocalMatrixStack > >::MatrixColumnType
inherited

◆ RangeBasisFunctionSetType

template<class LocalMatrixStack >
typedef BaseType::RangeBasisFunctionSetType Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::RangeBasisFunctionSetType

◆ RangeEntityType

template<class LocalMatrixStack >
typedef BaseType::RangeEntityType Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::RangeEntityType

◆ RangeFieldType

template<class LocalMatrixStack >
typedef Traits::RangeFieldType Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::RangeFieldType

◆ RangeSpaceType

template<class LocalMatrixStack >
typedef BaseType::RangeSpaceType Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::RangeSpaceType

◆ Traits

template<class LocalMatrixStack >
typedef LocalMatrixWrapperTraits< LocalMatrixStackType > Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::Traits

type of the traits

◆ WrappedLocalMatrixType

template<class LocalMatrixStack >
typedef Traits::WrappedLocalMatrixType Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::WrappedLocalMatrixType

type of the wrapped local matrix

Constructor & Destructor Documentation

◆ LocalMatrixWrapper() [1/3]

template<class LocalMatrixStack >
Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::LocalMatrixWrapper ( LocalMatrixStackType stack)
inlineexplicit

constructor creating an uninitialized local matrix

◆ LocalMatrixWrapper() [2/3]

template<class LocalMatrixStack >
template<class DomainEntityType , class RangeEntityType >
Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::LocalMatrixWrapper ( LocalMatrixStackType stack,
const DomainEntityType domainEntity,
const RangeEntityType rangeEntity 
)
inline

constructor initializing the wrapped local matrix

◆ LocalMatrixWrapper() [3/3]

template<class LocalMatrixStack >
Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::LocalMatrixWrapper ( const ThisType other)
inline

copy constructor

Parameters
[in]otherLocalMatrixWrapper to copy

◆ ~LocalMatrixWrapper()

template<class LocalMatrixStack >
Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::~LocalMatrixWrapper ( )
inline

destructor

Member Function Documentation

◆ add()

template<class LocalMatrixStack >
void Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::add ( int  localRow,
int  localCol,
const RangeFieldType value 
)
inline

add value to matrix entry (row,col) where row and col are local row and local column

Parameters
[in]localRowlocal row
[in]localCollocal column
[in]valuevalue to add

◆ asImp() [1/6]

Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( )
inlineprotectedinherited

◆ asImp() [2/6]

const Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ) const
inlineprotectedinherited

◆ asImp() [3/6]

template<class Interface , class Implementation >
static const Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( const ThisType other)
inlinestaticprotectedinherited

◆ asImp() [4/6]

static const Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( const ThisType other)
inlinestaticprotectedinherited

◆ asImp() [5/6]

template<class Interface , class Implementation >
static Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ThisType other)
inlinestaticprotectedinherited

◆ asImp() [6/6]

static Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ThisType other)
inlinestaticprotectedinherited

◆ bind()

void Dune::Fem::LocalMatrixInterface< LocalMatrixWrapperTraits< LocalMatrixStack > >::bind ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity 
)
inlineinherited

initialize the local matrix to entities

Parameters
[in]domainEntityentity within grid of domain space,
[in]rangeEntityentity within grid of range space

◆ clear()

template<class LocalMatrixStack >
void Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::clear ( )
inline

set all entries of local matrix to zero

◆ clearCol()

template<class LocalMatrixStack >
void Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::clearCol ( const int  localCol)
inline

set row to zero values

Parameters
[in]localRowlocal row that is set to zero

◆ clearRow()

template<class LocalMatrixStack >
void Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::clearRow ( const int  localRow)
inline

set row to zero values

Parameters
[in]localRowlocal row that is set to zero

◆ column()

MatrixColumnType Dune::Fem::LocalMatrixInterface< LocalMatrixWrapperTraits< LocalMatrixStack > >::column ( const unsigned int  col)
inlineinherited

return column object for local matrix which contains axpy methods for convenience

Parameters
collocal column number
Returns
object of type MatrixColumnObject

◆ columns()

template<class LocalMatrixStack >
int Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::columns ( ) const
inline

get number of columns within the matrix

◆ domainBasisFunctionSet()

template<class LocalMatrixStack >
const DomainBasisFunctionSetType & Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::domainBasisFunctionSet ( ) const
inline

access to the base function set within the domain space

◆ domainEntity()

template<class LocalMatrixStack >
const DomainEntityType & Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::domainEntity ( ) const
inline

◆ domainSpace()

template<class LocalMatrixStack >
const DomainSpaceType & Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::domainSpace ( ) const
inline

access to the domain space

◆ finalize()

void Dune::Fem::LocalMatrixInterface< LocalMatrixWrapperTraits< LocalMatrixStack > >::finalize ( )
inlineinherited

finalize local matrix setup and possibly add values to real matrix

◆ get()

template<class LocalMatrixStack >
const RangeFieldType Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::get ( const int  localRow,
const int  localCol 
) const
inline

get value of matrix entry (row,col) where row and col are local row and local column

Parameters
[in]localRowlocal row
[in]localCollocal column
Returns
value of matrix entry

◆ init()

template<class LocalMatrixStack >
void Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::init ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity 
)
inline

initialize the local matrix to entities

Parameters
[in]domainEntityentity within grid of domain space,
[in]rangeEntityentity within grid of range space

◆ localMatrix() [1/2]

template<class LocalMatrixStack >
WrappedLocalMatrixType & Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::localMatrix ( )
inlineprotected

◆ localMatrix() [2/2]

template<class LocalMatrixStack >
const WrappedLocalMatrixType & Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::localMatrix ( ) const
inlineprotected

◆ multiplyAdd() [1/2]

template<class LocalMatrixStack >
template<class DomainLocalFunctionImp , class RangeLocalFunctionImp >
void Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::multiplyAdd ( const DomainLocalFunctionImp &  dLf,
RangeLocalFunctionImp &  rLf 
)
inline

multiply left hand side with local matrix and add to right hand side rhs += Matrix * lhs

Parameters
[in]lhsleft hand side
[out]rhsright hand side

◆ multiplyAdd() [2/2]

void Dune::Fem::LocalMatrixInterface< LocalMatrixWrapperTraits< LocalMatrixStack > >::multiplyAdd ( const DomainLocalFunctionType &  lhs,
RangeLocalFunctionType &  rhs 
) const
inlineinherited

multiply left hand side with local matrix and add to right hand side rhs += Matrix * lhs

Parameters
[in]lhsleft hand side
[out]rhsright hand side

◆ operator=()

template<class LocalMatrixStack >
ThisType & Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::operator= ( const ThisType )
delete

◆ rangeBasisFunctionSet()

template<class LocalMatrixStack >
const RangeBasisFunctionSetType & Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::rangeBasisFunctionSet ( ) const
inline

access to the base function set within the range space

◆ rangeEntity()

template<class LocalMatrixStack >
const RangeEntityType & Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::rangeEntity ( ) const
inline

◆ rangeSpace()

template<class LocalMatrixStack >
const RangeSpaceType & Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::rangeSpace ( ) const
inline

access to the range space

◆ resort()

template<class LocalMatrixStack >
void Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::resort ( )
inline

resort ordering in global matrix (if possible)

◆ rows()

template<class LocalMatrixStack >
int Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::rows ( ) const
inline

get number of rows within the matrix

◆ scale()

template<class LocalMatrixStack >
void Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::scale ( const RangeFieldType scalar)
inline

scale matrix with scalar value

Parameters
[in]scalarscalar value that scales the matrix

◆ set()

template<class LocalMatrixStack >
void Dune::Fem::LocalMatrixWrapper< LocalMatrixStack >::set ( int  localRow,
int  localCol,
const RangeFieldType value 
)
inline

set value of matrix entry (row,col) where row and col are local row and local column

Parameters
[in]localRowlocal row
[in]localCollocal column
[in]valuevalue to set

◆ unbind()

void Dune::Fem::LocalMatrixInterface< LocalMatrixWrapperTraits< LocalMatrixStack > >::unbind ( )
inlineinherited

clear local matrix from entities


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