deal.II version GIT relicensing-6839-g338455934c 2026-10-02 12:10:01+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\}}\)
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
LinearAlgebra::TpetraWrappers::PreconditionChebyshev< Number, MemorySpace >::AdditionalData Struct Reference

The set of additional parameters to tune the preconditioner. More...

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

Detailed Description

template<typename Number, typename MemorySpace = ::MemorySpace::Host>
struct LinearAlgebra::TpetraWrappers::PreconditionChebyshev< Number, MemorySpace >::AdditionalData

The set of additional parameters to tune the preconditioner.

Definition at line 798 of file trilinos_tpetra_precondition.h.

Public Member Functions

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

Public Attributes

int degree
 Degree of the Chebyshev polynomial.
 
double max_eigenvalue
 
double min_eigenvalue
 
double eigenvalue_ratio
 Estimated ratio between maximum and minimum eigenvalue.
 
double min_diagonal
 Threshold below which entries will be fixed.
 
bool nonzero_starting
 Do not zero starting entries of solution vector.
 

Constructor & Destructor Documentation

◆ AdditionalData()

template<typename Number , typename MemorySpace = ::MemorySpace::Host>
LinearAlgebra::TpetraWrappers::PreconditionChebyshev< Number, MemorySpace >::AdditionalData::AdditionalData ( const int  degree = 1,
const double  max_eigenvalue = 10.,
const double  min_eigenvalue = 1.,
const double  eigenvalue_ratio = 30.,
const double  min_diagonal = 1e-12,
const bool  nonzero_starting = false 
)

Constructor.

Parameters
degreeDegree of the Chebyshev polynomial.
max_eigenvalueUpper bound for the maximum eigenvalue of the matrix.
min_eigenvalueLower bound for the minimum eigenvalue of the matrix.
eigenvalue_ratioRatio between maximum and minimum eigenvalue.
min_diagonalThreshold for increasing diagonal entries.
nonzero_startingDo not zero starting entries of solution.

Member Data Documentation

◆ degree

template<typename Number , typename MemorySpace = ::MemorySpace::Host>
int LinearAlgebra::TpetraWrappers::PreconditionChebyshev< Number, MemorySpace >::AdditionalData::degree

Degree of the Chebyshev polynomial.

The degree directly corresponds to the number of matrix-vector products that have to be performed during a single application of the vmult() and Tvmult() operations.

Definition at line 823 of file trilinos_tpetra_precondition.h.

◆ max_eigenvalue

template<typename Number , typename MemorySpace = ::MemorySpace::Host>
double LinearAlgebra::TpetraWrappers::PreconditionChebyshev< Number, MemorySpace >::AdditionalData::max_eigenvalue

Definition at line 831 of file trilinos_tpetra_precondition.h.

◆ min_eigenvalue

template<typename Number , typename MemorySpace = ::MemorySpace::Host>
double LinearAlgebra::TpetraWrappers::PreconditionChebyshev< Number, MemorySpace >::AdditionalData::min_eigenvalue

Definition at line 836 of file trilinos_tpetra_precondition.h.

◆ eigenvalue_ratio

template<typename Number , typename MemorySpace = ::MemorySpace::Host>
double LinearAlgebra::TpetraWrappers::PreconditionChebyshev< Number, MemorySpace >::AdditionalData::eigenvalue_ratio

Estimated ratio between maximum and minimum eigenvalue.

Definition at line 841 of file trilinos_tpetra_precondition.h.

◆ min_diagonal

template<typename Number , typename MemorySpace = ::MemorySpace::Host>
double LinearAlgebra::TpetraWrappers::PreconditionChebyshev< Number, MemorySpace >::AdditionalData::min_diagonal

Threshold below which entries will be fixed.

If the threshold is zero (default) only entries which are exactly zero will be replaced will small nonzero values.

Definition at line 849 of file trilinos_tpetra_precondition.h.

◆ nonzero_starting

template<typename Number , typename MemorySpace = ::MemorySpace::Host>
bool LinearAlgebra::TpetraWrappers::PreconditionChebyshev< Number, MemorySpace >::AdditionalData::nonzero_starting

Do not zero starting entries of solution vector.

The default (false) zeroes out the entries of dst during vmult() and Tvmult() which is the recommended setting.

However, in some situations (e.g. high-frequency error smoothing) it can be useful to append previous data to the Chebyshev corrections. The user should really know what they are doing when setting this flag to true.

Definition at line 862 of file trilinos_tpetra_precondition.h.


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