Skip to content

QF Solver 0.2.5a0 work packages

Dependency graph

WP0 -> WP1 -> WP2 -> WP3
              |      |
              |      `-> WP4
              `-> WP5 -> WP6 -> WP7 (optional Owner GO)

WP1..WP6 -> WP8 profiling
WP1..WP7 -> WP9 adversarial
WP1..WP7 -> WP10 external correlation
WP8..WP10 -> WP11 full regression -> WP12 Owner pack

WP3 and WP4 may proceed independently after WP2. WP5 requires WP2 because finite-sliding contact must use the approved geometric state and common Newton.

WP0 - Audit, provenance and baseline freeze

Objective: freeze the published 0.2.4 behavior and final architecture map.

Likely files: planning/evidence documents, benchmark runners, no numerical source unless a later approved WP begins.

Steps: reconcile stale 0.2.4 gate provenance; record start SHA; archive test, coverage, V&V, convergence and performance baselines; inventory every public and internal nonlinear path; freeze API and numerical snapshots.

Tests/evidence: complete 0.2.4 release suite, exact artifact digests, benchmark environment and repeated timing protocol.

Acceptance: reproducible baseline tied to one SHA; no unexplained failing gate; architecture and qualification states reviewed.

Gate: 025-G00. STOP: any unreconciled release provenance or baseline failure. GO: Owner approves the frozen audit.

WP1 - Close 0.2.4 nonlinear V&V debt

Objective: prove the existing J2 engine beyond affine one-element evidence.

Likely files: nonlinear verification tests, benchmark registry/runners, evidence builders and documentation; constitutive code only for a verified bug.

Steps: multi-element common mesh; coarse-to-refined study; cyclic paths; energy balance; adversarial rollback/cutback; tangent FD sensitivity; complete external response curves; PEEQ and HEX20 cost investigation.

Tests/V&V: TET4/TET10/HEX8/HEX20 displacement, reactions, von Mises, PEEQ, energy, iterations and state histories. Correlate Code_Aster and/or CalculiX.

Acceptance: all debt requirements in the V&V matrix pass without changing 0.2.4 tolerances; limitations of isotropic hardening remain explicit.

Gate: 025-G01. STOP: energy/state corruption, mesh divergence without explanation, or external mismatch. GO: debt pack is reproducible.

WP2 - Unified geometric nonlinear core

Objective: bring geometric nonlinearity into the common residual, tangent, state, convergence and increment infrastructure.

Likely files: core/nonlinear.py, core/geometric_nonlinear.py, nonlinear contracts, TL element kernels, assemblers, result/diagnostic types.

Prerequisite: G00 and G01.

Steps: approve kinematic/stress measures; freeze current TET4 TL behavior; extract element contribution contract; add material and geometric sparse tangent; integrate TET4 then HEX8; consider TET10/HEX20 only after low-order gates.

Tests/V&V: rigid rotation, zero spurious stress, large traction, large-rotation cantilever, distorted elements, element tangent FD, energy, mesh convergence and external correlation.

Acceptance: objectivity and tangent requirements pass; same Full Newton and transaction infrastructure is used; no separate production driver remains.

Gate: 025-G02. STOP: unapproved measure pair, spurious rigid-body stress or non-consistent tangent. GO: TET4 and HEX8 core evidence passes.

WP3 - Linear buckling

Objective: provide a bounded sparse stability analysis using the verified geometric stiffness.

Likely files: analysis/router contracts, modal/eigen backend adapters, geometric stiffness assembly, benchmark/evidence files.

Prerequisite: G02.

Steps: define preload state and eigenproblem; reuse SciPy/SLEPc; expose factor, mode and diagnostics; avoid inverse formation and dense matrices.

Tests/V&V: Euler column, one solid/plate-relevant case, mesh convergence, mode normalization/invariance and Code_Aster/CalculiX correlation.

Acceptance: critical factor and mode satisfy justified analytical/external criteria; sparse backend fallback is verified.

Gate: 025-G03. STOP: inconsistent preload/geometric stiffness or mode ordering. GO: bounded buckling envelope is documented.

WP4 - Sparse arc-length/path following

Objective: qualify one continuation algorithm for limit-point response.

Likely files: nonlinear driver/controls/results, sparse solver interfaces, checkpoint schema and arc-length benchmarks.

Prerequisite: G02; G03 is recommended for post-buckling work.

Steps: choose Crisfield spherical or Owner-approved equivalent; remove dense correction; define sign/direction, adaptive radius, retry, rollback and restart; record load factor and constraint residual.

Tests/V&V: shallow arch snap-through, limit point, bounded post-buckling, branch-direction tests, step sensitivity and external response curve.

Acceptance: correct branch followed reproducibly; sparse path; no silent switch to load control; restart reproduces the continuation history.

Gate: 025-G04. STOP: wrong branch, dense global allocation or state contamination. GO: defined problem class passes.

WP5 - Unified frictionless contact

Objective: integrate normal contact into common residual/tangent/Newton/state.

Likely files: contact entities/search/solver, nonlinear assembler, state transaction, controls and diagnostics.

Prerequisite: G02.

Steps: freeze current bounded contact evidence; approve enforcement method; separate geometric search from contribution assembly; support opening, closure, recontact and finite sliding; add contact rollback and penetration diagnostics.

Tests/V&V: single-node/patch contact, block/plane, curved contact, open-close-recontact cycle, large sliding, penalty sensitivity if applicable, mesh/load-step convergence and external correlation.

Acceptance: one common Full Newton loop; bounded penetration; exact rollback; active-set changes are diagnosable; no element-family special driver.

Gate: 025-G05. STOP: penetration/state depends unboundedly on penalty or failed steps contaminate active state. GO: frictionless envelope passes.

WP6 - Coupled nonlinear core

Objective: prove pairwise and, conditionally, triple nonlinear coupling.

Likely files: common assembler/contracts, coupled benchmark/evidence modules.

Prerequisite: G01, G02 and G05; approved J2 finite-kinematics model.

Steps: J2+geometry; geometry+contact; optional J2+geometry+contact; verify each contribution in total residual/tangent and one shared transaction.

Tests/V&V: isolated-to-coupled limit recovery, tangent FD, energy, mesh/load step sensitivity, rollback and external curves.

Acceptance: pairwise MUST cases pass and reduce correctly when one effect is disabled. Triple coupling is SHOULD and cannot weaken pairwise evidence.

Gate: 025-G06. STOP: no approved stress/strain model, inconsistent energy or non-reproducible convergence. GO: pairwise evidence complete.

WP7 - Frictional contact (conditional)

Objective: qualify Coulomb stick/slip only after normal contact is closed.

Likely files: contact friction state/tangent, transaction, diagnostics and friction benchmarks.

Prerequisite: G05, G06 and explicit Owner GO.

Steps: approve local frame and enforcement; implement/verify stick, slip, transition and tangential state; prove rollback and frictional dissipation.

Tests/V&V: block on plane, tangential traction, stick-to-slip, cyclic sliding, large-displacement contact and external correlation.

Acceptance: objective direction update, non-negative physical dissipation, state-safe retry and bounded external agreement.

Gate: 025-G07. STOP: any prerequisite open. GO: optional claim only.

WP8 - Performance characterization

Objective: measure and optimize only demonstrated nonlinear hotspots.

Likely files: profiling/benchmark utilities and narrowly scoped kernels.

Prerequisite: relevant functional gate closed.

Steps: baseline constitutive, Gauss, B matrices, geometric/contact tangents, assembly, solves, copies and state memory; profile HEX20; optimize one hotspot at a time and repeat numerical evidence.

Acceptance: environment, repeat count and uncertainty recorded; every change has measured gain and non-regression.

Gate: 025-G08. STOP: noisy or incomparable benchmark. GO: costs and remaining limits are characterized even if no optimization is justified.

WP9 - Failure and adversarial qualification

Objective: prove every important failure is explicit and state-safe.

Likely files: failure taxonomy, nonlinear/contact/continuation diagnostics, adversarial tests and evidence.

Prerequisite: each tested subsystem's functional gate.

Steps: force max iteration, min increment, singular tangent, invalid element, NaN/Inf, material/contact/linear-solver/arc-length failures; verify classification, rollback and non-convergence.

Acceptance: no false PASS, committed state preserved, structured reason and history returned for every planned mode.

Gate: 025-G09. STOP: silent failure or contaminated state. GO: matrix of failure contracts passes.

WP10 - External correlation matrix

Objective: correlate complete response histories for every mandatory new capability using comparable external formulations.

Likely files: external models, import/parsers, controlled references, evidence.

Prerequisite: corresponding internal verification gate.

Steps: lock geometry/mesh/material/BC/history/post-processing; run Code_Aster, CalculiX and Abaqus if available; document incompatibilities; compare curves, not selected scalar endpoints.

Acceptance: mandatory matrix cells pass or the associated release scope is removed. Correlation is not called physical validation.

Gate: 025-G10. STOP: irreproducible tool/version/model. GO: bounded correlation pack tied to SHA.

WP11 - Full non-regression

Objective: prove all 0.2.4 and accepted 0.2.5 scopes together.

Likely files: CI/readiness scripts and evidence only, except verified fixes.

Prerequisite: all mandatory functional, performance, failure and correlation gates.

Tests: static, modal, harmonic, Newmark, BEAM, MITC, TET, HEX, composite, sparse/PETSc/SLEPc where available, J2, geometric, buckling, arc-length, contact and coupled paths. Build, docs and package smoke tests are mandatory.

Acceptance: complete campaign passes on the exact candidate SHA without lowered tolerances, deselection drift or unexplained skips.

Gate: 025-G11. STOP: any mandatory regression. GO: freeze candidate.

WP12 - Documentation, traceability and Owner Review

Objective: produce a truthful release pack tied to the frozen SHA.

Likely files: README, changelog, qualification matrices, gate status, evidence manifests, Owner Review and package metadata.

Prerequisite: G11.

Steps: regenerate SHA-dependent evidence; reconcile qualification vocabulary; list limitations; verify wheel/sdist/smoke; ask every Owner question; do not tag or publish automatically. The reproducible local chain is scripts/release_readiness_pipeline_025.py: targeted mode runs the focused tests, documentation build, gate check, SHA check, packaging and smoke import; full mode additionally schedules coverage and the Docker external correlation. An open gate_check keeps the verdict NOT_READY but does not prevent the non-publishing SHA, packaging and smoke checks from running; other failures stop the chain. The chain contains no tag, push or upload action.

Acceptance: requirements-to-evidence traceability complete, no stale SHA or OPEN mandatory gate, explicit Owner decision.

Gate: 025-G12. STOP: stale provenance, unsupported claim or missing decision. GO: Owner-controlled release only.