Reference documentation for deal.II version 9.3.3
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Types | Public Member Functions | Private Attributes | List of all members
BlockSparseMatrixEZ< Number > Class Template Reference

#include <deal.II/lac/block_sparse_matrix_ez.h>

Inheritance diagram for BlockSparseMatrixEZ< Number >:
[legend]

Public Types

using size_type = types::global_dof_index
 

Public Member Functions

 BlockSparseMatrixEZ ()=default
 
 BlockSparseMatrixEZ (const unsigned int block_rows, const unsigned int block_cols)
 
 BlockSparseMatrixEZ (const BlockSparseMatrixEZ< Number > &)
 
BlockSparseMatrixEZoperator= (const BlockSparseMatrixEZ< Number > &)
 
BlockSparseMatrixEZoperator= (const double d)
 
void clear ()
 
void reinit (const unsigned int n_block_rows, const unsigned int n_block_cols)
 
void collect_sizes ()
 
SparseMatrixEZ< Number > & block (const unsigned int row, const unsigned int column)
 
const SparseMatrixEZ< Number > & block (const unsigned int row, const unsigned int column) const
 
unsigned int n_block_rows () const
 
unsigned int n_block_cols () const
 
bool empty () const
 
size_type m () const
 
size_type n () const
 
void set (const size_type i, const size_type j, const Number value)
 
void add (const size_type i, const size_type j, const Number value)
 
template<typename somenumber >
void vmult (BlockVector< somenumber > &dst, const BlockVector< somenumber > &src) const
 
template<typename somenumber >
void Tvmult (BlockVector< somenumber > &dst, const BlockVector< somenumber > &src) const
 
template<typename somenumber >
void vmult_add (BlockVector< somenumber > &dst, const BlockVector< somenumber > &src) const
 
template<typename somenumber >
void Tvmult_add (BlockVector< somenumber > &dst, const BlockVector< somenumber > &src) const
 
template<class StreamType >
void print_statistics (StreamType &s, bool full=false)
 

Private Attributes

BlockIndices row_indices
 
BlockIndices column_indices
 
Table< 2, SparseMatrixEZ< Number > > blocks
 

Subscriptor functionality

Classes derived from Subscriptor provide a facility to subscribe to this object. This is mostly used by the SmartPointer class.

std::atomic< unsigned intcounter
 
std::map< std::string, unsigned intcounter_map
 
std::vector< std::atomic< bool > * > validity_pointers
 
const std::type_info * object_info
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
template<typename StreamType >
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 
using map_value_type = decltype(counter_map)::value_type
 
using map_iterator = decltype(counter_map)::iterator
 
static std::mutex mutex
 
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 
void check_no_subscribers () const noexcept
 

Detailed Description

template<typename Number>
class BlockSparseMatrixEZ< Number >

A block matrix consisting of blocks of type SparseMatrixEZ.

Like the other Block-objects, this matrix can be used like a SparseMatrixEZ, when it comes to access to entries. Then, there are functions for the multiplication with BlockVector and access to the individual blocks.

See also
Block (linear algebra)

Definition at line 60 of file block_sparse_matrix_ez.h.


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