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 | Static Public Member Functions | Static Public Attributes | Private Attributes | Friends | List of all members
ChunkSparsityPattern Class Reference

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

Inheritance diagram for ChunkSparsityPattern:
[legend]

Public Types

using size_type = types::global_dof_index
 
using const_iterator = ChunkSparsityPatternIterators::Iterator
 
using iterator = ChunkSparsityPatternIterators::Iterator
 

Public Member Functions

 ChunkSparsityPattern ()
 
 ChunkSparsityPattern (const ChunkSparsityPattern &)
 
 ChunkSparsityPattern (const size_type m, const size_type n, const size_type max_chunks_per_row, const size_type chunk_size)
 
 ChunkSparsityPattern (const size_type m, const size_type n, const std::vector< size_type > &row_lengths, const size_type chunk_size)
 
 ChunkSparsityPattern (const size_type n, const size_type max_per_row, const size_type chunk_size)
 
 ChunkSparsityPattern (const size_type m, const std::vector< size_type > &row_lengths, const size_type chunk_size)
 
 ~ChunkSparsityPattern () override=default
 
ChunkSparsityPatternoperator= (const ChunkSparsityPattern &)
 
void reinit (const size_type m, const size_type n, const size_type max_per_row, const size_type chunk_size)
 
void reinit (const size_type m, const size_type n, const std::vector< size_type > &row_lengths, const size_type chunk_size)
 
void reinit (const size_type m, const size_type n, const ArrayView< const size_type > &row_lengths, const size_type chunk_size)
 
void compress ()
 
template<typename ForwardIterator >
void copy_from (const size_type n_rows, const size_type n_cols, const ForwardIterator begin, const ForwardIterator end, const size_type chunk_size)
 
template<typename SparsityPatternType >
void copy_from (const SparsityPatternType &dsp, const size_type chunk_size)
 
template<typename number >
void copy_from (const FullMatrix< number > &matrix, const size_type chunk_size)
 
template<typename Sparsity >
void create_from (const size_type m, const size_type n, const Sparsity &sparsity_pattern_for_chunks, const size_type chunk_size, const bool optimize_diagonal=true)
 
bool empty () const
 
size_type get_chunk_size () const
 
size_type max_entries_per_row () const
 
void add (const size_type i, const size_type j)
 
void symmetrize ()
 
size_type n_rows () const
 
size_type n_cols () const
 
bool exists (const size_type i, const size_type j) const
 
size_type row_length (const size_type row) const
 
size_type bandwidth () const
 
size_type n_nonzero_elements () const
 
bool is_compressed () const
 
bool stores_only_added_elements () const
 
iterator begin () const
 
iterator end () const
 
iterator begin (const size_type r) const
 
iterator end (const size_type r) const
 
void block_write (std::ostream &out) const
 
void block_read (std::istream &in)
 
void print (std::ostream &out) const
 
void print_gnuplot (std::ostream &out) const
 
std::size_t memory_consumption () const
 

Static Public Member Functions

static ::ExceptionBaseExcInvalidNumber (size_type arg1)
 
static ::ExceptionBaseExcInvalidIndex (size_type arg1, size_type arg2)
 
static ::ExceptionBaseExcNotEnoughSpace (size_type arg1, size_type arg2)
 
static ::ExceptionBaseExcNotCompressed ()
 
static ::ExceptionBaseExcMatrixIsCompressed ()
 
static ::ExceptionBaseExcEmptyObject ()
 
static ::ExceptionBaseExcIteratorRange (size_type arg1, size_type arg2)
 
static ::ExceptionBaseExcMETISNotInstalled ()
 
static ::ExceptionBaseExcInvalidNumberOfPartitions (size_type arg1)
 
static ::ExceptionBaseExcInvalidArraySize (size_type arg1, size_type arg2)
 

Static Public Attributes

static const size_type invalid_entry = SparsityPattern::invalid_entry
 

Private Attributes

size_type rows
 
size_type cols
 
size_type chunk_size
 
SparsityPattern sparsity_pattern
 

Friends

template<typename >
class ChunkSparseMatrix
 
class ChunkSparsityPatternIterators::Accessor
 

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)
 
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 
using map_value_type = decltype(counter_map)::value_type
 
using map_iterator = decltype(counter_map)::iterator
 
static std::mutex mutex
 
void check_no_subscribers () const noexcept
 

Detailed Description

Structure representing the sparsity pattern of a sparse matrix. This class is an example of the "static" type of Sparsity. It uses the compressed row storage (CSR) format to store data.

The use of this class is demonstrated in step-51.

Definition at line 242 of file chunk_sparsity_pattern.h.


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