feat: strengthen results comparator foundation
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user