Reference documentation for deal.II version 9.2.0
|
#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 |
Public Member Functions inherited from MGMatrixBase< Vector< number > > | |
virtual | ~MGMatrixBase () override=default |
virtual unsigned int | get_minlevel () const=0 |
virtual unsigned int | get_maxlevel () const=0 |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
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) |
Private Attributes | |
SmartPointer< MGLevelObject< MatrixType >, MGMatrixSelect< MatrixType, number > > | matrix |
unsigned int | row |
unsigned int | col |
Additional Inherited Members | |
Static Public 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) |
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 126 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 323 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 335 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 344 of file mg_matrix.h.
|
virtual |
Matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< Vector< number > >.
Definition at line 355 of file mg_matrix.h.
|
virtual |
Adding matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< Vector< number > >.
Definition at line 369 of file mg_matrix.h.
|
virtual |
Transpose matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< Vector< number > >.
Definition at line 383 of file mg_matrix.h.
|
virtual |
Adding transpose matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< Vector< number > >.
Definition at line 397 of file mg_matrix.h.
|
private |
Pointer to the matrix objects on each level.
Definition at line 187 of file mg_matrix.h.
|
private |
Row coordinate of selected block.
Definition at line 191 of file mg_matrix.h.
|
private |
Column coordinate of selected block.
Definition at line 195 of file mg_matrix.h.