dune-pdelab 2.10-git
Loading...
Searching...
No Matches
Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I > Class Template Reference

#include <dune/pdelab/backend/simple/sparse.hh>

Inheritance diagram for Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >:
Inheritance graph

Public Types

typedef SparseMatrixData< C, ET, I > Container
 
typedef ET ElementType
 
typedef ElementType field_type
 
typedef Container::size_type size_type
 
typedefindex_type
 
typedef GFSU TrialGridFunctionSpace
 
typedef GFSV TestGridFunctionSpace
 
typedef GFSV::Ordering::Traits::ContainerIndex RowIndex
 
typedef GFSU::Ordering::Traits::ContainerIndex ColIndex
 
template<typename RowCache , typename ColCache >
using LocalView = UncachedMatrixView< SparseMatrixContainer, RowCache, ColCache >
 
template<typename RowCache , typename ColCache >
using ConstLocalView = ConstUncachedMatrixView< const SparseMatrixContainer, RowCache, ColCache >
 
typedef SparseMatrixPattern Pattern
 

Public Member Functions

template<typename GO >
 SparseMatrixContainer (const GO &go)
 
template<typename GO >
 SparseMatrixContainer (const GO &go, const ElementType &e)
 
 SparseMatrixContainer (Backend::unattached_container=Backend::unattached_container())
 Creates an SparseMatrixContainer without allocating an underlying ISTL matrix.
 
 SparseMatrixContainer (Backend::attached_container)
 Creates an SparseMatrixContainer with an empty underlying ISTL matrix.
 
 SparseMatrixContainer (const SparseMatrixContainer &rhs)
 
SparseMatrixContaineroperator= (const SparseMatrixContainer &rhs)
 
void detach ()
 
void attach (std::shared_ptr< Container > container)
 
bool attached () const
 
const std::shared_ptr< Container > & storage () const
 
size_type N () const
 
size_type M () const
 
SparseMatrixContaineroperator= (const ElementType &e)
 
SparseMatrixContaineroperator*= (const ElementType &e)
 
template<typename V >
void mv (const V &x, V &y) const
 
template<typename V >
void usmv (const ElementType alpha, const V &x, V &y) const
 
ElementTypeoperator() (const RowIndex &ri, const ColIndex &ci)
 
const ElementTypeoperator() (const RowIndex &ri, const ColIndex &ci) const
 
const Containerbase () const
 
Containerbase ()
 
void flush ()
 
void finalize ()
 
void clear_row (const RowIndex &ri, const ElementType &diagonal_entry)
 
void clear_row_block (const RowIndex &ri, const ElementType &diagonal_entry)
 

Protected Member Functions

template<typename V >
ElementType sparse_inner_product (std::size_t row, const V &x) const
 

Static Protected Member Functions

template<typename GO >
static void allocate_matrix (std::shared_ptr< Container > &c, const GO &go, const ElementType &e)
 

Protected Attributes

std::shared_ptr< Container_container
 

Member Typedef Documentation

◆ ColIndex

◆ ConstLocalView

◆ Container

◆ ElementType

◆ field_type

◆ index_type

◆ LocalView

◆ Pattern

◆ RowIndex

◆ size_type

◆ TestGridFunctionSpace

◆ TrialGridFunctionSpace

Constructor & Destructor Documentation

◆ SparseMatrixContainer() [1/5]

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
template<typename GO >
Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::SparseMatrixContainer ( const GO &  go)
inline

◆ SparseMatrixContainer() [2/5]

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
template<typename GO >
Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::SparseMatrixContainer ( const GO &  go,
const ElementType e 
)
inline

◆ SparseMatrixContainer() [3/5]

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::SparseMatrixContainer ( Backend::unattached_container  = Backend::unattached_container())
inlineexplicit

Creates an SparseMatrixContainer without allocating an underlying ISTL matrix.

◆ SparseMatrixContainer() [4/5]

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::SparseMatrixContainer ( Backend::attached_container  )
inlineexplicit

Creates an SparseMatrixContainer with an empty underlying ISTL matrix.

◆ SparseMatrixContainer() [5/5]

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::SparseMatrixContainer ( const SparseMatrixContainer< GFSV, GFSU, C, ET, I > &  rhs)
inline

Member Function Documentation

◆ allocate_matrix()

◆ attach()

◆ attached()

◆ base() [1/2]

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
Container & Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::base ( )
inline

◆ base() [2/2]

◆ clear_row()

◆ clear_row_block()

◆ detach()

◆ finalize()

◆ flush()

◆ M()

◆ mv()

◆ N()

◆ operator()() [1/2]

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
ElementType & Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::operator() ( const RowIndex ri,
const ColIndex ci 
)
inline

◆ operator()() [2/2]

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
const ElementType & Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::operator() ( const RowIndex ri,
const ColIndex ci 
) const
inline

◆ operator*=()

◆ operator=() [1/2]

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
SparseMatrixContainer & Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::operator= ( const ElementType e)
inline

◆ operator=() [2/2]

◆ sparse_inner_product()

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
template<typename V >
ElementType Dune::PDELab::Simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::sparse_inner_product ( std::size_t  row,
const V &  x 
) const
inlineprotected

◆ storage()

◆ usmv()

Member Data Documentation

◆ _container


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