dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix Class Reference

#include <dune/fem/operator/matrix/densematrix.hh>

Inheritance diagram for Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix:
Inheritance graph

Public Types

typedef LocalMatrixTraits Traits
 
typedef MatrixObject::MatrixType MatrixType
 
typedef Traits::RangeFieldType RangeFieldType
 
typedef Traits::LittleBlockType LittleBlockType
 
typedef RangeFieldType DofType
 
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 MatrixColumnObject< TraitsMatrixColumnType
 

Public Member Functions

 LocalMatrix (MatrixType &matrix, const DomainSpaceType &domainSpace, const RangeSpaceType &rangeSpace, const DomainMapperType &domainMapper, const RangeMapperType &rangeMapper)
 
 LocalMatrix (const ThisType &)=delete
 
ThisTypeoperator= (const ThisType &)=delete
 
void init (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 
int rows () const
 
int cols () const
 
void add (const int row, const int col, const DofType &value)
 
const DofTypeget (const int row, const int col) const
 
void set (const int row, const int col, const DofType &value)
 
void clearRow (const int row)
 
void unitRow (const int row)
 
void clear ()
 
void scale (const DofType &value)
 
void init (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 initialize the local matrix to entities
 
void bind (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 initialize the local matrix to entities
 
void unbind ()
 clear local matrix from entities
 
void resort ()
 resort ordering in global matrix (if possible)
 
void finalize ()
 finalize local matrix setup and possibly add values to real matrix
 
int columns () const
 get number of columns within the matrix
 
const DomainSpaceTypedomainSpace () const
 access to the domain space
 
const RangeSpaceTyperangeSpace () const
 access to the range space
 
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
 
const DomainEntityTypedomainEntity () const
 
const RangeEntityTyperangeEntity () const
 
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
 
void clearCol (const int localCol)
 ser column entries to zero
 
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
 
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
 
void scale (const RangeFieldType &scalar)
 scale matrix with scalar value
 
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)
 

Protected Attributes

const DomainSpaceTypedomainSpace_
 
const RangeSpaceTyperangeSpace_
 
DomainBasisFunctionSetType domainBaseSet_
 
RangeBasisFunctionSetType rangeBaseSet_
 
std::optional< DomainEntityTypedomainEntity_
 
std::optional< RangeEntityTyperangeEntity_
 

Member Typedef Documentation

◆ DofType

template<class DomainSpace , class RangeSpace >
typedef RangeFieldType Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::DofType

◆ DomainBasisFunctionSetType

template<class LocalMatrixTraits >
typedef BaseType::DomainBasisFunctionSetType Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::DomainBasisFunctionSetType
inherited

◆ DomainEntityType

template<class LocalMatrixTraits >
typedef BaseType::DomainEntityType Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::DomainEntityType
inherited

◆ DomainSpaceType

template<class LocalMatrixTraits >
typedef BaseType::DomainSpaceType Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::DomainSpaceType
inherited

◆ LittleBlockType

template<class DomainSpace , class RangeSpace >
typedef Traits::LittleBlockType Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::LittleBlockType

◆ 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

◆ MatrixType

template<class DomainSpace , class RangeSpace >
typedef MatrixObject::MatrixType Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::MatrixType

◆ RangeBasisFunctionSetType

template<class LocalMatrixTraits >
typedef BaseType::RangeBasisFunctionSetType Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::RangeBasisFunctionSetType
inherited

◆ RangeEntityType

template<class LocalMatrixTraits >
typedef BaseType::RangeEntityType Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::RangeEntityType
inherited

◆ RangeFieldType

template<class DomainSpace , class RangeSpace >
typedef Traits::RangeFieldType Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::RangeFieldType

◆ RangeSpaceType

template<class LocalMatrixTraits >
typedef BaseType::RangeSpaceType Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::RangeSpaceType
inherited

◆ Traits

template<class DomainSpace , class RangeSpace >
typedef LocalMatrixTraits Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::Traits

Constructor & Destructor Documentation

◆ LocalMatrix() [1/2]

template<class DomainSpace , class RangeSpace >
Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::LocalMatrix ( MatrixType matrix,
const DomainSpaceType domainSpace,
const RangeSpaceType rangeSpace,
const DomainMapperType domainMapper,
const RangeMapperType rangeMapper 
)
inline

◆ LocalMatrix() [2/2]

template<class DomainSpace , class RangeSpace >
Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::LocalMatrix ( const ThisType )
delete

Member Function Documentation

◆ add() [1/2]

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::add ( const int  localRow,
const int  localCol,
const RangeFieldType value 
)
inlineinherited

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

◆ add() [2/2]

template<class DomainSpace , class RangeSpace >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::add ( const int  row,
const int  col,
const DofType 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::LocalMatrixDefault< 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 DomainSpace , class RangeSpace >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::clear ( )
inline

◆ clearCol()

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::clearCol ( const int  localCol)
inlineinherited

ser column entries to zero

Parameters
[in]localCollocal column that is set to zero

◆ clearRow()

template<class DomainSpace , class RangeSpace >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::clearRow ( const int  row)
inline

◆ cols()

template<class DomainSpace , class RangeSpace >
int Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::cols ( ) const
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 LocalMatrixTraits >
int Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::columns ( ) const
inlineinherited

get number of columns within the matrix

◆ domainBasisFunctionSet()

template<class LocalMatrixTraits >
const DomainBasisFunctionSetType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainBasisFunctionSet ( ) const
inlineinherited

access to the base function set within the domain space

◆ domainEntity()

template<class LocalMatrixTraits >
const DomainEntityType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainEntity ( ) const
inlineinherited

◆ domainSpace()

template<class LocalMatrixTraits >
const DomainSpaceType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainSpace ( ) const
inlineinherited

access to the domain space

◆ finalize()

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::finalize ( )
inlineinherited

finalize local matrix setup and possibly add values to real matrix

◆ get()

template<class DomainSpace , class RangeSpace >
const DofType & Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::get ( const int  row,
const int  col 
) const
inline

◆ init() [1/2]

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::init ( 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

◆ init() [2/2]

template<class DomainSpace , class RangeSpace >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::init ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity 
)
inline

◆ multiplyAdd()

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

◆ operator=()

template<class DomainSpace , class RangeSpace >
ThisType & Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::operator= ( const ThisType )
delete

◆ rangeBasisFunctionSet()

template<class LocalMatrixTraits >
const RangeBasisFunctionSetType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeBasisFunctionSet ( ) const
inlineinherited

access to the base function set within the range space

◆ rangeEntity()

template<class LocalMatrixTraits >
const RangeEntityType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeEntity ( ) const
inlineinherited

◆ rangeSpace()

template<class LocalMatrixTraits >
const RangeSpaceType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeSpace ( ) const
inlineinherited

access to the range space

◆ resort()

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::resort ( )
inlineinherited

resort ordering in global matrix (if possible)

◆ rows()

template<class DomainSpace , class RangeSpace >
int Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::rows ( ) const
inline

◆ scale() [1/2]

template<class DomainSpace , class RangeSpace >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::scale ( const DofType value)
inline

◆ scale() [2/2]

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::scale ( const RangeFieldType scalar)
inlineinherited

scale matrix with scalar value

Parameters
[in]scalarscalar value that scales the matrix

◆ set() [1/2]

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::set ( const int  localRow,
const int  localCol,
const RangeFieldType value 
)
inlineinherited

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

◆ set() [2/2]

template<class DomainSpace , class RangeSpace >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::set ( const int  row,
const int  col,
const DofType value 
)
inline

◆ unbind()

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

clear local matrix from entities

◆ unitRow()

template<class DomainSpace , class RangeSpace >
void Dune::Fem::DenseRowMatrixObject< DomainSpace, RangeSpace >::LocalMatrix::unitRow ( const int  row)
inline

Member Data Documentation

◆ domainBaseSet_

template<class LocalMatrixTraits >
DomainBasisFunctionSetType Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainBaseSet_
protectedinherited

◆ domainEntity_

template<class LocalMatrixTraits >
std::optional< DomainEntityType > Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainEntity_
protectedinherited

◆ domainSpace_

template<class DomainSpace , class RangeSpace >
const DomainSpaceType& Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainSpace_
protected

◆ rangeBaseSet_

template<class LocalMatrixTraits >
RangeBasisFunctionSetType Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeBaseSet_
protectedinherited

◆ rangeEntity_

template<class LocalMatrixTraits >
std::optional< RangeEntityType > Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeEntity_
protectedinherited

◆ rangeSpace_

template<class DomainSpace , class RangeSpace >
const RangeSpaceType& Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeSpace_
protected

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