![]() |
deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+00:00
|
#include <deal.II/lac/precondition.h>
Class for parameters.
Definition at line 585 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, const double safety_factor=1.2) | |
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 |
| double | safety_factor |
| std::shared_ptr< PreconditionerType > | preconditioner |
| using PreconditionRelaxation< MatrixType, PreconditionerType >::AdditionalData::EigenvalueAlgorithm = internal::EigenvalueAlgorithm |
Definition at line 589 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, |
||
| const double | safety_factor = 1.2 |
||
| ) |
Constructor.
| double PreconditionRelaxation< MatrixType, PreconditionerType >::AdditionalData::relaxation |
Relaxation parameter.
Definition at line 607 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 613 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 158 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 166 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 172 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 179 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 185 of file precondition.h.
|
inherited |
Stores the preconditioner object that the Chebyshev is wrapped around.
Definition at line 190 of file precondition.h.
|
inherited |
Safety factor that is multiplied to the estimated maximum eigenvalue before it is used in the preconditioner. This should be larger than 1 (default: 1.2) to ensure that the maximum eigenvalue is not underestimated.
Definition at line 198 of file precondition.h.
|
inherited |
Preconditioner.
Definition at line 203 of file precondition.h.