Skip to content

Accepted small-strain user-material histories

Scope and ownership

Reuse the existing material-point recorder and physical-time small-strain Step. The ordinary model.step(material_points=..., duration=...) records raw S, total infinitesimal E, and named local state at selected original cell/point identities. The legacy no-duration and MPI checkpoint paths are unchanged. No extra material calls, projected fields, temperature inference or life model are introduced. Units follow the model or state schema; unknown units stay unknown.

Acceptance boundary

Prepare the detached point frame before committing state. Commit failure, including failure after partial commit, restores displacement, response and named history. Only then append a frame. Selection and units enter scientific identity; geometry and quadrature are checked before advance, output and save. V2 checkpoint manifests retain the existing hashed history payload and validate its complete accepted-time ledger before restoring any live fields.

Evidence

The targeted suite passed 133 tests with one dedicated two-rank admission test skipped in serial. Tests cover raw tensor association, result NPZ roundtrip, continuous versus restarted history, rejected increments, corrupt/missing payloads, selection changes, and failures before/after constitutive commit. The ordinary relaxation example has an opt-in --material-point flag.

The ordinary CLI was also exercised in an isolated copy of that example using the candidate source package and real FEniCSx: agentfem run --name full -- --material-point, followed by a second run loading the midpoint checkpoint. Both completed; all 16 times and all values in sample.S, sample.E and sample.EV were exactly equal across continuous and resumed execution. This is source-candidate CLI evidence, not a clean-machine installation claim.

After integrating the independently tested P92 tensor reference, the selected history path also passes a real reference-material ramp/hold/restart check. Raw S agrees with the material's Mandel-stress state after conversion; all selected frames match continuous execution exactly and end at 8 seconds. The combined structural/history/CI-routing suite passes 88 tests. Accumulated inelastic P remains a state variable, not a signed strain-life input.

This is a data/lifecycle capability, not P92 calibration. Further physical validation must retain the recorded strain measure and original material point.