dune-pdelab  2.0.0
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I > Class Template Reference

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

Public Types

typedef SparseMatrixData< C,
ET, I > 
Container
 
typedef ET ElementType
 
typedef ElementType field_type
 
typedef Container::size_type size_type
 
typedef I index_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 OrderingBase< typename
GFSV::Ordering::Traits::DOFIndex,
typename
GFSV::Ordering::Traits::ContainerIndex > 
RowOrdering
 
typedef OrderingBase< typename
GFSU::Ordering::Traits::DOFIndex,
typename
GFSU::Ordering::Traits::ContainerIndex > 
ColOrdering
 
typedef SparseMatrixPattern
< RowOrdering, ColOrdering
Pattern
 

Public Member Functions

template<typename GO >
 SparseMatrixContainer (const GO &go)
 
template<typename GO >
 SparseMatrixContainer (const GO &go, const ElementType &e)
 
 SparseMatrixContainer (tags::unattached_container=tags::unattached_container())
 Creates an SparseMatrixContainer without allocating an underlying ISTL matrix. More...
 
 SparseMatrixContainer (tags::attached_container)
 Creates an SparseMatrixContainer with an empty underlying ISTL matrix. More...
 
 SparseMatrixContainer (const SparseMatrixContainer &rhs)
 
SparseMatrixContaineroperator= (const SparseMatrixContainer &rhs)
 
void detach ()
 
void attach (shared_ptr< Container > container)
 
bool attached () const
 
const 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)
 

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 (shared_ptr< Container > &c, const GO &go, const ElementType &e)
 

Protected Attributes

shared_ptr< Container_container
 

Member Typedef Documentation

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef GFSU::Ordering::Traits::ContainerIndex Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::ColIndex
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef OrderingBase< typename GFSU::Ordering::Traits::DOFIndex, typename GFSU::Ordering::Traits::ContainerIndex > Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::ColOrdering
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
template<typename RowCache , typename ColCache >
using Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::ConstLocalView = ConstUncachedMatrixView<const SparseMatrixContainer,RowCache,ColCache>
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef SparseMatrixData<C,ET,I> Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::Container
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef ET Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::ElementType
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef ElementType Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::field_type
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef I Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::index_type
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
template<typename RowCache , typename ColCache >
using Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::LocalView = UncachedMatrixView<SparseMatrixContainer,RowCache,ColCache>
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef SparseMatrixPattern<RowOrdering,ColOrdering> Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::Pattern
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef GFSV::Ordering::Traits::ContainerIndex Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::RowIndex
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef OrderingBase< typename GFSV::Ordering::Traits::DOFIndex, typename GFSV::Ordering::Traits::ContainerIndex > Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::RowOrdering
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef Container::size_type Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::size_type
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef GFSV Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::TestGridFunctionSpace
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
typedef GFSU Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::TrialGridFunctionSpace

Constructor & Destructor Documentation

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
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
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::SparseMatrixContainer ( tags::unattached_container  = tags::unattached_container())
inlineexplicit

Creates an SparseMatrixContainer without allocating an underlying ISTL matrix.

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

Creates an SparseMatrixContainer with an empty underlying ISTL matrix.

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

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
template<typename GO >
static void Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::allocate_matrix ( shared_ptr< Container > &  c,
const GO &  go,
const ElementType e 
)
inlinestaticprotected
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
void Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::attach ( shared_ptr< Container container)
inline
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
bool Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::attached ( ) const
inline
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
const Container& Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::base ( ) const
inline
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
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
void Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::clear_row ( const RowIndex ri,
const ElementType diagonal_entry 
)
inline
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
void Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::detach ( )
inline
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
void Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::finalize ( )
inline
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
void Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::flush ( )
inline
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
size_type Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::M ( ) const
inline
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
template<typename V >
void Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::mv ( const V &  x,
V &  y 
) const
inline
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
size_type Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::N ( ) const
inline
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
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
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
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 SparseMatrixContainer< GFSV, GFSU, C, ET, I > &  rhs)
inline
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
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
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
const shared_ptr<Container>& Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::storage ( ) const
inline
template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
template<typename V >
void Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::usmv ( const ElementType  alpha,
const V &  x,
V &  y 
) const
inline

Member Data Documentation

template<typename GFSV , typename GFSU , template< typename > class C, typename ET , typename I >
shared_ptr< Container > Dune::PDELab::simple::SparseMatrixContainer< GFSV, GFSU, C, ET, I >::_container
protected

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