dune-pdelab 2.7-git
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Dune::PDELab::ISTL::NestedPattern< RowOrdering, ColOrdering, SubPattern_ > Class Template Reference

Pattern builder for nested hierarchies of generic BCRS-like sparse matrices. More...

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

Public Types

typedef SubPattern_ SubPattern
 The pattern type used for each block.
 
typedef SubPattern::size_type size_type
 size type used by NestedPattern.
 

Public Member Functions

template<typename RI , typename CI >
void add_link (const RI &ri, const CI &ci)
 Add a link between the row indicated by ri and the column indicated by ci.
 
template<typename EntriesPerRow >
 NestedPattern (const RowOrdering &row_ordering, const ColOrdering &col_ordering, const EntriesPerRow &entries_per_row)
 
 NestedPattern (const RowOrdering &row_ordering, const ColOrdering &col_ordering, size_type entries_per_row)
 
SubPatternsubPattern (size_type i, size_type j)
 Returns the subpattern associated with block (i,j).
 

Detailed Description

template<typename RowOrdering, typename ColOrdering, typename SubPattern_>
class Dune::PDELab::ISTL::NestedPattern< RowOrdering, ColOrdering, SubPattern_ >

Pattern builder for nested hierarchies of generic BCRS-like sparse matrices.

NestedPattern contains a dense set of subpatterns for each matrix block. Those blocks can be nested (i.e. be NestedPatterns again) or BCRSPattern instances.

Member Typedef Documentation

◆ size_type

template<typename RowOrdering , typename ColOrdering , typename SubPattern_ >
typedef SubPattern::size_type Dune::PDELab::ISTL::NestedPattern< RowOrdering, ColOrdering, SubPattern_ >::size_type

size type used by NestedPattern.

◆ SubPattern

template<typename RowOrdering , typename ColOrdering , typename SubPattern_ >
typedef SubPattern_ Dune::PDELab::ISTL::NestedPattern< RowOrdering, ColOrdering, SubPattern_ >::SubPattern

The pattern type used for each block.

Constructor & Destructor Documentation

◆ NestedPattern() [1/2]

template<typename RowOrdering , typename ColOrdering , typename SubPattern_ >
template<typename EntriesPerRow >
Dune::PDELab::ISTL::NestedPattern< RowOrdering, ColOrdering, SubPattern_ >::NestedPattern ( const RowOrdering &  row_ordering,
const ColOrdering &  col_ordering,
const EntriesPerRow &  entries_per_row 
)
inline

◆ NestedPattern() [2/2]

template<typename RowOrdering , typename ColOrdering , typename SubPattern_ >
Dune::PDELab::ISTL::NestedPattern< RowOrdering, ColOrdering, SubPattern_ >::NestedPattern ( const RowOrdering &  row_ordering,
const ColOrdering &  col_ordering,
size_type  entries_per_row 
)
inline

Member Function Documentation

◆ add_link()

template<typename RowOrdering , typename ColOrdering , typename SubPattern_ >
template<typename RI , typename CI >
void Dune::PDELab::ISTL::NestedPattern< RowOrdering, ColOrdering, SubPattern_ >::add_link ( const RI &  ri,
const CI &  ci 
)
inline

Add a link between the row indicated by ri and the column indicated by ci.

This method just forwards the call to the relevant block as indicated by the tail members of ri and ci.

◆ subPattern()

template<typename RowOrdering , typename ColOrdering , typename SubPattern_ >
SubPattern & Dune::PDELab::ISTL::NestedPattern< RowOrdering, ColOrdering, SubPattern_ >::subPattern ( size_type  i,
size_type  j 
)
inline

Returns the subpattern associated with block (i,j).


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