P92 repeated structural-path screen¶
Extend the short structural checks to repeated published-waveform tensile
holds. Keep the 600/650 C parameters fixed, use a homogeneous hexahedral
specimen through ordinary model.step, and retain free lateral contraction.
No custom global solver, fitted Poisson ratio or damage-to-failure law is added.
Use the source's 0.001/s ramps, initial zero-to-half-range ramp, tensile dwell, and subsequent full-range compression/tension ramps. Visit all waveform knots and resolve ramps and holds separately. Compare each peak/end-hold stress with the independent continuous scalar Radau reference. Halve both ramp and dwell increments without changing physical duration. A restart at an accepted dwell endpoint must preserve the complete selected history exactly.
First run a small screen to verify wiring and cost. Then run a bounded repeated path with fixed parameters; do not repeatedly tune tolerances or call this experimental life validation. Report wall time, increment count, numerical stress discrepancies, lateral stress and strain-boundary errors. The point history is verification evidence, not a multiaxial fatigue equivalent strain.
From the repository root with AgentFEM installed, use the module entry point
so sibling research tools are available without editing sys.path:
python -m tools.p92_structural_cycle_screen --temperature 600 --cycles 2 --dwell 5 --refinement 2 --checkpoint-dir p92-smoke-restart --output p92-smoke.json
The output/checkpoint paths must be new. This is the short numerical
discriminator below, not the published 60 s dwell experiment. For a published
waveform use --dwell 60; only request long cycle counts deliberately. Existing
435-cycle evidence can be inspected without rerunning that computation.
The documented short command was also executed from an archived source tree against an isolated installed candidate (not the checkout's runtime package): 84 accepted increments, maximum stress error 10.360198 MPa and exactly equal restarted point histories. Wall time was 3.85 s including the continuous reference and complete restart rerun. The ordinary library still owns the structural solver; the repository tool supplies the research law and protocol.
Initial discriminator¶
The 600 C, two-cycle, 5 s short-hold smoke first failed the preselected 15 MPa continuous-reference gate: coarse maximum error was 18.1273 MPa. Halving ramp and hold increments reduced it to 10.3602 MPa (84 accepted increments). The threshold is unchanged; the regression now requires both the absolute fine-grid gate and an error ratio below 0.7. The coarse failure remains evidence of time-discretization sensitivity, not a reason to retune material parameters.
Executed 20-cycle paths¶
Both temperatures ran the same 0.8% total strain range and 60 s tensile holds, with 856 coarse and 1712 refined accepted increments. Maximum errors below refer to tensile peaks and hold endpoints, not all interior trajectory times.
| Temperature | Coarse error (MPa) | Refined error (MPa) | Complete restarted history |
|---|---|---|---|
| 600 C | 4.121080 | 2.147799 | Exactly equal |
| 650 C | 3.018525 | 1.558788 | Exactly equal |
The largest lateral stress was below 3.8e-7 MPa and the prescribed axial-strain error below 1.7e-16. Each refined run saved after cycle 10 and restored a fresh Step, retaining all selected stress/strain/temperature/internal-state samples. Coarse runs took about 21 s each; refined runs including a complete second execution through restart took 73.35 and 72.17 s. These are small homogeneous verification timings, not industrial-model performance claims.
The raw numerical reports are preserved in
evidence/creep/2026-11-06-p92-structural-cycles.json. A focused regression of
the tool, tensor structural consumer and CI routing passed 85 tests in 24.70 s.
Experimental cyclic discrepancies and independent lifetime qualification remain
separate gates; the integration check does not erase either.
Long-cycle discriminator¶
At frozen source commit cf55d6f652733f36f62dbf7cf4a57802aa6eb3a2, the
650 C / 60 s hold path was continued for 435 cycles, half the published
870-cycle experimental life. That cycle count is a prescribed verification
endpoint, not a predicted life. Both runs used one MPI rank and one numerical
thread, with explicit wall-clock limits and no concurrent numerical job.
| Resolution | Accepted increments | Maximum endpoint stress error (MPa) | Wall time (s) |
|---|---|---|---|
| Coarse | 19116 | 3.018525 | 535.46 |
| Halved ramp/hold increments | 38232 | 1.558788 | 941.19 |
The maximum error remained the early-cycle maximum observed in the 20-cycle screen; it did not grow above that value over this longer path. The refined maximum lateral stress was 1.96e-7 MPa or less and the prescribed strain error below 3.7e-15. Timing includes the independent scalar Radau reference and FEM solve. These long runs did not repeat checkpoint recovery: the exact-restart evidence remains the separately executed 20-cycle paths above.
The complete endpoint comparison records are retained in
evidence/creep/2026-11-06-p92-435cycles-coarse.json and
evidence/creep/2026-11-06-p92-435cycles-refined.json. This establishes a
longer numerical path, not independent experimental accuracy, damage-to-failure,
multiaxial qualification or engineering design life.