G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
preAAParam< Scalar > Class Template Reference

Detailed Description

template<typename Scalar = double>
class gismo::preAAParam< Scalar >

Parameters to control the preconditioned Anderson Acceleration algorithm

Public Member Functions

void check_param () const
 
 preAAParam ()
 

Public Attributes

Scalar epsilon
 
Scalar epsilon_rel
 
int m
 
int max_iterations
 
int updatePreconditionerStep
 
bool usePreconditioning
 

Constructor & Destructor Documentation

◆ preAAParam()

template<typename Scalar = double>
preAAParam ( )
inline

Constructor for preAA parameters. Default values for parameters will be set when the object is created.

Member Function Documentation

◆ check_param()

template<typename Scalar = double>
void check_param ( ) const
inline

Checking the validity of preconditioned AA parameters. An std::invalid_argument exception will be thrown if some parameter is invalid.

Member Data Documentation

◆ epsilon

template<typename Scalar = double>
Scalar epsilon

Absolute tolerance for convergence test. This parameter determines the absolute accuracy \(\epsilon_{abs}\) with which the solution is to be found. A minimization terminates when \(||F|| < \epsilon_{abs}\), where \(||\cdot||\) denotes the Euclidean (L2) norm. The default value is 1e-5.

◆ epsilon_rel

template<typename Scalar = double>
Scalar epsilon_rel

Relative tolerance for convergence test. This parameter determines the relative accuracy \(\epsilon_{rel}\) with which the solution is to be found. A minimization terminates when \(||F|| < \max\{\epsilon_{abs}, \epsilon_{rel}||x||\}\), where \(||\cdot||\) denotes the Euclidean (L2) norm. The default value is 1e-5.

◆ m

template<typename Scalar = double>
int m

Depth: The number of previous iterates used for Andreson Acceleration. Typically in application m is small, say <= 10. There is usually little advantage in large m. The default value is 5. Large values result in excessive computing time.

◆ max_iterations

template<typename Scalar = double>
int max_iterations

The maximum number of iterations. The iteration process is terminated when the iteration count exceeds this parameter. Setting this parameter to zero continues an iteration process until a convergence or error. The default value is 0.

◆ updatePreconditionerStep

template<typename Scalar = double>
int updatePreconditionerStep

The step to update the preconditioner. update the preconditioner every updatePreconditionerStep step

◆ usePreconditioning

template<typename Scalar = double>
bool usePreconditioning

Mixing or damping parameter. It plays exactly the same role as it does for Picard iteration. One could vary beta as the iteration. Use preconditioning or not?