ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
Public Types | Public Member Functions | List of all members
ryujin::DiagonalPreconditioner< Number > Class Template Reference

#include <source/diagonal_preconditioner.h>

Public Types

using ScalarVector = typename Vectors::ScalarVector< Number >
 
using BlockVector = typename Vectors::BlockVector< Number >
 

Public Member Functions

 DiagonalPreconditioner ()=default
 
void reinit (const std::shared_ptr< const dealii::Utilities::MPI::Partitioner > &scalar_partitioner)
 
ScalarVectorscaling_vector ()
 
void vmult (ScalarVector &dst, const ScalarVector &src) const
 
void vmult (BlockVector &dst, const BlockVector &src) const
 

Detailed Description

template<typename Number>
class ryujin::DiagonalPreconditioner< Number >

A preconditioner implementing a diagonal scaling used for the non-multigrid CG iteration.

Definition at line 21 of file diagonal_preconditioner.h.

Member Typedef Documentation

◆ ScalarVector

template<typename Number >
using ryujin::DiagonalPreconditioner< Number >::ScalarVector = typename Vectors::ScalarVector<Number>

Definition at line 27 of file diagonal_preconditioner.h.

◆ BlockVector

template<typename Number >
using ryujin::DiagonalPreconditioner< Number >::BlockVector = typename Vectors::BlockVector<Number>

Definition at line 32 of file diagonal_preconditioner.h.

Constructor & Destructor Documentation

◆ DiagonalPreconditioner()

template<typename Number >
ryujin::DiagonalPreconditioner< Number >::DiagonalPreconditioner ( )
default

Constructor

Member Function Documentation

◆ reinit()

template<typename Number >
void ryujin::DiagonalPreconditioner< Number >::reinit ( const std::shared_ptr< const dealii::Utilities::MPI::Partitioner > &  scalar_partitioner)
inline

Reinit with a scalar partitioner

Definition at line 42 of file diagonal_preconditioner.h.

◆ scaling_vector()

template<typename Number >
ScalarVector & ryujin::DiagonalPreconditioner< Number >::scaling_vector ( )
inline

Get access to the internal vector to be externally filled.

Definition at line 51 of file diagonal_preconditioner.h.

◆ vmult() [1/2]

template<typename Number >
void ryujin::DiagonalPreconditioner< Number >::vmult ( ScalarVector dst,
const ScalarVector src 
) const
inline

Apply on a scalar vector.

Definition at line 59 of file diagonal_preconditioner.h.

◆ vmult() [2/2]

template<typename Number >
void ryujin::DiagonalPreconditioner< Number >::vmult ( BlockVector dst,
const BlockVector src 
) const
inline

Apply on a block vector.

Definition at line 74 of file diagonal_preconditioner.h.


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