Reference documentation for deal.II version GIT relicensing-464-g14f7274e4d 2024-04-22 15:40:02+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
No Matches
Public Member Functions | Public Attributes | List of all members
TrilinosWrappers::PreconditionChebyshev::AdditionalData Struct Reference

#include <deal.II/lac/trilinos_precondition.h>

Public Member Functions

 AdditionalData (const unsigned int degree=1, const double max_eigenvalue=10., const double eigenvalue_ratio=30., const double min_eigenvalue=1., const double min_diagonal=1e-12, const bool nonzero_starting=false)

Public Attributes

unsigned int degree
double max_eigenvalue
double eigenvalue_ratio
double min_eigenvalue
double min_diagonal
bool nonzero_starting

Detailed Description

Standardized data struct to pipe additional parameters to the preconditioner.

Definition at line 1213 of file trilinos_precondition.h.

Constructor & Destructor Documentation

◆ AdditionalData()

PreconditionChebyshev< MatrixType, VectorType, PreconditionerType >::AdditionalData::AdditionalData ( const unsigned int  degree = 1,
const double  max_eigenvalue = 10.,
const double  eigenvalue_ratio = 30.,
const double  min_eigenvalue = 1.,
const double  min_diagonal = 1e-12,
const bool  nonzero_starting = false 


Definition at line 637 of file

Member Data Documentation

◆ degree

unsigned int TrilinosWrappers::PreconditionChebyshev::AdditionalData::degree

This determines the degree of the Chebyshev polynomial. The degree of the polynomial gives the number of matrix-vector products to be performed for one application of the vmult() operation.

Definition at line 1230 of file trilinos_precondition.h.

◆ max_eigenvalue

double TrilinosWrappers::PreconditionChebyshev::AdditionalData::max_eigenvalue

This sets the maximum eigenvalue of the matrix, which needs to be set properly for appropriate performance of the Chebyshev preconditioner.

Definition at line 1236 of file trilinos_precondition.h.

◆ eigenvalue_ratio

double TrilinosWrappers::PreconditionChebyshev::AdditionalData::eigenvalue_ratio

This sets the ratio between the maximum and the minimum eigenvalue.

Definition at line 1241 of file trilinos_precondition.h.

◆ min_eigenvalue

double TrilinosWrappers::PreconditionChebyshev::AdditionalData::min_eigenvalue

This sets the minimum eigenvalue, which is an optional parameter only used internally for checking whether we use an identity matrix.

Definition at line 1247 of file trilinos_precondition.h.

◆ min_diagonal

double TrilinosWrappers::PreconditionChebyshev::AdditionalData::min_diagonal

This sets a threshold below which the diagonal element will not be inverted in the Chebyshev algorithm.

Definition at line 1253 of file trilinos_precondition.h.

◆ nonzero_starting

bool TrilinosWrappers::PreconditionChebyshev::AdditionalData::nonzero_starting

When this flag is set to true, it enables the method vmult(dst, src) to use non-zero data in the vector dst, appending to it the Chebyshev corrections. This can be useful in some situations (e.g. when used for high-frequency error smoothing), but not the way the solver classes expect a preconditioner to work (where one ignores the content in dst for the preconditioner application). The user should really know what they are doing when touching this flag.

Definition at line 1265 of file trilinos_precondition.h.

The documentation for this struct was generated from the following files: