6.4 KiB
Linear Static MITC4 Shell Reference Cases
Metadata
- feature_id:
linear-static-mitc4-shell - source_requirement:
docs/linear-static-mitc4-shell/requirements.md - source_io_definition:
docs/linear-static-mitc4-shell/io.md - status:
approved-for-implementation-planning - owner_agent:
reference-model-agent - date:
2026-08-13 - comparison_revalidated_on:
2026-08-18 - artifact_policy:
read-only-existing-files - authoritative_fesa_output:
results.h5
1. Purpose and boundary
This document is the lightweight inventory and comparison contract for the sole approved full-integration S4 reference case. Abaqus supplies an external displacement reference; it does not define FESA element equations, integration, stabilization, recovery, or implementation structure. FESA and Abaqus are not required to operate identically.
Reference readiness requires only:
- the declared Abaqus
.inpfile and displacement CSV for each case; - the FESA
results.h5generated from that case's.inp; - deterministic source-instance/node/component matching;
- the approved tolerance and decision rule in Section 5.
README, metadata.json, canonical naming, legacy-alias approval, Abaqus version or
generation provenance, duplicated unit/coordinate/model/step/frame/material/section
descriptions, and a CSV schema-version record are not required. If metadata.json
later exists, it is optional read-only context and does not override the declared
input, CSV, row mapping, or tolerance.
2. Read-only case inventory
| case_id | source label | role | exact path | SHA-256 | observed content |
|---|---|---|---|---|---|
shell-s4 |
S4 |
input | reference/shell/shell.inp |
4005851E1AB22FD3A16AC17A8D5DA3E051233F69F37419079F3553AD134ECFCF |
TYPE=S4; one linear-static case |
shell-s4 |
S4 |
required reference | reference/shell/shell displacements.csv |
C81D94E0B4A849F87AA0F79C83A79B94D5661AC79E44ED826919AB432C87746B |
49 data rows; U and UR components |
The existing reaction and stress CSVs in reference/shell/ are optional inspection
evidence only. Existing files under reference/shellR/ are also optional inspection
evidence and are not consumed by acceptance comparison. They are not pass/fail inputs.
No agent may rename, rewrite, normalize, repair, regenerate, or restore any reference
artifact unless a later phase explicitly authorizes that operation.
3. Required CSV mapping
Trim surrounding whitespace from header names, then apply this exact projection:
| Abaqus CSV column | normalized identity/value | FESA HDF5 source |
|---|---|---|
Part Instance Name |
instance_name |
/model/nodes.instance_name |
Node Label |
source_node_label |
/model/nodes.source_label |
U-U1 |
U1 |
/steps/Step-1/frames/0/nodal/displacement[:,0] (UX) |
U-U2 |
U2 |
/steps/Step-1/frames/0/nodal/displacement[:,1] (UY) |
U-U3 |
U3 |
/steps/Step-1/frames/0/nodal/displacement[:,2] (UZ) |
UR-UR1 |
UR1 |
/steps/Step-1/frames/0/nodal/displacement[:,3] (URX) |
UR-UR2 |
UR2 |
/steps/Step-1/frames/0/nodal/displacement[:,4] (URY) |
UR-UR3 |
UR3 |
/steps/Step-1/frames/0/nodal/displacement[:,5] (URZ) |
The normalized row key is
(case_id,instance_name,source_node_label,component). Stable comparison order is
case shell-s4; then FESA instance declaration order; stable source-node order; and
component order [U1,U2,U3,UR1,UR2,UR3].
4. Precheck
Before numerical comparison, each case shall satisfy all of the following:
- The declared input, displacement CSV, and FESA
results.h5exist. - The six required displacement headers map exactly as Section 3 specifies.
- Each required CSV and HDF5 value is finite.
- Each normalized row key is unique.
- CSV and HDF5 normalized row-key sets are exactly equal.
Missing, extra, duplicate, nonfinite, header-mismatched, or source-identity-mismatched required rows fail reference verification before tolerance evaluation. Values are not zero-clamped and mismatched rows are not omitted, averaged, or synthesized.
5. Tolerance and decision rule
Matched U1/U2/U3 rows form one blocking translation family and matched
UR1/UR2/UR3 rows form one warning-only rotation family. For each family:
S = max(abs(abaqus_value_i))
absolute_error_i = abs(fesa_value_i-abaqus_value_i)
near_zero_band = 0.01*S
near-zero row: absolute_error_i <= near_zero_band
other row: absolute_error_i/abs(abaqus_value_i) <= 0.05
relative_rms = sqrt(mean(absolute_error_i^2))/S <= 0.01
The scale uses read-only Abaqus values only. No independent absolute-error gate, zero clamp or
row omission is permitted. A zero-scale family passes only when all FESA values are exactly zero;
otherwise it reports zero-reference-scale-nonzero-error without NaN/Inf. The U family controls
the verdict and the UR family uses the same numeric rule for deterministic warning-only evidence.
- Every matched
U1/U2/U3row and the translation family RMS must satisfy the common row/RMS rule. Any U row or family-RMS exceedance fails the feature reference comparison. UR1/UR2/UR3uses the same family-scale row/RMS rule. Every row or family-RMS exceedance produces deterministic warning evidence but does not change pass/fail.
The comparison report records every U/UR row decision, family scale, near-zero branch, maximum absolute error, row relative error, scale-relative RMS, worst source row/component, and every UR warning.
6. Coverage and handoff
The S4 case is the complete required reference inventory for this feature:
shell-s4checks the approved full-integrationS4 -> FESA-MITC4input path against Abaqus U.S4R -> FESA-MITC4support is verified by parser, common-kernel, deterministic-assembly and HDF5 source-metadata tests without consuming an Abaqus S4R reference artifact.
They do not prove Abaqus formulation equivalence or general MITC4 accuracy outside
the modeled cases. Additional flat/thin/thick/distorted/curved models, mesh studies,
drilling sweeps, drilling-energy criteria, NR-O03, and NR-O04 are not required
before Implementation Planning or feature completion.
Numerical Review may use this inventory as downstream comparison input, but missing bundle-administration data shall not change a mathematically consistent formulation verdict. The revised Numerical Review passes the formulation and authorizes Implementation Planning; this does not authorize implementation or Harness execution.