dune-assembler 2.12
Loading...
Searching...
No Matches
Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets > Class Template Reference

MatrixBackend for Eigen matrices. More...

#include <dune/assembler/backends/eigenbackend.hh>

Public Types

using Matrix = Eigen::SparseMatrix< T, Eigen::RowMajor >
 
using Entry = typename Matrix::Scalar
 
using value_type = Entry
 
using LocalMatrix = Dune::Assembler::FlatMatrix< value_type >
 
using LocalPattern = Dune::Assembler::LocalPatternSet
 

Public Member Functions

 EigenMatrixBackend (Matrix &matrix)
 
 EigenMatrixBackend (Matrix &matrix, std::bool_constant< useTriplets >)
 
auto patternBuilder ()
 
template<class RowMultiIndex , class ColMultiIndex >
const Entry & operator() (const RowMultiIndex &row, const ColMultiIndex &col) const
 
template<class RowMultiIndex , class ColMultiIndex >
Entry & operator() (const RowMultiIndex &row, const ColMultiIndex &col)
 
template<class RowLocalView , class ColLocalView >
void scatter (const RowLocalView &rowLocalView, const ColLocalView &colLocalView, const LocalMatrix &localMatrix, const LocalPattern &localPattern)
 
void setZero ()
 
const Matrix & matrix () const
 Const access to wrapped matrix.
 
Matrix & matrix ()
 Mutable access to wrapped matrix.
 
template<class Value >
void assign (const Value &value)
 Assign value to wrapped matrix.
 

Protected Attributes

Matrix * matrix_
 

Detailed Description

template<class T, bool useTriplets>
class Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >

MatrixBackend for Eigen matrices.

Specialization for SparseMatrix in row-major mode.

Member Typedef Documentation

◆ Entry

template<class T , bool useTriplets>
using Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::Entry = typename Matrix::Scalar

◆ LocalMatrix

template<class T , bool useTriplets>
using Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::LocalMatrix = Dune::Assembler::FlatMatrix<value_type>

◆ LocalPattern

template<class T , bool useTriplets>
using Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::LocalPattern = Dune::Assembler::LocalPatternSet

◆ Matrix

template<class T , bool useTriplets>
using Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::Matrix = Eigen::SparseMatrix<T, Eigen::RowMajor>

◆ value_type

template<class T , bool useTriplets>
using Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::value_type = Entry

Constructor & Destructor Documentation

◆ EigenMatrixBackend() [1/2]

template<class T , bool useTriplets>
Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::EigenMatrixBackend ( Matrix &  matrix)
inline

◆ EigenMatrixBackend() [2/2]

template<class T , bool useTriplets>
Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::EigenMatrixBackend ( Matrix &  matrix,
std::bool_constant< useTriplets >   
)
inline

Member Function Documentation

◆ assign()

template<class T , bool useTriplets>
template<class Value >
void Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::assign ( const Value &  value)
inline

Assign value to wrapped matrix.

◆ matrix() [1/2]

template<class T , bool useTriplets>
Matrix & Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::matrix ( )
inline

Mutable access to wrapped matrix.

◆ matrix() [2/2]

template<class T , bool useTriplets>
const Matrix & Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::matrix ( ) const
inline

Const access to wrapped matrix.

◆ operator()() [1/2]

template<class T , bool useTriplets>
Entry & Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::operator() ( const RowMultiIndex &  row,
const ColMultiIndex &  col 
)
inline

◆ operator()() [2/2]

template<class T , bool useTriplets>
const Entry & Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::operator() ( const RowMultiIndex &  row,
const ColMultiIndex &  col 
) const
inline

◆ patternBuilder()

template<class T , bool useTriplets>
auto Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::patternBuilder ( )
inline

◆ scatter()

template<class T , bool useTriplets>
template<class RowLocalView , class ColLocalView >
void Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::scatter ( const RowLocalView &  rowLocalView,
const ColLocalView &  colLocalView,
const LocalMatrix &  localMatrix,
const LocalPattern &  localPattern 
)
inline

◆ setZero()

template<class T , bool useTriplets>
void Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::setZero ( )
inline

Member Data Documentation

◆ matrix_

template<class T , bool useTriplets>
Matrix* Dune::Assembler::EigenMatrixBackend< typename Eigen::SparseMatrix< T, Eigen::RowMajor >, useTriplets >::matrix_
protected

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