ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
ryujin::DiagonalPreconditioner< Number > Class Template Reference

#include <source/diagonal_preconditioner.h>

Public Types

using ScalarHostVector = typename Vectors::ScalarHostVector< Number >
 
using BlockHostVector = typename Vectors::BlockHostVector< Number >
 

Public Member Functions

 DiagonalPreconditioner ()=default
 
void reinit (const std::shared_ptr< const dealii::Utilities::MPI::Partitioner > &scalar_partitioner)
 
ScalarHostVectorscaling_vector ()
 
void vmult (ScalarHostVector &dst, const ScalarHostVector &src) const
 
void vmult (BlockHostVector &dst, const BlockHostVector &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 23 of file diagonal_preconditioner.h.

Member Typedef Documentation

◆ ScalarHostVector

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

Definition at line 29 of file diagonal_preconditioner.h.

◆ BlockHostVector

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

Definition at line 34 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 44 of file diagonal_preconditioner.h.

◆ scaling_vector()

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

Get access to the internal vector to be externally filled.

Definition at line 53 of file diagonal_preconditioner.h.

◆ vmult() [1/2]

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

Apply on a scalar vector.

Definition at line 61 of file diagonal_preconditioner.h.

◆ vmult() [2/2]

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

Apply on a block vector.

Definition at line 76 of file diagonal_preconditioner.h.


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