6.0 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 - 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
For every matched row:
tolerance = 1.0e-5
absolute_error_i = abs(fesa_value_i - abaqus_value_i)
The fixed 1.0e-5 value is expressed in the model's user-consistent length unit for
U1/U2/U3 and is dimensionless for UR1/UR2/UR3. Neither a component reference scale
nor a row-specific denominator changes the value. Reference scale may be reported as
non-decision diagnostic information. The separate B33 mixed tolerance is unchanged.
- Every matched
U1/U2/U3row must satisfyabsolute_error_i <= tolerance. Any U exceedance fails that case and the feature reference comparison. UR1/UR2/UR3uses the same fixed value. Every exceedance produces a deterministic warning containing the case, source row, component, error, and tolerance, but does not change pass/fail.
The comparison report records every U/UR row decision, maximum absolute error, fixed-tolerance-normalized error, RMS error, vector-norm error, 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.