Ifpack2 Templated Preconditioning Package
Version 1.0
|
Input arguments to applyInverseJacobi
More...
#include <Ifpack2_BlockTriDiContainer_decl.hpp>
Public Attributes | |
bool | zeroStartingSolution = false |
scalar_type | dampingFactor = Kokkos::ArithTraits<scalar_type>::one() |
Damping factor. Defaults to 1. More... | |
int | maxNumSweeps = 1 |
magnitude_type | tolerance = Kokkos::ArithTraits<magnitude_type>::zero() |
int | checkToleranceEvery = 1 |
Input arguments to applyInverseJacobi
bool Ifpack2::BlockTriDiContainer< MatrixType, BlockTriDiContainerDetails::ImplSimdTag >::ApplyParameters::zeroStartingSolution = false |
Set this to true if Y
is meant to be treated as 0 on entry. Defaults to false.
scalar_type Ifpack2::BlockTriDiContainer< MatrixType, BlockTriDiContainerDetails::ImplSimdTag >::ApplyParameters::dampingFactor = Kokkos::ArithTraits<scalar_type>::one() |
Damping factor. Defaults to 1.
int Ifpack2::BlockTriDiContainer< MatrixType, BlockTriDiContainerDetails::ImplSimdTag >::ApplyParameters::maxNumSweeps = 1 |
The maximum number of sweeps. If the norm-based criterion is not used, it's exactly the number of sweeps. Defaults to 1.
magnitude_type Ifpack2::BlockTriDiContainer< MatrixType, BlockTriDiContainerDetails::ImplSimdTag >::ApplyParameters::tolerance = Kokkos::ArithTraits<magnitude_type>::zero() |
The 2-norm-based termination criterion. If it is larger than 0, then it is used. Termination is then based on maxNumSweeps
and this criterion, whichever is reached first. In the case of multiple right hand sides, norm-based termination occurs only when each vector satisfies the criterion. The criterion for a vector is f(D^{-1} (x - A*y)) <= tolerance * f(D^{-1} (x - R*y_0))
, where y_0
is the input y
, often 0, and f
is the maximum of the 2-norms of each degree of freedom, i.e., index of a block. Defaults to 0.
int Ifpack2::BlockTriDiContainer< MatrixType, BlockTriDiContainerDetails::ImplSimdTag >::ApplyParameters::checkToleranceEvery = 1 |
Check the norm-based termination criterion every checkToleranceEvery
iterations. Defaults to 1. A norm computation requires a global reduction, which is expensive. Hence it can make sense to check for termination only every 2 or 3 iterations if it is anticipated that the number of iterations required to terminate will be sufficiently large to make 1 or 2 extra iterations relatively cheap. Defaults to 1.