Accelerators
*Accelerator, Type = <method> [, default]
<subsequent line>
Available with upcoming release
The *Accelerator command will be available with the upcoming release and replaces the *Accelerator command (backward compatibility is maintained)
In strongly nonlinear problems, the Newton-Raphson solution procedure - used by default in numgeo - may fail to converge or even diverge during equilibrium iterations. To address such issues and improve convergence behaviour, solution accelerators are available.
Two fundamentally different strategies are provided. Line search methods scale the iterative correction along its original direction:
Anderson acceleration combines information from successive iterations to modify both the magnitude and the direction of the update. Both approaches are disabled by default and can be activated using the *Accelerator command.
-
Theory Manual
Keyword Options
-
Type = <method>Specifies the acceleration strategy to be used. This keyword is mandatory. Available options are:
Relaxation- uses a fixed scaling factorBack-looking- determines \(\lambda\) from the previous iteration using a linear modelLinear- determines \(\lambda\) using a linear model with an additional residual assemblyAnderson- depth-1 Anderson acceleration of the fixed-point iteration
Type = Relaxation
*Accelerator, type = relaxation [, default]
lambda
This option applies a constant scaling factor \(\lambda\) to the correction vector in each iteration. A typical value is in the range \(0 \leq \lambda \leq 1\).
If default is specified, \(\lambda = 0.8\) is used.
Type = Back-looking
*Accelerator, type = back-looking [, default]
lambda_min, lambda_max
This method estimates an optimal scaling factor \(\lambda\) from a linear interpolation of the residual using information already available from the previous iteration. No additional residual assembly is required.
lambda_min: Lower bound for the scaling factorlambda_max: Upper bound for the scaling factor
If default is specified, no subsequent line is required and lambda_min = 0.5 and lambda_max = 1.0 are used.
Type = Linear
*Accelerator, type = linear [, default]
lambda_min, lambda_max
This method estimates an optimal scaling factor \(\lambda\) by linearly interpolating the residual. Unlike the back-looking method, this requires one additional residual assembly per iteration.
lambda_min: Lower bound for the scaling factorlambda_max: Upper bound for the scaling factor
If default is specified, no subsequent line is required and lambda_min = 0.5 and lambda_max = 1.0 are used.
Multi-field simulations
In simulations involving multiple active physical fields, such as a consolidation analysis using coupled two-phase elements, the scaling factor \(\lambda\) is calculated separately for each active field.
Type = Anderson
*Accelerator, type = anderson [, default]
alpha_max
This method accelerates the convergence of fixed-point iterations by combining the current and previous corrections in a least-squares optimal way. Unlike line search, it modifies both the magnitude and the direction of the iterative update. It is particularly effective in problems where the Jacobian is held constant across iterations, such as strength reduction analyses with an elastic tangent.
alpha_max: Upper bound for the mixing parameter \(|\alpha|\)
If default is specified, no subsequent line is required and alpha_max = 2.0 is used.
Not combinable with line search
Anderson acceleration and line search are mutually exclusive. Selecting type = anderson disables all line search scaling. The two methods must not be combined, because Anderson acceleration assumes that the correction vector has not been rescaled.