Solving residual equilibrium equations at every time step in a response history analysis can make the definition of “Modified Newton” ambiguous. Is it (a) the tangent stiffness at the start of the analysis (the initial stiffness) or (b) the tangent stiffness at the start of each time step?
In OpenSees, the Modified Newton algorithm implements option (b). However, you can also do option (a) if you want to use the initial stiffness.
Before we get to the interpretations of Modified Newton, remember that the Newton-Raphson algorithm uses the tangent stiffness at every equilibrium iteration within a time step.
The Modified Newton algorithm holds the tangent stiffness from the first iteration constant over the entire time step. This algorithm generally requires more iterations to converge than Newton-Raphson.
Newton-Raphson and Modified Newton give the same response after the first equilibrium iteration in a time step. So, just like Newton-Raphson, it’s possible Modified Newton will get stuck with a bad tangent if the resisting force is near a limit point.
If you want to iterate to equilibrium using the initial stiffness from the start of the analysis, use
algorithm Newton -initial in Tcl or
ops.algorithm('Newton','-initial') in Python.
The algorithm will require a lot of iterations to beat the residual down to zero, but you won’t get stuck with a bad tangent.
You can also use
-initialThenCurrent to use the initial stiffness on the first iteration then switch to the current stiffness for subsequent iterations. This option is useful for avoiding residual flip flop when unloading during dynamic analysis, but you can still get stuck with a bad tangent on the subsequent iterations.
There are several other algorithms in the spectrum between Modified Newton and Newton-Raphson, but I’ll save those for another post.