71 lines
3.5 KiB
Markdown
71 lines
3.5 KiB
Markdown
---
|
|
name: fesa-reference-comparison
|
|
description: Use when comparing FESA solver HDF5 results against Abaqus reference CSV files for reference comparison, checking schema, units, ID matching, tolerance metrics, and reference verification status.
|
|
---
|
|
|
|
# FESA Reference Comparison
|
|
|
|
Use this skill to compare generated solver outputs against stored reference artifacts without modifying either side.
|
|
|
|
## Inputs
|
|
|
|
Read these first:
|
|
|
|
- `AGENTS.md`
|
|
- `docs/SOLVER_AGENT_DESIGN.md`
|
|
- `docs/reference-verifications/README.md`
|
|
- Build/Test report with `pass-for-reference-verification`
|
|
- `docs/reference-models/<feature-id>-reference-models.md`
|
|
- `docs/io-definitions/<feature-id>-io.md`
|
|
- Generated solver result HDF5, normally `results.h5`
|
|
- Abaqus reference CSV files under `reference/<model-id>/`
|
|
- Optional deterministic solver CSV views materialized from `results.h5` for debugging or review
|
|
|
|
## Workflow
|
|
|
|
1. Follow `ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT`.
|
|
2. ARTIFACT CHECK: verify `metadata.json`, `model.inp`, generated solver `results.h5`, `reference/<model-id>/<model-id>_displacements.csv`, `reference/<model-id>/<model-id>_reactions.csv`, `reference/<model-id>/<model-id>_internalforces.csv`, `reference/<model-id>/<model-id>_stresses.csv`, reference CSV schema version, FESA HDF5 schema version, units, coordinate system, step/frame identity, ID matching, output location, component naming, and tolerance policy.
|
|
3. Stop with `needs-reference-artifacts`, `needs-solver-results`, or `needs-upstream-decision` when required comparison inputs are missing.
|
|
4. COMPARE FESA HDF5 datasets by normalizing their rows and matching them directly against Abaqus reference CSV rows.
|
|
5. Apply upstream tolerance exactly. Do not loosen or reinterpret tolerance.
|
|
6. Report max absolute error, max relative error, RMS error, norm error, worst id, worst component, missing rows, extra rows, and pass/fail.
|
|
7. CLASSIFY failures as missing-reference-artifact, missing-solver-output, schema-mismatch, id-mismatch, unit-or-coordinate-mismatch, tolerance-failure, nonfinite-result, upstream-contract, or environment.
|
|
|
|
## Output Contract
|
|
|
|
Produce or revise `docs/reference-verifications/<feature-id>-reference-verification.md` with:
|
|
|
|
- Metadata
|
|
- Artifact Inventory
|
|
- Comparison Contract
|
|
- Quantity Results
|
|
- Failure Classification
|
|
- Handoff Recommendation
|
|
- No-Change Assertion
|
|
- Open Issues
|
|
|
|
## Boundaries
|
|
|
|
- Do not edit source code.
|
|
- Do not edit tests.
|
|
- Do not edit CMake files.
|
|
- Do not change requirements, formulations, I/O contracts, reference artifacts, or tolerance policies.
|
|
- Do not change tolerance policies.
|
|
- Do not run Abaqus, Nastran, or any reference solver.
|
|
- Do not generate or modify Abaqus reference CSV files.
|
|
- Do not approve physics validation or release readiness.
|
|
|
|
## Quality Gate
|
|
|
|
- Every compared row has a deterministic matching rule.
|
|
- Missing rows and extra rows are reported, not ignored.
|
|
- Nonfinite values are reported explicitly.
|
|
- `pass-for-physics-evaluation` means reference tolerance success only.
|
|
- FESA solver `results.h5` is the authoritative solver output.
|
|
- Abaqus reference CSV files are the authoritative reference result artifacts.
|
|
- FESA debug CSV views are derived from `results.h5` for review only; do not treat FESA debug CSV views as authoritative solver output or reference artifacts.
|
|
|
|
## Handoff
|
|
|
|
Send passing reports to Physics Evaluation Agent. Send implementation-owned mismatches to Correction Agent. Send missing artifacts to Reference Model Agent and HDF5/reference CSV schema conflicts to I/O Definition Agent.
|