deal.II version 9.7.0
\(\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
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 814 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 840 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 847 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 852 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 857 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 865 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 878 of file trilinos_tpetra_precondition.h.


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