feat: strengthen results comparator foundation

This commit is contained in:
NINI
2026-05-04 13:27:46 +09:00
parent b9b0963d50
commit 6de430f1ed
7 changed files with 229 additions and 32 deletions
+5 -1
View File
@@ -64,6 +64,8 @@ Attach these attributes to `/`:
| `unit_system_note` | string | no | User-provided self-consistent unit note |
| `dof_convention` | string | yes | `UX,UY,UZ,RX,RY,RZ` |
| `sign_convention` | string | yes | `Abaqus-compatible` |
| `precision` | string | yes for Phase 1 in-memory result model | `double` |
| `index_type` | string | yes for Phase 1 in-memory result model | `int64` |
## `/metadata`
Recommended datasets or attributes:
@@ -189,7 +191,7 @@ The final component labels should be cross-checked with the accepted Abaqus refe
## Phase 1 Mandatory Outputs
The first complete linear static solver path must write:
- root metadata attributes: `schema_name`, `schema_version`, `solver_name`, `dof_convention`, `sign_convention`.
- root metadata attributes: `schema_name`, `schema_version`, `solver_name`, `dof_convention`, `sign_convention`, `precision`, and `index_type`.
- `/model/nodes/ids`
- `/model/nodes/coordinates`
- `/model/elements/ids`
@@ -293,6 +295,8 @@ Required CSV columns:
Rules:
- CSV files are reference inputs for tests, not the primary FESA result storage format.
- The comparator must preserve node-label matching and must not rely on row order alone.
- The comparator must require FESA `U` component labels `UX`, `UY`, `UZ`, `RX`, `RY`, `RZ` with `position = NODAL`, `entity_type = node`, and `basis = GLOBAL`.
- Duplicate FESA output node ids, duplicate CSV node labels, missing FESA nodes, missing CSV columns, and nonnumeric CSV values are comparison failures.
- The comparison report may be stored under `/referenceComparison`.
- Reaction CSV, stress CSV, or section force CSV formats must be documented before automated use.
+2 -1
View File
@@ -133,7 +133,8 @@ Rules:
- `Node Label` is parsed as int64.
- All displacement and rotation values are parsed as `double`.
- The comparator must match rows by node id, not by row order alone.
- Missing nodes in FESA output, duplicate CSV node labels, missing columns, or nonnumeric values are reference artifact errors.
- Missing or nonnumeric `Node Label` values, duplicate CSV node labels, missing columns, or nonnumeric component values are reference artifact errors.
- Missing nodes in FESA output, duplicate FESA output node ids, wrong FESA `U` component labels, or wrong nodal/global field metadata are comparison errors.
- CSV displacement comparison maps to `/results/steps/<step>/frames/<frame>/fieldOutputs/U`.
- If the `.inp` has multiple steps or frames, the case metadata must state which step/frame the CSV represents.