BFGS
Last updated
Last updated
The BFGS
solver uses the rank-two update algorithm BFGS.
Alternatively, the limited memory version can also be switched on.
The implementation is based on Algorithm 7.4.
The global stiffness matrix is assembled in the very first iteration of each sub-step. Subsequent iterations use this matrix as the initial Hessian.
Since BFGS possesses a super-linear convergence rate, the overall performance should be better than that of the modified Newton method.
Regardless of whether LBFGS is used, the maximum number of iterations will be limited to the size of the problem.
There is no support for constraints implemented via the Lagrange multiplier method.
Theoretically, BFGS only works on symmetric positive definite systems. The algorithm will eventually fail if the system is not positive definite. Thus, it cannot be used in problems that exhibits material softening, snap-back, snap-through, etc. However, the solver itself does not validate the type of systems given.