Reference documentation for deal.II version 9.4.1
|
#include <deal.II/multigrid/mg_matrix.h>
Public Member Functions | |
Matrix ()=default | |
template<typename MatrixType > | |
Matrix (const MGLevelObject< MatrixType > &M) | |
template<typename MatrixType > | |
void | initialize (const MGLevelObject< MatrixType > &M) |
void | reset () |
const LinearOperator< VectorType > & | operator[] (unsigned int level) const |
virtual void | vmult (const unsigned int level, VectorType &dst, const VectorType &src) const override |
virtual void | vmult_add (const unsigned int level, VectorType &dst, const VectorType &src) const override |
virtual void | Tvmult (const unsigned int level, VectorType &dst, const VectorType &src) const override |
virtual void | Tvmult_add (const unsigned int level, VectorType &dst, const VectorType &src) const override |
virtual unsigned int | get_minlevel () const override |
virtual unsigned int | get_maxlevel () const override |
std::size_t | memory_consumption () const |
Private Attributes | |
MGLevelObject< LinearOperator< VectorType > > | matrices |
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. This matrix stores an MGLevelObject of LinearOperator objects. It implements the interface defined in MGMatrixBase, so that it can be used as a matrix in Multigrid.
Definition at line 44 of file mg_matrix.h.
|
default |
Default constructor for an empty object.
|
inline |
Constructor setting up pointers to the matrices in M
by calling initialize().
Definition at line 231 of file mg_matrix.h.
|
inline |
Initialize the object such that the level multiplication uses the matrices in M
Definition at line 203 of file mg_matrix.h.
|
inline |
Reset the object.
Definition at line 222 of file mg_matrix.h.
|
inline |
Access matrix on a level.
Definition at line 240 of file mg_matrix.h.
|
overridevirtual |
Matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< VectorType >.
Definition at line 249 of file mg_matrix.h.
|
overridevirtual |
Adding matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< VectorType >.
Definition at line 260 of file mg_matrix.h.
|
overridevirtual |
Transpose matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< VectorType >.
Definition at line 271 of file mg_matrix.h.
|
overridevirtual |
Adding transpose matrix-vector-multiplication on a certain level.
Implements MGMatrixBase< VectorType >.
Definition at line 282 of file mg_matrix.h.
|
overridevirtual |
Return the minimal level for which matrices are stored.
Implements MGMatrixBase< VectorType >.
Definition at line 293 of file mg_matrix.h.
|
overridevirtual |
Return the minimal level for which matrices are stored.
Implements MGMatrixBase< VectorType >.
Definition at line 302 of file mg_matrix.h.
|
inline |
Memory used by this object.
Definition at line 311 of file mg_matrix.h.
|
private |
Definition at line 107 of file mg_matrix.h.