ryujin 2.1.1 revision 5a1111835e8617c1fa5372346ab85a0bd39a2720
Public Types | Public Member Functions | List of all members
ryujin::DiagonalPreconditioner< dim, Number > Class Template Reference

#include <source/diagonal_preconditioner.h>

Public Types

using scalar_type = typename OfflineData< dim, Number >::scalar_type
 
using block_vector_type = dealii::LinearAlgebra::distributed::BlockVector< Number >
 

Public Member Functions

 DiagonalPreconditioner ()=default
 
void reinit (std::shared_ptr< const dealii::Utilities::MPI::Partitioner > scalar_partitioner)
 
scalar_typescaling_vector ()
 
void vmult (scalar_type &dst, const scalar_type &src) const
 
void vmult (block_vector_type &dst, const block_vector_type &src) const
 

Detailed Description

template<int dim, typename Number>
class ryujin::DiagonalPreconditioner< dim, 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

◆ scalar_type

template<int dim, typename Number >
using ryujin::DiagonalPreconditioner< dim, Number >::scalar_type = typename OfflineData<dim, Number>::scalar_type

Shorthand typedef for dealii::LinearAlgebra::distributed::Vector<Number>.

Definition at line 29 of file diagonal_preconditioner.h.

◆ block_vector_type

template<int dim, typename Number >
using ryujin::DiagonalPreconditioner< dim, Number >::block_vector_type = dealii::LinearAlgebra::distributed::BlockVector<Number>

A distributed block vector used for temporary storage of the velocity field.

Definition at line 35 of file diagonal_preconditioner.h.

Constructor & Destructor Documentation

◆ DiagonalPreconditioner()

template<int dim, typename Number >
ryujin::DiagonalPreconditioner< dim, Number >::DiagonalPreconditioner ( )
default

Constructor

Member Function Documentation

◆ reinit()

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

Reinit with a scalar partitioner

Definition at line 46 of file diagonal_preconditioner.h.

◆ scaling_vector()

template<int dim, typename Number >
scalar_type & ryujin::DiagonalPreconditioner< dim, Number >::scaling_vector ( )
inline

Get access to the internal vector to be externally filled.

Definition at line 55 of file diagonal_preconditioner.h.

◆ vmult() [1/2]

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

Apply on a scalar vector.

Definition at line 63 of file diagonal_preconditioner.h.

◆ vmult() [2/2]

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

Apply on a block vector.

Definition at line 78 of file diagonal_preconditioner.h.


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