dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix Class Reference

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

Inheritance diagram for Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix:
Inheritance graph

Public Types

typedef BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock > OperatorType
 
typedef BaseType::RangeFieldType RangeFieldType
 
typedef BaseType::DomainBasisFunctionSetType DomainBasisFunctionSetType
 
typedef BaseType::RangeBasisFunctionSetType RangeBasisFunctionSetType
 
typedef BaseType::DomainEntityType DomainEntityType
 
typedef BaseType::RangeEntityType RangeEntityType
 
typedef LocalMatrixTraits Traits
 type of traits class
 
typedef ThisType LocalMatrixInterfaceType
 type of this interface
 
typedef Traits::LocalMatrixType LocalMatrixType
 type of local matrix implementation
 
typedef Traits::DomainSpaceType DomainSpaceType
 type of domain discrete function space
 
typedef Traits::RangeSpaceType RangeSpaceType
 type of range discrete function space
 
typedef Traits::LittleBlockType LittleBlockType
 
typedef MatrixColumnObject< Traits > MatrixColumnType
 

Public Member Functions

 LocalMatrix (OperatorType &op)
 
void init (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 
void clear ()
 
void scale (const RangeFieldType &a)
 
RangeFieldType get (int i, int j) const
 
void add (int i, int j, const RangeFieldType &value)
 
void set (int i, int j, const RangeFieldType &value)
 
void clearRow (int i)
 
void clearCol (int j)
 
template<class DomainLocalFunction , class RangeLocalFunction >
void multiplyAdd (const DomainLocalFunction &x, RangeLocalFunction &y) const
 
void finalize ()
 
void resort ()
 
int rows () const
 
int columns () const
 
const DomainSpaceType & domainSpace () const
 
const RangeSpaceType & rangeSpace () const
 
const DomainBasisFunctionSetType & domainBasisFunctionSet () const
 
const RangeBasisFunctionSetType & rangeBasisFunctionSet () const
 
const DomainEntityType & domainEntity () const
 
const RangeEntityType & rangeEntity () const
 
void bind (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 initialize the local matrix to entities
 
void unbind ()
 clear local matrix from entities
 
template<class DomainLocalFunctionType , class RangeLocalFunctionType >
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
 

Protected Member Functions

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

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)
 

Member Typedef Documentation

◆ DomainBasisFunctionSetType

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
typedef BaseType::DomainBasisFunctionSetType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::DomainBasisFunctionSetType

◆ DomainEntityType

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
typedef BaseType::DomainEntityType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::DomainEntityType

◆ DomainSpaceType

template<class LocalMatrixTraits >
typedef Traits::DomainSpaceType Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::DomainSpaceType
inherited

type of domain discrete function space

◆ LittleBlockType

template<class LocalMatrixTraits >
typedef Traits::LittleBlockType Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::LittleBlockType
inherited

type of block (i.e. FieldMatrix for BlockMatrices

◆ LocalMatrixInterfaceType

template<class LocalMatrixTraits >
typedef ThisType Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::LocalMatrixInterfaceType
inherited

type of this interface

◆ LocalMatrixType

template<class LocalMatrixTraits >
typedef Traits::LocalMatrixType Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::LocalMatrixType
inherited

type of local matrix implementation

◆ MatrixColumnType

template<class LocalMatrixTraits >
typedef MatrixColumnObject< Traits > Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::MatrixColumnType
inherited

◆ OperatorType

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
typedef BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock > Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::OperatorType

◆ RangeBasisFunctionSetType

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
typedef BaseType::RangeBasisFunctionSetType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::RangeBasisFunctionSetType

◆ RangeEntityType

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
typedef BaseType::RangeEntityType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::RangeEntityType

◆ RangeFieldType

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
typedef BaseType::RangeFieldType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::RangeFieldType

◆ RangeSpaceType

template<class LocalMatrixTraits >
typedef Traits::RangeSpaceType Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::RangeSpaceType
inherited

type of range discrete function space

◆ Traits

type of traits class

Constructor & Destructor Documentation

◆ LocalMatrix()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::LocalMatrix ( OperatorType &  op)
inlineexplicit

Member Function Documentation

◆ add()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
void Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::add ( int  i,
int  j,
const RangeFieldType &  value 
)
inline

◆ asImp() [1/6]

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

◆ asImp() [2/6]

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

◆ asImp() [3/6]

◆ asImp() [4/6]

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

◆ asImp() [5/6]

◆ asImp() [6/6]

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

◆ bind()

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::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 DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
void Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::clear ( )
inline

◆ clearCol()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
void Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::clearCol ( int  j)
inline

◆ clearRow()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
void Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::clearRow ( int  i)
inline

◆ column()

template<class LocalMatrixTraits >
MatrixColumnType Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::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 DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
int Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::columns ( ) const
inline

◆ domainBasisFunctionSet()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
const DomainBasisFunctionSetType & Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::domainBasisFunctionSet ( ) const
inline

◆ domainEntity()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
const DomainEntityType & Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::domainEntity ( ) const
inline

◆ domainSpace()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
const DomainSpaceType & Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::domainSpace ( ) const
inline

◆ finalize()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
void Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::finalize ( )
inline

◆ get()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
RangeFieldType Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::get ( int  i,
int  j 
) const
inline

◆ init()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
void Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::init ( const DomainEntityType &  domainEntity,
const RangeEntityType &  rangeEntity 
)
inline

◆ multiplyAdd() [1/2]

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
template<class DomainLocalFunction , class RangeLocalFunction >
void Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::multiplyAdd ( const DomainLocalFunction &  x,
RangeLocalFunction &  y 
) const
inline

◆ multiplyAdd() [2/2]

template<class LocalMatrixTraits >
template<class DomainLocalFunctionType , class RangeLocalFunctionType >
void Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::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

◆ rangeBasisFunctionSet()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
const RangeBasisFunctionSetType & Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::rangeBasisFunctionSet ( ) const
inline

◆ rangeEntity()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
const RangeEntityType & Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::rangeEntity ( ) const
inline

◆ rangeSpace()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
const RangeSpaceType & Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::rangeSpace ( ) const
inline

◆ resort()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
void Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::resort ( )
inline

◆ rows()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
int Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::rows ( ) const
inline

◆ scale()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
void Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::scale ( const RangeFieldType &  a)
inline

◆ set()

template<class DiscreteFunctionSpace , class LocalBlock = Dune::FieldMatrix< typename DiscreteFunctionSpace :: RangeFieldType, DiscreteFunctionSpace::localBlockSize, DiscreteFunctionSpace::localBlockSize >>
void Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >::LocalMatrix::set ( int  i,
int  j,
const RangeFieldType &  value 
)
inline

◆ unbind()

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::unbind ( )
inlineinherited

clear local matrix from entities


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