ExaDG
|
#include <inverse_mass_preconditioner.h>
Public Types | |
typedef PreconditionerBase< Number >::VectorType | VectorType |
Public Types inherited from ExaDG::PreconditionerBase< Number > | |
typedef dealii::LinearAlgebra::distributed::Vector< Number > | VectorType |
Public Member Functions | |
InverseMassPreconditioner (dealii::MatrixFree< dim, Number > const &matrix_free, InverseMassOperatorData const inverse_mass_operator_data) | |
void | vmult (VectorType &dst, VectorType const &src) const final |
void | update () final |
Public Member Functions inherited from ExaDG::PreconditionerBase< Number > | |
bool | needs_update () const |
virtual void | vmult (VectorType &dst, VectorType const &src) const=0 |
virtual std::shared_ptr< TimerTree > | get_timings () const |
Additional Inherited Members | |
Protected Attributes inherited from ExaDG::PreconditionerBase< Number > | |
bool | update_needed |
A preconditioner available for discontinuous Galerkin methods. This class is simply a wrapper around the InverseMassOperator, realizing the interface defined by PreconditionerBase. It is not only available for ElementType:Hypercube, but e.g. also for ElementType::Simplex.
Note, however, that application of this preconditioner might be expensive in case that the inverse mass can not be realized as a matrix-free operator evaluation (which is the case for simplex elements). In this case, you might want to use a simple Jacobi preconditioner as an efficient alternative to the inverse mass preconditioner.
|
inlinefinalvirtual |
Implements ExaDG::PreconditionerBase< Number >.