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

#include <elementwise_preconditioners.h>

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

Public Types

typedef CellIntegrator< dim, n_components, Number > Integrator
 
typedef dealii::MatrixFreeOperators::CellwiseInverseMassMatrix< dim, -1, n_components, Number > CellwiseInverseMass
 

Public Member Functions

 InverseMassPreconditioner (dealii::MatrixFree< dim, Number > const &matrix_free, unsigned int const dof_index, unsigned int const quad_index)
 
void setup (unsigned int const cell) final
 
void update () final
 
void vmult (dealii::VectorizedArray< Number > *dst, dealii::VectorizedArray< Number > const *src) const final
 
- Public Member Functions inherited from ExaDG::Elementwise::PreconditionerBase< dealii::VectorizedArray< Number > >
bool needs_update ()
 
virtual void vmult (Number *dst, Number const *src) const=0
 

Additional Inherited Members

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

Detailed Description

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

This class implements an elementwise inverse mass preconditioner. Currently, this class can only be used if the inverse mass can be realized as a matrix-free operator evaluation available via utility functions in deal.II.

Member Function Documentation

◆ setup()

template<int dim, int n_components, typename Number >
void ExaDG::Elementwise::InverseMassPreconditioner< dim, n_components, Number >::setup ( unsigned int const cell)
inlinefinalvirtual

◆ update()

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

◆ vmult()

template<int dim, int n_components, typename Number >
void ExaDG::Elementwise::InverseMassPreconditioner< dim, n_components, Number >::vmult ( dealii::VectorizedArray< Number > * dst,
dealii::VectorizedArray< Number > const * src ) const
inlinefinal

The pointers dst, src may point to the same data.


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