![]() |
Reference documentation for deal.II version 9.2.0
|
#include <deal.II/matrix_free/operators.h>
Public Types | |
| using | value_type = typename Base< dim, VectorType, VectorizedArrayType >::value_type |
| using | size_type = typename Base< dim, VectorType, VectorizedArrayType >::size_type |
Public Types inherited from MatrixFreeOperators::Base< dim, LinearAlgebra::distributed::Vector< double >, VectorizedArray< typename VectorType::value_type > > | |
| using | value_type = typename VectorType::value_type |
| using | size_type = typename VectorType::size_type |
Public Member Functions | |
| MassOperator () | |
| virtual void | compute_diagonal () override |
Public Member Functions inherited from MatrixFreeOperators::Base< dim, LinearAlgebra::distributed::Vector< double >, VectorizedArray< typename VectorType::value_type > > | |
| Base () | |
| virtual | ~Base () override=default |
| virtual void | clear () |
| void | initialize (std::shared_ptr< const MatrixFree< dim, value_type, VectorizedArray< typename VectorType::value_type > >> data, const std::vector< unsigned int > &selected_row_blocks=std::vector< unsigned int >(), const std::vector< unsigned int > &selected_column_blocks=std::vector< unsigned int >()) |
| void | initialize (std::shared_ptr< const MatrixFree< dim, value_type, VectorizedArray< typename VectorType::value_type > >> data, const MGConstrainedDoFs &mg_constrained_dofs, const unsigned int level, const std::vector< unsigned int > &selected_row_blocks=std::vector< unsigned int >()) |
| void | initialize (std::shared_ptr< const MatrixFree< dim, value_type, VectorizedArray< typename VectorType::value_type > >> data_, const std::vector< MGConstrainedDoFs > &mg_constrained_dofs, const unsigned int level, const std::vector< unsigned int > &selected_row_blocks=std::vector< unsigned int >()) |
| size_type | m () const |
| size_type | n () const |
| void | vmult_interface_down (LinearAlgebra::distributed::Vector< double > &dst, const LinearAlgebra::distributed::Vector< double > &src) const |
| void | vmult_interface_up (LinearAlgebra::distributed::Vector< double > &dst, const LinearAlgebra::distributed::Vector< double > &src) const |
| void | vmult (LinearAlgebra::distributed::Vector< double > &dst, const LinearAlgebra::distributed::Vector< double > &src) const |
| void | Tvmult (LinearAlgebra::distributed::Vector< double > &dst, const LinearAlgebra::distributed::Vector< double > &src) const |
| void | vmult_add (LinearAlgebra::distributed::Vector< double > &dst, const LinearAlgebra::distributed::Vector< double > &src) const |
| void | Tvmult_add (LinearAlgebra::distributed::Vector< double > &dst, const LinearAlgebra::distributed::Vector< double > &src) const |
| value_type | el (const unsigned int row, const unsigned int col) const |
| virtual std::size_t | memory_consumption () const |
| void | initialize_dof_vector (LinearAlgebra::distributed::Vector< double > &vec) const |
| std::shared_ptr< const MatrixFree< dim, value_type, VectorizedArray< typename VectorType::value_type > > > | get_matrix_free () const |
| const std::shared_ptr< DiagonalMatrix< LinearAlgebra::distributed::Vector< double > > > & | get_matrix_diagonal_inverse () const |
| const std::shared_ptr< DiagonalMatrix< LinearAlgebra::distributed::Vector< double > > > & | get_matrix_diagonal () const |
| void | precondition_Jacobi (LinearAlgebra::distributed::Vector< double > &dst, const LinearAlgebra::distributed::Vector< double > &src, const value_type omega) const |
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 Member Functions | |
| virtual void | apply_add (VectorType &dst, const VectorType &src) const override |
| void | local_apply_cell (const MatrixFree< dim, value_type, VectorizedArrayType > &data, VectorType &dst, const VectorType &src, const std::pair< unsigned int, unsigned int > &cell_range) const |
This class implements the operation of the action of a mass matrix.
Note that this class only supports the non-blocked vector variant of the Base operator because only a single FEEvaluation object is used in the apply function.
Definition at line 747 of file operators.h.
| using MatrixFreeOperators::MassOperator< dim, fe_degree, n_q_points_1d, n_components, VectorType, VectorizedArrayType >::value_type = typename Base<dim, VectorType, VectorizedArrayType>::value_type |
Number alias.
Definition at line 753 of file operators.h.
| using MatrixFreeOperators::MassOperator< dim, fe_degree, n_q_points_1d, n_components, VectorType, VectorizedArrayType >::size_type = typename Base<dim, VectorType, VectorizedArrayType>::size_type |
size_type needed for preconditioner classes.
Definition at line 759 of file operators.h.
| MatrixFreeOperators::MassOperator< dim, fe_degree, n_q_points_1d, n_components, VectorType, VectorizedArrayType >::MassOperator |
Constructor.
Definition at line 1775 of file operators.h.
|
overridevirtual |
For preconditioning, we store a lumped mass matrix at the diagonal entries.
Definition at line 1793 of file operators.h.
|
overrideprivatevirtual |
Applies the mass matrix operation on an input vector. It is assumed that the passed input and output vector are correctly initialized using initialize_dof_vector().
Definition at line 1837 of file operators.h.
|
private |
For this operator, there is just a cell contribution.
Definition at line 1858 of file operators.h.