JacobiPreconditioner< dim, number, VectorType, OperatorType > Class Template Reference

Developer Documentation: MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType > Class Template Reference
Developer Documentation
MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType > Class Template Reference

#include <preconditioner_jacobi.hpp>

Collaboration diagram for MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType >:
[legend]

Public Member Functions

 JacobiPreconditioner (const OperatorType &operator_in, const ScratchData< dim, dim, number > &scratch_data_in, const unsigned dof_idx_in)
 
void vmult (VectorType &dst, const VectorType &src) const
 
void update (const std::any &=std::any())
 
void reinit ()
 

Private Attributes

VectorType inverse_diag
 Inverse values of the system matrix diagonal.
 
const OperatorType & eq_operator
 
const ScratchData< dim, dim, number > & scratch_data
 
const unsigned int dof_idx
 

Constructor & Destructor Documentation

◆ JacobiPreconditioner()

template<int dim, typename number , typename VectorType , JacobiPreconditionerOperatorType< VectorType > OperatorType>
MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType >::JacobiPreconditioner ( const OperatorType &  operator_in,
const ScratchData< dim, dim, number > &  scratch_data_in,
const unsigned  dof_idx_in 
)
inlineexplicit

Constructor.

Parameters
operator_inOperator object used to compute the system matrix representation.

Member Function Documentation

◆ reinit()

template<int dim, typename number , typename VectorType , JacobiPreconditionerOperatorType< VectorType > OperatorType>
void MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType >::reinit ( )
inline

Initialize the internal data structures.

◆ update()

template<int dim, typename number , typename VectorType , JacobiPreconditionerOperatorType< VectorType > OperatorType>
void MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType >::update ( const std::any &  = std::any())
inline

Update the preconditioner. This means to compute the inverse diagonal of the system matrix and store it internally.

Note
The function takes a single value only to confirm to the interface. It is not used in the function.

◆ vmult()

template<int dim, typename number , typename VectorType , JacobiPreconditionerOperatorType< VectorType > OperatorType>
void MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType >::vmult ( VectorType &  dst,
const VectorType &  src 
) const
inline

Apply the preconditioner to the given src vector and store the result in the dst vector.

Parameters
dstVector in which the result is stored.
srcSource vector to which the preconditioner is applied.

Member Data Documentation

◆ dof_idx

template<int dim, typename number , typename VectorType , JacobiPreconditionerOperatorType< VectorType > OperatorType>
const unsigned int MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType >::dof_idx
private

◆ eq_operator

template<int dim, typename number , typename VectorType , JacobiPreconditionerOperatorType< VectorType > OperatorType>
const OperatorType& MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType >::eq_operator
private

◆ inverse_diag

template<int dim, typename number , typename VectorType , JacobiPreconditionerOperatorType< VectorType > OperatorType>
VectorType MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType >::inverse_diag
private

Inverse values of the system matrix diagonal.

◆ scratch_data

template<int dim, typename number , typename VectorType , JacobiPreconditionerOperatorType< VectorType > OperatorType>
const ScratchData<dim, dim, number>& MeltPoolDG::JacobiPreconditioner< dim, number, VectorType, OperatorType >::scratch_data
private

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