Reference documentation for deal.II version 9.2.0
|
#include <deal.II/lac/block_sparsity_pattern.h>
Public Member Functions | |
BlockDynamicSparsityPattern ()=default | |
BlockDynamicSparsityPattern (const size_type n_rows, const size_type n_columns) | |
BlockDynamicSparsityPattern (const std::vector< size_type > &row_block_sizes, const std::vector< size_type > &col_block_sizes) | |
BlockDynamicSparsityPattern (const std::vector< IndexSet > &partitioning) | |
BlockDynamicSparsityPattern (const BlockIndices &row_indices, const BlockIndices &col_indices) | |
void | reinit (const std::vector< size_type > &row_block_sizes, const std::vector< size_type > &col_block_sizes) |
void | reinit (const std::vector< IndexSet > &partitioning) |
void | reinit (const BlockIndices &row_indices, const BlockIndices &col_indices) |
size_type | column_number (const size_type row, const unsigned int index) const |
Public Member Functions inherited from BlockSparsityPatternBase< DynamicSparsityPattern > | |
BlockSparsityPatternBase () | |
BlockSparsityPatternBase (const size_type n_block_rows, const size_type n_block_columns) | |
BlockSparsityPatternBase (const BlockSparsityPatternBase &bsp) | |
~BlockSparsityPatternBase () override | |
void | reinit (const size_type n_block_rows, const size_type n_block_columns) |
BlockSparsityPatternBase & | operator= (const BlockSparsityPatternBase &) |
void | collect_sizes () |
DynamicSparsityPattern & | block (const size_type row, const size_type column) |
const DynamicSparsityPattern & | block (const size_type row, const size_type column) const |
const BlockIndices & | get_row_indices () const |
const BlockIndices & | get_column_indices () const |
void | compress () |
size_type | n_block_rows () const |
size_type | n_block_cols () const |
bool | empty () const |
size_type | max_entries_per_row () const |
void | add (const size_type i, const size_type j) |
void | add_entries (const size_type row, ForwardIterator begin, ForwardIterator end, const bool indices_are_sorted=false) |
size_type | n_rows () const |
size_type | n_cols () const |
bool | exists (const size_type i, const size_type j) const |
unsigned int | row_length (const size_type row) const |
size_type | n_nonzero_elements () const |
void | print (std::ostream &out) const |
void | print_gnuplot (std::ostream &out) const |
Additional Inherited Members | |
Public Types inherited from BlockSparsityPatternBase< DynamicSparsityPattern > | |
using | size_type = types::global_dof_index |
Static Public Member Functions inherited from BlockSparsityPatternBase< DynamicSparsityPattern > | |
static ::ExceptionBase & | ExcIncompatibleRowNumbers (int arg1, int arg2, int arg3, int arg4) |
static ::ExceptionBase & | ExcIncompatibleColNumbers (int arg1, int arg2, int arg3, int arg4) |
Static Public Attributes inherited from BlockSparsityPatternBase< DynamicSparsityPattern > | |
static const size_type | invalid_entry |
Protected Attributes inherited from BlockSparsityPatternBase< DynamicSparsityPattern > | |
size_type | rows |
size_type | columns |
Table< 2, SmartPointer< DynamicSparsityPattern, BlockSparsityPatternBase< DynamicSparsityPattern > > > | sub_objects |
BlockIndices | row_indices |
BlockIndices | column_indices |
This class extends the base class to implement an array of compressed sparsity patterns that can be used to initialize objects of type BlockSparsityPattern. It does not add additional member functions, but rather acts as an alias
to introduce the name of this class, without requiring the user to specify the templated name of the base class. For information on the interface of this class refer to the base class. The individual blocks are based on the DynamicSparsityPattern class.
This class is an example of the "dynamic" type of Sparsity patterns.
Usage of this class is very similar to DynamicSparsityPattern, but since the use of block indices causes some additional complications, we give a short example.
After the DoFHandler dof
and the AffineConstraints constraints
have been set up with a system element, we must count the degrees of freedom in each matrix block:
Now, we are ready to set up the BlockDynamicSparsityPattern.
It is filled as if it were a normal pattern
In the end, it is copied to a normal BlockSparsityPattern for later use.
Definition at line 521 of file block_sparsity_pattern.h.