solver, model: arc-length control with critical points from the inertia

NonlinearStatic.arc_length {constraint, max_load_factor, displacement_limit}: Riks–Crisfield
arc-length increments (cylindrical or spherical arc, tangent predictor signed by the angle
criterion, the constraint's quadratic root chosen by the angle with the last iterate), arcs
grown, shrunk and cut back as increments are. The converged state's tangent is factored for the
next predictor (LDLᵀ when indefinite); its negative eigenvalues are recorded per increment and
changes in their count are reported as limit or bifurcation points. Ends at the maximum load
factor, a displacement limit or the increment cap. Abaqus *STATIC, RIKS; LS-DYNA refuses it by
name; forms gain the arc-length group. A shallow arch of hex20 snaps through on the closed-form
path (1.9 %), both limit points found, inertia 0 → 1 → 0 between them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
jyvikoandClaude Opus 5.5 authored and Irakli Kourtis committed 2026-10-14 13:53:27 -04:00
1 parent 72696614c2
commit a953dc6216
11 files changed
+728 -85

No files matched your search

+20
View File
@@ -313,6 +313,26 @@ displacement (at ν = 0.4999 every increment used to be cut back to the cap). On
tangent of a model that can move freely is an error. The tangent predictor of path-dependent
materials keeps Cholesky and is skipped when the tangent is indefinite.
**Arc length.** `"arc_length": {"constraint": "cylindrical"|"spherical", "max_load_factor": 1,
"displacement_limit": {"node", "direction", "displacement"}}` makes the load factor an unknown
(Riks 1979, Crisfield 1981): each increment keeps ‖Δq‖² + w Δλ² = Δl² (w = 0 cylindrical, w the
first tangent displacement's ‖q_f‖² for the spherical arc), predicts along the tangent with the
sign of its angle to the last increment (Feng, Perić & Owen 1996), and corrects with
δq = δq_r + δλ δq_g, δλ the root of the constraint's quadratic whose increment turns least
(Crisfield's angle criterion). The first increment's load factor change is `initial_increment`,
which sets the arc; arcs grow, shrink and cut back as increments do, within the minimum and
maximum increments' arcs. Prescribed motions scale with λ (∂r/∂λ includes −K T_p u_p) and
follower pressures with their current faces. The tangent at every converged state is factored
for the next predictor (LDLᵀ when indefinite); its negative eigenvalues are recorded per
increment (`negative_pivots`), and where their count changes the step reports a **critical
point**: a limit point where the load factor turns, a bifurcation otherwise
(`History::critical_points`, in the `solve.nonlinear` summary). The step ends at the maximum load
factor, at the displacement limit, or at its increment cap (a warning). Refused: a load path,
temperatures. Decks: Abaqus `*STATIC, RIKS` (cylindrical only); LS-DYNA refuses arc-length steps
by name. Verified by the snap-through of a shallow sinusoidal arch of hex20 solids
(`crates/solver/tests/arc_length.rs`, `tests/oracle/arc-shallow-arch`): the path within 1.9 % of
the one-mode closed form, both limit points, and the inertia 0 → 1 → 0 exactly between them.
**Results**: the final displacements and reactions, the **Cauchy stress** and the
**logarithmic strain** (ln V, engineering shears; the small strain without nonlinear geometry) at
the integration points and averaged at the nodes, the **equivalent plastic strain** at the
+8
View File
@@ -1244,6 +1244,14 @@ update are written from (cited again in the module docs):
indefinite sparse symmetric linear equations*, ACM TOMS 9(3):302–325, 1983; J. W. H. Liu, *The
multifrontal method for sparse matrix solution: theory and practice*, SIAM Review
34(1):82–109, 1992.
- Arc-length: E. Riks, *An incremental approach to the solution of snapping and buckling
problems*, Int. J. Solids Struct. 15(7):529–551, 1979; M. A. Crisfield, *A fast
incremental/iterative solution procedure that handles "snap-through"*, Computers & Structures
13:55–62, 1981; E. Ramm, *Strategies for tracing the nonlinear response near limit points*, in
*Nonlinear Finite Element Analysis in Structural Mechanics*, Springer 1981, 63–89; the
predictor's sign, M. Feng, D. Perić, D. R. J. Owen, Computers & Structures 58(3):479–485, 1996.
Snap-through of a shallow sinusoidal arch: Y. C. Fung, A. Kaplan, NACA TN 2840, 1952;
Timoshenko & Gere 1961, §7.6.
- Iterative refinement: N. J. Higham, *Accuracy and Stability of Numerical Algorithms*, 2nd ed.,
SIAM 2002, §12.2.
- Linear buckling and the initial-stress stiffness: K.-J. Bathe, *Finite Element Procedures*,