G+Smo  23.12.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 ( )
inline

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

Member Function Documentation

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

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.

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.

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.

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.

int updatePreconditionerStep

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

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?