Reference documentation for deal.II version 9.0.0
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 1246 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 
)

Constructor.

Definition at line 652 of file trilinos_precondition.cc.

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 1263 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 1269 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 1274 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 1280 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 1286 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 she is doing when touching this flag.

Definition at line 1298 of file trilinos_precondition.h.


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