dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
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< TraitsMatrixColumnType
 

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 DomainSpaceTypedomainSpace () const
 
const RangeSpaceTyperangeSpace () const
 
const DomainBasisFunctionSetTypedomainBasisFunctionSet () const
 
const RangeBasisFunctionSetTyperangeBasisFunctionSet () const
 
const DomainEntityTypedomainEntity () const
 
const RangeEntityTyperangeEntity () 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::LocalMatrixTypeasImp (const ThisType &other)
 
static LocalMatrixTraits::LocalMatrixTypeasImp (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: