ExaDG
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
ExaDG::InverseMassPreconditioner< dim, n_components, Number > Class Template Reference

#include <inverse_mass_preconditioner.h>

Inheritance diagram for ExaDG::InverseMassPreconditioner< dim, n_components, Number >:
ExaDG::PreconditionerBase< Number >

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< TimerTreeget_timings () const
 

Additional Inherited Members

- Protected Attributes inherited from ExaDG::PreconditionerBase< Number >
bool update_needed
 

Detailed Description

template<int dim, int n_components, typename Number>
class ExaDG::InverseMassPreconditioner< dim, n_components, Number >

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.

Member Function Documentation

◆ update()

template<int dim, int n_components, typename Number >
void ExaDG::InverseMassPreconditioner< dim, n_components, Number >::update ( )
inlinefinalvirtual

The documentation for this class was generated from the following file: