Reference documentation for deal.II version 9.0.0
|
#include <deal.II/lac/matrix_block.h>
Public Types | |
typedef types::global_dof_index | size_type |
typedef MatrixBlock< MatrixType > | value_type |
typedef std::shared_ptr< value_type > | ptr_type |
Public Member Functions | |
void | add (size_type row, size_type column, const std::string &name) |
void | reinit (const BlockSparsityPattern &sparsity) |
void | clear (bool really_clean=false) |
std::size_t | memory_consumption () const |
const value_type & | block (size_type i) const |
value_type & | block (size_type i) |
MatrixType & | matrix (size_type i) |
unsigned int | size () const |
Number of stored data objects. | |
const std::string & | name (const unsigned int i) const |
Name of object at index. | |
Additional Inherited Members | |
Private Member Functions inherited from AnyData | |
AnyData ()=default | |
Default constructor for empty object. | |
unsigned int | size () const |
Number of stored data objects. | |
template<typename type > | |
void | add (type entry, const std::string &name) |
Add a new data object. | |
void | merge (const AnyData &other) |
Merge the data of another AnyData to the end of this object. | |
template<typename type > | |
type | entry (const std::string &name) |
Access to stored data object by name. More... | |
template<typename type > | |
const type | entry (const std::string &name) const |
Read-only access to stored data object by name. More... | |
template<typename type > | |
const type | read (const std::string &name) const |
Dedicated read only access by name. More... | |
template<typename type > | |
const type * | read_ptr (const std::string &name) const |
Dedicated read only access by name for pointer data. More... | |
template<typename type > | |
const type * | try_read_ptr (const std::string &name) const |
template<typename type > | |
const type * | try_read (const std::string &name) const |
Dedicated read only access by name without exceptions. More... | |
template<typename type > | |
type | entry (const unsigned int i) |
template<typename type > | |
const type | entry (const unsigned int i) const |
Read-only access to stored data object by index. | |
template<typename type > | |
const type | read (const unsigned int i) const |
Dedicated read only access. | |
template<typename type > | |
const type * | read_ptr (const unsigned int i) const |
Dedicated read only access to pointer object. | |
template<typename type > | |
const type * | try_read_ptr (const unsigned int i) const |
Dedicated read only access to pointer object without exception. | |
template<typename type > | |
const type * | try_read (const unsigned int i) const |
Dedicated read only access without exception. | |
const std::string & | name (const unsigned int i) const |
Name of object at index. | |
unsigned int | find (const std::string &name) const |
Find index of a named object. More... | |
unsigned int | try_find (const std::string &name) const |
Try to find index of a named object. More... | |
template<typename type > | |
bool | is_type (const unsigned int i) const |
Find out if object is of a certain type. | |
template<class StreamType > | |
void | list (StreamType &os) const |
List the contents to a stream. | |
Private Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (const char *identifier=nullptr) const |
void | unsubscribe (const char *identifier=nullptr) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Static Private Member Functions inherited from AnyData | |
static ::ExceptionBase & | ExcNameNotFound (std::string arg1) |
An entry with this name does not exist in the AnyData object. More... | |
static ::ExceptionBase & | ExcTypeMismatch (char *arg1, char *arg2) |
The requested type and the stored type are different. More... | |
static ::ExceptionBase & | ExcNameMismatch (int arg1, std::string arg2) |
Static Private Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
A vector of MatrixBlock, which is implemented using shared pointers, in order to allow for copying and rearranging. Each matrix block can be identified by name.
Definition at line 329 of file matrix_block.h.
typedef types::global_dof_index MatrixBlockVector< MatrixType >::size_type |
Declare type for container size.
Definition at line 337 of file matrix_block.h.
typedef MatrixBlock<MatrixType> MatrixBlockVector< MatrixType >::value_type |
The type of object stored.
Definition at line 342 of file matrix_block.h.
typedef std::shared_ptr<value_type> MatrixBlockVector< MatrixType >::ptr_type |
The pointer type used for storing the objects. We use a shard pointer, such that they get deleted automatically when not used anymore.
Definition at line 348 of file matrix_block.h.
|
inline |
Add a new matrix block at the position (row,column)
in the block system.
Definition at line 823 of file matrix_block.h.
|
inline |
For matrices using a SparsityPattern, this function reinitializes each matrix in the vector with the correct pattern from the block system.
Definition at line 834 of file matrix_block.h.
|
inline |
Clear the object.
Since often only clearing of the individual matrices is desired, but not removing the blocks themselves, there is an optional argument. If the argument is missing or false
, all matrices will be empty, but the size of this object and the block positions will not change. If really_clean
is true
, then the object will contain no blocks at the end.
Definition at line 845 of file matrix_block.h.
std::size_t MatrixBlockVector< MatrixType >::memory_consumption | ( | ) | const |
The memory used by this object.
|
inline |
Access a constant reference to the block at position i.
Definition at line 862 of file matrix_block.h.
|
inline |
Access a reference to the block at position i.
Definition at line 870 of file matrix_block.h.
|
inline |
Access the matrix at position i for read and write access.
Definition at line 878 of file matrix_block.h.