dune-pdelab  2.7-git
Public Types | Public Member Functions | List of all members
Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats > Class Template Reference

#include <dune/pdelab/backend/istl/bcrsmatrix.hh>

Inheritance diagram for Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >:
Inheritance graph

Public Types

typedef C::field_type ElementType
 
typedef ElementType E
 
typedef C Container
 
typedef C::field_type field_type
 
typedef C::block_type block_type
 
typedef C::size_type size_type
 
typedef GFSU TrialGridFunctionSpace
 
typedef GFSV TestGridFunctionSpace
 
typedef GFSV::Ordering::Traits::ContainerIndex RowIndex
 
typedef GFSU::Ordering::Traits::ContainerIndex ColIndex
 
typedef ISTL::build_pattern_type< C, GFSV, GFSU, typename GFSV::Ordering::ContainerAllocationTag >::type Pattern
 
typedef Stats PatternStatistics
 
using value_type = E
 
template<typename RowCache , typename ColCache >
using LocalView = UncachedMatrixView< BCRSMatrix, RowCache, ColCache >
 
template<typename RowCache , typename ColCache >
using ConstLocalView = ConstUncachedMatrixView< const BCRSMatrix, RowCache, ColCache >
 
template<typename RowCache , typename ColCache >
using AliasedLocalView = AliasedMatrixView< BCRSMatrix, RowCache, ColCache >
 
template<typename RowCache , typename ColCache >
using ConstAliasedLocalView = ConstAliasedMatrixView< const BCRSMatrix, RowCache, ColCache >
 

Public Member Functions

template<typename GO >
 BCRSMatrix (const GO &go)
 
template<typename GO >
 BCRSMatrix (const GO &go, Container &container)
 Construct matrix container using an externally given matrix as storage. More...
 
template<typename GO >
 BCRSMatrix (const GO &go, const E &e)
 
 BCRSMatrix (Backend::unattached_container=Backend::unattached_container())
 Creates an BCRSMatrix without allocating an underlying ISTL matrix. More...
 
 BCRSMatrix (Backend::attached_container)
 Creates an BCRSMatrix with an empty underlying ISTL matrix. More...
 
 BCRSMatrix (const BCRSMatrix &rhs)
 
BCRSMatrixoperator= (const BCRSMatrix &rhs)
 
const StatisticsReturnType & patternStatistics () const
 Returns pattern statistics for all contained BCRSMatrix objects. More...
 
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
 
BCRSMatrixoperator= (const E &e)
 
BCRSMatrixoperator*= (const E &e)
 
Eoperator() (const RowIndex &ri, const ColIndex &ci)
 
const Eoperator() (const RowIndex &ri, const ColIndex &ci) const
 
template<typename RowCache , typename ColCache >
value_typedata (const RowCache &row_cache, const ColCache &col_cache)
 
template<typename RowCache , typename ColCache >
const value_typedata (const RowCache &row_cache, const ColCache &col_cache) const
 
void flush ()
 
void finalize ()
 
void clear_row (const RowIndex &ri, const E &diagonal_entry)
 
void clear_row_block (const RowIndex &ri, const E &diagonal_entry)
 

Member Typedef Documentation

◆ AliasedLocalView

template<typename GFSV , typename GFSU , typename C , typename Stats >
template<typename RowCache , typename ColCache >
using Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::AliasedLocalView = AliasedMatrixView<BCRSMatrix,RowCache,ColCache>

◆ block_type

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef C::block_type Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::block_type

◆ ColIndex

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef GFSU::Ordering::Traits::ContainerIndex Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::ColIndex

◆ ConstAliasedLocalView

template<typename GFSV , typename GFSU , typename C , typename Stats >
template<typename RowCache , typename ColCache >
using Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::ConstAliasedLocalView = ConstAliasedMatrixView<const BCRSMatrix,RowCache,ColCache>

◆ ConstLocalView

template<typename GFSV , typename GFSU , typename C , typename Stats >
template<typename RowCache , typename ColCache >
using Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::ConstLocalView = ConstUncachedMatrixView<const BCRSMatrix,RowCache,ColCache>

◆ Container

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef C Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::Container

◆ E

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef ElementType Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::E

◆ ElementType

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef C::field_type Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::ElementType

◆ field_type

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef C::field_type Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::field_type

◆ LocalView

template<typename GFSV , typename GFSU , typename C , typename Stats >
template<typename RowCache , typename ColCache >
using Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::LocalView = UncachedMatrixView<BCRSMatrix,RowCache,ColCache>

◆ Pattern

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef ISTL::build_pattern_type<C,GFSV,GFSU,typename GFSV::Ordering::ContainerAllocationTag>::type Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::Pattern

◆ PatternStatistics

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef Stats Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::PatternStatistics

◆ RowIndex

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef GFSV::Ordering::Traits::ContainerIndex Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::RowIndex

◆ size_type

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef C::size_type Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::size_type

◆ TestGridFunctionSpace

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef GFSV Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::TestGridFunctionSpace

◆ TrialGridFunctionSpace

template<typename GFSV , typename GFSU , typename C , typename Stats >
typedef GFSU Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::TrialGridFunctionSpace

◆ value_type

template<typename GFSV , typename GFSU , typename C , typename Stats >
using Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::value_type = E

Constructor & Destructor Documentation

◆ BCRSMatrix() [1/6]

template<typename GFSV , typename GFSU , typename C , typename Stats >
template<typename GO >
Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::BCRSMatrix ( const GO &  go)
inlineexplicit

◆ BCRSMatrix() [2/6]

template<typename GFSV , typename GFSU , typename C , typename Stats >
template<typename GO >
Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::BCRSMatrix ( const GO &  go,
Container container 
)
inline

Construct matrix container using an externally given matrix as storage.

Template Parameters
GOGridOperator type used to assemble into the matrix
Parameters
goGridOperator object used to assemble into the matrix
containerISTL matrix type that stores the actual data

This BCRSMatrix constructor will reassemble the matrix occupation pattern.

◆ BCRSMatrix() [3/6]

template<typename GFSV , typename GFSU , typename C , typename Stats >
template<typename GO >
Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::BCRSMatrix ( const GO &  go,
const E e 
)
inline

◆ BCRSMatrix() [4/6]

template<typename GFSV , typename GFSU , typename C , typename Stats >
Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::BCRSMatrix ( Backend::unattached_container  = Backend::unattached_container())
inlineexplicit

Creates an BCRSMatrix without allocating an underlying ISTL matrix.

◆ BCRSMatrix() [5/6]

template<typename GFSV , typename GFSU , typename C , typename Stats >
Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::BCRSMatrix ( Backend::attached_container  )
inlineexplicit

Creates an BCRSMatrix with an empty underlying ISTL matrix.

◆ BCRSMatrix() [6/6]

template<typename GFSV , typename GFSU , typename C , typename Stats >
Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::BCRSMatrix ( const BCRSMatrix< GFSV, GFSU, C, Stats > &  rhs)
inline

Member Function Documentation

◆ attach()

template<typename GFSV , typename GFSU , typename C , typename Stats >
void Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::attach ( std::shared_ptr< Container container)
inline

◆ attached()

template<typename GFSV , typename GFSU , typename C , typename Stats >
bool Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::attached ( ) const
inline

◆ clear_row()

template<typename GFSV , typename GFSU , typename C , typename Stats >
void Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::clear_row ( const RowIndex ri,
const E diagonal_entry 
)
inline

◆ clear_row_block()

template<typename GFSV , typename GFSU , typename C , typename Stats >
void Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::clear_row_block ( const RowIndex ri,
const E diagonal_entry 
)
inline

◆ data() [1/2]

template<typename GFSV , typename GFSU , typename C , typename Stats >
template<typename RowCache , typename ColCache >
value_type* Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::data ( const RowCache &  row_cache,
const ColCache &  col_cache 
)
inline

◆ data() [2/2]

template<typename GFSV , typename GFSU , typename C , typename Stats >
template<typename RowCache , typename ColCache >
const value_type* Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::data ( const RowCache &  row_cache,
const ColCache &  col_cache 
) const
inline

◆ detach()

template<typename GFSV , typename GFSU , typename C , typename Stats >
void Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::detach ( )
inline

◆ finalize()

template<typename GFSV , typename GFSU , typename C , typename Stats >
void Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::finalize ( )
inline

◆ flush()

template<typename GFSV , typename GFSU , typename C , typename Stats >
void Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::flush ( )
inline

◆ M()

template<typename GFSV , typename GFSU , typename C , typename Stats >
size_type Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::M ( ) const
inline

◆ N()

template<typename GFSV , typename GFSU , typename C , typename Stats >
size_type Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::N ( ) const
inline

◆ operator()() [1/2]

template<typename GFSV , typename GFSU , typename C , typename Stats >
E& Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::operator() ( const RowIndex ri,
const ColIndex ci 
)
inline

◆ operator()() [2/2]

template<typename GFSV , typename GFSU , typename C , typename Stats >
const E& Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::operator() ( const RowIndex ri,
const ColIndex ci 
) const
inline

◆ operator*=()

template<typename GFSV , typename GFSU , typename C , typename Stats >
BCRSMatrix& Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::operator*= ( const E e)
inline

◆ operator=() [1/2]

template<typename GFSV , typename GFSU , typename C , typename Stats >
BCRSMatrix& Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::operator= ( const BCRSMatrix< GFSV, GFSU, C, Stats > &  rhs)
inline

◆ operator=() [2/2]

template<typename GFSV , typename GFSU , typename C , typename Stats >
BCRSMatrix& Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::operator= ( const E e)
inline

◆ patternStatistics()

template<typename GFSV , typename GFSU , typename C , typename Stats >
const StatisticsReturnType& Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::patternStatistics ( ) const
inline

Returns pattern statistics for all contained BCRSMatrix objects.

◆ storage()

template<typename GFSV , typename GFSU , typename C , typename Stats >
const std::shared_ptr<Container>& Dune::PDELab::ISTL::BCRSMatrix< GFSV, GFSU, C, Stats >::storage ( ) const
inline

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