Reference documentation for deal.II version 9.0.0
|
#include <deal.II/matrix_free/operators.h>
Public Types | |
typedef Base< dim, VectorType >::value_type | value_type |
typedef Base< dim, VectorType >::size_type | size_type |
Public Types inherited from MatrixFreeOperators::Base< dim, VectorType > | |
typedef VectorType::value_type | value_type |
typedef VectorType::size_type | size_type |
Public Member Functions | |
MassOperator () | |
virtual void | compute_diagonal () |
Public Member Functions inherited from MatrixFreeOperators::Base< dim, VectorType > | |
Base () | |
virtual | ~Base ()=default |
virtual void | clear () |
void | initialize (std::shared_ptr< const MatrixFree< dim, 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 > > 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 > > 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 (VectorType &dst, const VectorType &src) const |
void | vmult_interface_up (VectorType &dst, const VectorType &src) const |
void | vmult (VectorType &dst, const VectorType &src) const |
void | Tvmult (VectorType &dst, const VectorType &src) const |
void | vmult_add (VectorType &dst, const VectorType &src) const |
void | Tvmult_add (VectorType &dst, const VectorType &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 (VectorType &vec) const |
std::shared_ptr< const MatrixFree< dim, value_type > > | get_matrix_free () const |
const std::shared_ptr< DiagonalMatrix< VectorType > > & | get_matrix_diagonal_inverse () const |
const std::shared_ptr< DiagonalMatrix< VectorType > > & | get_matrix_diagonal () const |
void | precondition_Jacobi (VectorType &dst, const VectorType &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 (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) |
Private Member Functions | |
virtual void | apply_add (VectorType &dst, const VectorType &src) const |
void | local_apply_cell (const MatrixFree< dim, value_type > &data, VectorType &dst, const VectorType &src, const std::pair< unsigned int, unsigned int > &cell_range) const |
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) |
Protected Member Functions inherited from MatrixFreeOperators::Base< dim, VectorType > | |
void | preprocess_constraints (VectorType &dst, const VectorType &src) const |
void | postprocess_constraints (VectorType &dst, const VectorType &src) const |
void | set_constrained_entries_to_one (VectorType &dst) const |
virtual void | Tapply_add (VectorType &dst, const VectorType &src) const |
Protected Attributes inherited from MatrixFreeOperators::Base< dim, VectorType > | |
std::shared_ptr< const MatrixFree< dim, value_type > > | data |
std::shared_ptr< DiagonalMatrix< VectorType > > | diagonal_entries |
std::shared_ptr< DiagonalMatrix< VectorType > > | inverse_diagonal_entries |
std::vector< unsigned int > | selected_rows |
std::vector< unsigned int > | selected_columns |
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 642 of file operators.h.
typedef Base<dim,VectorType>::value_type MatrixFreeOperators::MassOperator< dim, fe_degree, n_q_points_1d, n_components, VectorType >::value_type |
Number typedef.
Definition at line 648 of file operators.h.
typedef Base<dim,VectorType>::size_type MatrixFreeOperators::MassOperator< dim, fe_degree, n_q_points_1d, n_components, VectorType >::size_type |
size_type needed for preconditioner classes.
Definition at line 653 of file operators.h.
MatrixFreeOperators::MassOperator< dim, fe_degree, n_q_points_1d, n_components, VectorType >::MassOperator | ( | ) |
Constructor.
Definition at line 1561 of file operators.h.
|
virtual |
For preconditioning, we store a lumped mass matrix at the diagonal entries.
Implements MatrixFreeOperators::Base< dim, VectorType >.
Definition at line 1571 of file operators.h.
|
privatevirtual |
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().
Implements MatrixFreeOperators::Base< dim, VectorType >.
Definition at line 1604 of file operators.h.
|
private |
For this operator, there is just a cell contribution.
Definition at line 1616 of file operators.h.