![]() |
deal.II version 9.7.0
|
#include <deal.II/lac/precondition.h>
Class for parameters.
Definition at line 578 of file precondition.h.

Public Types | |
| using | EigenvalueAlgorithm = internal::EigenvalueAlgorithm |
Public Member Functions | |
| AdditionalData (const double relaxation=1., const unsigned int n_iterations=1, const double smoothing_range=0., const unsigned int eig_cg_n_iterations=8, const double eig_cg_residual=1e-2, const double max_eigenvalue=1, const EigenvalueAlgorithm eigenvalue_algorithm=EigenvalueAlgorithm::lanczos) | |
Public Attributes | |
| double | relaxation |
| unsigned int | n_iterations |
| double | smoothing_range |
| unsigned int | eig_cg_n_iterations |
| double | eig_cg_residual |
| double | max_eigenvalue |
| ::AffineConstraints< double > | constraints |
| EigenvalueAlgorithm | eigenvalue_algorithm |
| std::shared_ptr< PreconditionerType > | preconditioner |
| using PreconditionRelaxation< MatrixType, PreconditionerType >::AdditionalData::EigenvalueAlgorithm = internal::EigenvalueAlgorithm |
Definition at line 582 of file precondition.h.
| PreconditionRelaxation< MatrixType, PreconditionerType >::AdditionalData::AdditionalData | ( | const double | relaxation = 1., |
| const unsigned int | n_iterations = 1, | ||
| const double | smoothing_range = 0., | ||
| const unsigned int | eig_cg_n_iterations = 8, | ||
| const double | eig_cg_residual = 1e-2, | ||
| const double | max_eigenvalue = 1, | ||
| const EigenvalueAlgorithm | eigenvalue_algorithm = EigenvalueAlgorithm::lanczos ) |
Constructor.
| double PreconditionRelaxation< MatrixType, PreconditionerType >::AdditionalData::relaxation |
Relaxation parameter.
Definition at line 599 of file precondition.h.
| unsigned int PreconditionRelaxation< MatrixType, PreconditionerType >::AdditionalData::n_iterations |
Number of smoothing steps to be performed in an invocation of vmult() or step().
Definition at line 605 of file precondition.h.
|
inherited |
This sets the range between the largest eigenvalue in the matrix and the smallest eigenvalue to be treated. If the parameter is set to a number less than 1, an estimate for the largest and for the smallest eigenvalue will be calculated internally. For a smoothing range larger than one, the preconditioner will act in the interval \([\lambda_\mathrm{max}/ \tt{smoothing\_range}, \lambda_\mathrm{max}]\), where \(\lambda_\mathrm{max}\) 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 159 of file precondition.h.
|
inherited |
Maximum number of CG iterations performed for finding the maximum eigenvalue. If set to zero, no computations are performed. Instead, the user must supply a largest eigenvalue via the variable PreconditionRelaxation::AdditionalData::max_eigenvalue.
Definition at line 167 of file precondition.h.
|
inherited |
Tolerance for iterations performed for finding the maximum eigenvalue by the eigenvalue algorithm (Lanczos or power iteration).
Definition at line 173 of file precondition.h.
|
inherited |
Maximum eigenvalue to work with. Only in effect if eig_cg_n_iterations is set to zero, otherwise this parameter is ignored.
Definition at line 180 of file precondition.h.
|
inherited |
Constraints to be used for the operator given. This variable is used to zero out the correct entries when creating an initial guess.
Definition at line 186 of file precondition.h.
|
inherited |
Stores the preconditioner object that the Chebyshev is wrapped around.
Definition at line 191 of file precondition.h.
|
inherited |
Preconditioner.
Definition at line 196 of file precondition.h.