Skip to content

BFGS

Module: core

Category: newtonstrategy

Type string: "BFGS"

Parameters

Name Description Default Units
max_ups max_ups 10 []
max_buffer_size max_buffer_size 0 []
cycle_buffer cycle_buffer true []
cmax cmax 100000 []

Description

The BFGS (Broyden–Fletcher–Goldfarb–Shanno) Newton strategy is the default strategy that FEBio uses for symmetric matrices. It can still be used with non–symmetric matrices, but the convergence might be compromised.

The BFGS method calculates the global stiffness matrix at the beginning of each time step. For each iteration, a matrix update is then done. The maximum number of such updates is set with max_ups. When FEBio reaches this number, or if the solution diverges and diverge_reform is set to 1, it reforms the global stiffness matrix (that is, it recalculates it) and factorizes it, essentially taking a "full Newton" iteration. Then FEBio continues with BFGS iterations. The max_refs parameter is used to set the maximum of such reformations FEBio can do, before it fails the timestep. In that case, FEBio will either terminate or, if the auto-time stepper is enabled, retry with a smaller time step size.