Public Member Functions | |
| AdditionalData (const unsigned int degree=0, const double smoothing_range=0., const bool nonzero_starting=false, const unsigned int eig_cg_n_iterations=8, const double eig_cg_residual=1e-2) | |
Public Attributes | |
| unsigned int | degree |
| double | smoothing_range |
| bool | nonzero_starting |
| unsigned int | eig_cg_n_iterations |
| double | eig_cg_residual |
| VECTOR | matrix_diagonal_inverse |
Standardized data struct to pipe additional parameters to the preconditioner.
Definition at line 892 of file precondition.h.
| PreconditionChebyshev< MATRIX, VECTOR >::AdditionalData::AdditionalData | ( | const unsigned int | degree = 0, |
| const double | smoothing_range = 0., |
||
| const bool | nonzero_starting = false, |
||
| const unsigned int | eig_cg_n_iterations = 8, |
||
| const double | eig_cg_residual = 1e-2 |
||
| ) |
Constructor.
| unsigned int PreconditionChebyshev< MATRIX, VECTOR >::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. Degree zero corresponds to a damped Jacobi method.
Definition at line 913 of file precondition.h.
| double PreconditionChebyshev< MATRIX, VECTOR >::AdditionalData::smoothing_range |
This sets the range between the largest eigenvalue in the matrix and the smallest eigenvalue to be treated. If the parameter is zero, an estimate for the largest and for the smallest eigenvalue will be calculated internally. Otherwise, the Chebyshev polynomial will act in the interval
, where
is an estimate of the maximum eigenvalue of the matrix. A choice of smoothing_range between 5 and 20 is useful in case the preconditioner is used as a smoother in multigrid.
Definition at line 937 of file precondition.h.
| bool PreconditionChebyshev< MATRIX, VECTOR >::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 in a multigrid algorithm), but not the way the solver classes expect a preconditioner to work (where one ignores the content in dst for the preconditioner application).
Definition at line 956 of file precondition.h.
| unsigned int PreconditionChebyshev< MATRIX, VECTOR >::AdditionalData::eig_cg_n_iterations |
Maximum number of CG iterations performed for finding the maximum eigenvalue.
Definition at line 963 of file precondition.h.
| double PreconditionChebyshev< MATRIX, VECTOR >::AdditionalData::eig_cg_residual |
Tolerance for CG iterations performed for finding the maximum eigenvalue.
Definition at line 970 of file precondition.h.
| VECTOR PreconditionChebyshev< MATRIX, VECTOR >::AdditionalData::matrix_diagonal_inverse |
Stores the inverse of the diagonal of the underlying matrix.
Definition at line 976 of file precondition.h.
documentation generated on Fri Feb 3 2012 06:04:10 by
doxygen
1.7.2