test: add quad02 stored reference regression

This commit is contained in:
NINI
2026-05-04 23:51:00 +09:00
parent 948a9448ff
commit 3284b52611
6 changed files with 111 additions and 8 deletions
+28 -1
View File
@@ -13,10 +13,37 @@ Every new agent session must read this file together with `PLAN.md` before plann
- Do not remove history unless the user explicitly asks for archival cleanup.
## Current Status
Phase 1 has a new rebaseline phase definition in `phases/1-linear-static-mitc4-rebaseline`. Steps 0 through 13 are complete. `quad_02_phase1.inp` is now the normalized Phase 1-compatible input path for the stored `quad_02` S4 reference pair, while the original `quad_02.inp` remains preserved unsupported provenance. Core numeric aliases, DOF mapping, validation harness, model diagnostic context, the Phase 1 parser/domain subset, validation/singular diagnostics, DofManager/reaction foundation, minimum result model metadata, displacement CSV comparator foundation, MITC4 geometry/director scaffolding, MITC4 displacement/strain/tying row scaffolding, MITC4 material/transform/integration scaffolding, MITC4 stiffness/drilling/internal-force scaffolding, MITC4 patch/locking-sensitivity tests, full-space assembly, reduced projection, sparse-pattern scaffold, solver adapter injection, full-vector internal/reaction force state, active AnalysisModel construction, and input-to-AnalysisState-to-U/RF result workflow have been revalidated. The old `phases/1-linear-static-mitc4` path is historical and superseded after the MITC4 formulation reset.
Phase 1 has a new rebaseline phase definition in `phases/1-linear-static-mitc4-rebaseline`. Steps 0 through 14 are complete. `quad_02_phase1.inp` is now the normalized Phase 1-compatible input path for the stored `quad_02` S4 reference pair, while the original `quad_02.inp` remains preserved unsupported provenance. Core numeric aliases, DOF mapping, validation harness, model diagnostic context, the Phase 1 parser/domain subset, validation/singular diagnostics, DofManager/reaction foundation, minimum result model metadata, displacement CSV comparator foundation, MITC4 geometry/director scaffolding, MITC4 displacement/strain/tying row scaffolding, MITC4 material/transform/integration scaffolding, MITC4 stiffness/drilling/internal-force scaffolding, MITC4 patch/locking-sensitivity tests, full-space assembly, reduced projection, sparse-pattern scaffold, solver adapter injection, full-vector internal/reaction force state, active AnalysisModel construction, input-to-AnalysisState-to-U/RF result workflow, and the first stored Abaqus displacement regression have been revalidated. The old `phases/1-linear-static-mitc4` path is historical and superseded after the MITC4 formulation reset.
## Completed Work
### 2026-05-04 - P1R-14 stored reference regression completed
Author: Codex
Changed files:
- `tests/test_main.cpp`
- `docs/VERIFICATION_PLAN.md`
- `references/quad_02_notes.md`
- `phases/1-linear-static-mitc4-rebaseline/index.json`
- `PLAN.md`
- `PROGRESS.md`
Summary:
- Added a fixture discovery test that keeps `references/quad_02.inp` as unsupported Abaqus/CAE provenance while verifying `references/quad_02_phase1.inp` is the accepted executable Phase 1 derivative.
- Added the first automated stored Abaqus displacement regression: run `quad_02_phase1.inp`, extract FESA `/results/steps/Step-1/frames/0/fieldOutputs/U`, and compare against `references/quad_02_displacements.csv` by node id.
- Used the documented tolerance for this reference pair: `abs_tol = 1.0e-12`, `rel_tol = 1.0e-5`, `reference_scale = 1.0`.
- Updated verification/reference notes so `quad_02_phase1` is no longer a future regression target; it is now active test coverage.
Verification:
- `python scripts/validate_workspace.py` configured CMake, built `fesa_core` and `fesa_tests`, and ran CTest successfully.
- CTest result: 1 test executable passed.
- Stored reference result: `quad_02_phase1.inp` displacement regression passed against `quad_02_displacements.csv` using the tolerance above.
Follow-up:
- Continue with P1R-15 independent evaluator closeout.
- R-013 remains open: Phase 1 still needs enough additional stored Abaqus S4 reference cases for the PRD target of three stored references: one single-element case, one simple multi-element plate/shell case, and one curved shell benchmark.
- R-010 remains open: no `quad_02_reactions.csv` or other Abaqus reaction CSV exists yet, so `RF` remains verified by internal full-vector equilibrium.
### 2026-05-04 - P1R-13 linear static workflow completed
Author: Codex