test: onboard quad 02 phase1 reference

This commit is contained in:
NINI
2026-05-04 12:34:39 +09:00
parent 827af924d0
commit 950ce29df1
9 changed files with 417 additions and 12 deletions
+32 -2
View File
@@ -13,10 +13,40 @@ 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`. Step 0 is complete and captured in `phases/1-linear-static-mitc4-rebaseline/step0-audit.md`. The old `phases/1-linear-static-mitc4` path is historical and superseded after the MITC4 formulation reset. P1-01 through P1-14 have an initial C++17 implementation, but it is no longer authoritative until each layer is revalidated against the revised paper-based `docs/MITC4_FORMULATION.md`. `quad_02` is now the stored S4 reference pair, but its `Part/Assembly/Instance` and `*Density` features remain a compatibility decision for rebaseline step 1.
Phase 1 has a new rebaseline phase definition in `phases/1-linear-static-mitc4-rebaseline`. Steps 0 and 1 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. The old `phases/1-linear-static-mitc4` path is historical and superseded after the MITC4 formulation reset. P1-01 through P1-14 have an initial C++17 implementation, but it is no longer authoritative until each layer is revalidated against the revised paper-based `docs/MITC4_FORMULATION.md`.
## Completed Work
### 2026-05-04 - P1R-01 quad_02 reference onboarding completed
Author: Codex
Changed files:
- `references/quad_02_phase1.inp`
- `references/quad_02_notes.md`
- `references/README.md`
- `docs/ABAQUS_INPUT_SUBSET.md`
- `docs/VERIFICATION_PLAN.md`
- `tests/test_main.cpp`
- `phases/1-linear-static-mitc4-rebaseline/index.json`
- `PLAN.md`
- `PROGRESS.md`
Summary:
- Preserved `references/quad_02.inp` and `references/quad_02_displacements.csv` unchanged as the original Abaqus/CAE S4 reference provenance.
- Added `references/quad_02_phase1.inp`, a normalized Phase 1-compatible derivative input that removes `Part/Assembly/Instance`, `*Density`, restart/output requests, and unsupported step metadata while preserving ids, connectivity, material, shell thickness, fixed boundary nodes, load node, and load magnitude.
- Added `references/quad_02_notes.md` with provenance, compatibility, unit-system, result mapping, tolerance, and RF limitation notes.
- Added tests proving the original `quad_02.inp` remains unsupported provenance, the normalized input parses into 121 nodes and 100 S4 elements, and `quad_02_displacements.csv` loads 121 node rows.
- Updated reference and parser documentation so the normalized file is the accepted `quad_02` path for future Phase 1 stored-reference regression.
Verification:
- First ran `python scripts/validate_workspace.py` after adding tests; it failed as expected because `quad_02_phase1.inp` did not exist yet.
- After adding the normalized input and documentation, `python scripts/validate_workspace.py` configured CMake, built `fesa_core` and `fesa_tests`, and ran CTest successfully.
- CTest result: 1 test executable passed.
Follow-up:
- Continue with P1R-02 core harness guardrails.
- Keep `RF` verified by internal full-vector equilibrium until a `*_reactions.csv` artifact is provided.
### 2026-05-04 - P1R-00 rebaseline audit completed
Author: Codex
@@ -448,10 +478,10 @@ Verification:
## Known Blockers
- No reaction-force reference artifact exists yet under `references/`.
- The current initial `quad_01.inp` reference contains `S4R`, `Part/Assembly/Instance`, `*Density`, and `NLGEOM=YES`, so it is not a Phase 1 parser acceptance case as-is.
- `quad_02.inp` is a stored Abaqus `TYPE=S4` reference with matching displacement CSV, but it contains `Part/Assembly/Instance` and `*Density`; Step 1 must define a normalized-input or explicit parser-compatibility path before stored-reference regression.
## Current Risks
- Implementation could start from the `quad_01` reference input without accounting for its unsupported Abaqus features.
- Implementation could treat the old MITC4 kernel as authoritative even though it conflicts with the revised formulation contract.
- Future work could accidentally parse the original `quad_02.inp` instead of the normalized `quad_02_phase1.inp` before parser compatibility is explicitly expanded.
- Reaction output may be wrong if full-space stiffness/load data is not preserved or reconstructed.
- Large-model support may be weakened if any module narrows ids or sparse indices below int64.