![]() |
Reference documentation for deal.II version 9.4.1
|
#include <deal.II/multigrid/mg_matrix.h>
Public Member Functions | |
| MGMatrixSelect (const unsigned int row=0, const unsigned int col=0, MGLevelObject< MatrixType > *matrix=0) | |
| void | set_matrix (MGLevelObject< MatrixType > *M) |
| void | select_block (const unsigned int row, const unsigned int col) |
| virtual void | vmult (const unsigned int level, Vector< number > &dst, const Vector< number > &src) const |
| virtual void | vmult_add (const unsigned int level, Vector< number > &dst, const Vector< number > &src) const |
| virtual void | Tvmult (const unsigned int level, Vector< number > &dst, const Vector< number > &src) const |
| virtual void | Tvmult_add (const unsigned int level, Vector< number > &dst, const Vector< number > &src) const |
| virtual unsigned int | get_minlevel () const=0 |
| virtual unsigned int | get_maxlevel () const=0 |
Private Attributes | |
| SmartPointer< MGLevelObject< MatrixType >, MGMatrixSelect< MatrixType, number > > | matrix |
| unsigned int | row |
| unsigned int | col |
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 int > | counter |
| std::map< std::string, unsigned int > | counter_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 ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
| static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
| void | check_no_subscribers () const noexcept |
Multilevel matrix selecting from block matrices. This class implements the interface defined by MGMatrixBase. The template parameter MatrixType should be a block matrix class like BlockSparseMatrix or BlockSparseMatrixEZ. Then, this class stores a pointer to a MGLevelObject of this matrix class. In each vmult, the block selected on initialization will be multiplied with the vector provided.
Definition at line 122 of file mg_matrix.h.
| MGMatrixSelect< MatrixType, number >::MGMatrixSelect | ( | const unsigned int | row = 0, |
| const unsigned int | col = 0, |
||
| MGLevelObject< MatrixType > * | matrix = 0 |
||
| ) |
Constructor. row and col are the coordinate of the selected block. The other argument is handed over to the SmartPointer constructor.
Definition at line 321 of file mg_matrix.h.
| void MGMatrixSelect< MatrixType, number >::set_matrix | ( | MGLevelObject< MatrixType > * | M | ) |
Set the matrix object to be used. The matrix object must exist longer as the MGMatrixSelect object, since only a pointer is stored.
Definition at line 333 of file mg_matrix.h.
| void MGMatrixSelect< MatrixType, number >::select_block | ( | const unsigned int | row, |
| const unsigned int | col | ||
| ) |
Select the block for multiplication.
Definition at line 342 of file mg_matrix.h.
|
virtual |
Matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< Vector< number > >.
Definition at line 353 of file mg_matrix.h.
|
virtual |
Adding matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< Vector< number > >.
Definition at line 367 of file mg_matrix.h.
|
virtual |
Transpose matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< Vector< number > >.
Definition at line 381 of file mg_matrix.h.
|
virtual |
Adding transpose matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< Vector< number > >.
Definition at line 395 of file mg_matrix.h.
|
pure virtualinherited |
Return the minimal level for which matrices are stored.
|
pure virtualinherited |
Return the minimal level for which matrices are stored.
|
private |
Pointer to the matrix objects on each level.
Definition at line 183 of file mg_matrix.h.
|
private |
Row coordinate of selected block.
Definition at line 187 of file mg_matrix.h.
|
private |
Column coordinate of selected block.
Definition at line 191 of file mg_matrix.h.