![]() |
Reference documentation for deal.II version GIT 5ac9d67d2d 2023-06-07 21:45:01+00:00
|
#include <deal.II/lac/solver_gmres.h>
Public Types | |
enum class | OrthogonalizationStrategy { modified_gram_schmidt , classical_gram_schmidt } |
Public Member Functions | |
AdditionalData (const unsigned int max_n_tmp_vectors=30, const bool right_preconditioning=false, const bool use_default_residual=true, const bool force_re_orthogonalization=false, const bool batched_mode=false, const OrthogonalizationStrategy orthogonalization_strategy=OrthogonalizationStrategy::modified_gram_schmidt) | |
Public Attributes | |
unsigned int | max_n_tmp_vectors |
bool | right_preconditioning |
bool | use_default_residual |
bool | force_re_orthogonalization |
bool | batched_mode |
OrthogonalizationStrategy | orthogonalization_strategy |
Standardized data struct to pipe additional data to the solver.
Definition at line 199 of file solver_gmres.h.
|
strong |
Definition at line 201 of file solver_gmres.h.
|
explicit |
Constructor. By default, set the number of temporary vectors to 30, i.e. do a restart every 28 iterations. Also set preconditioning from left, the residual of the stopping criterion to the default residual, and re-orthogonalization only if necessary. Also, the batched mode with reduced functionality to track information is disabled by default.
unsigned int SolverGMRES< VectorType >::AdditionalData::max_n_tmp_vectors |
Maximum number of temporary vectors. This parameter controls the size of the Arnoldi basis, which for historical reasons is max_n_tmp_vectors-2. SolverGMRES assumes that there are at least three temporary vectors, so this value must be greater than or equal to three.
Definition at line 238 of file solver_gmres.h.
bool SolverGMRES< VectorType >::AdditionalData::right_preconditioning |
Flag for right preconditioning.
Definition at line 247 of file solver_gmres.h.
bool SolverGMRES< VectorType >::AdditionalData::use_default_residual |
Flag for the default residual that is used to measure convergence.
Definition at line 252 of file solver_gmres.h.
bool SolverGMRES< VectorType >::AdditionalData::force_re_orthogonalization |
Flag to force re-orthogonalization of orthonormal basis in every step. If set to false, the solver automatically checks for loss of orthogonality every 5 iterations and enables re-orthogonalization only if necessary.
Definition at line 260 of file solver_gmres.h.
bool SolverGMRES< VectorType >::AdditionalData::batched_mode |
Flag to control whether a reduced mode of the solver should be run. This is necessary when running (several) SolverGMRES instances involving very small and cheap linear systems where the feedback from all signals, eigenvalue computations, and log stream are disabled.
Definition at line 268 of file solver_gmres.h.
OrthogonalizationStrategy SolverGMRES< VectorType >::AdditionalData::orthogonalization_strategy |
Strategy to orthogonalize vectors.
Definition at line 273 of file solver_gmres.h.