6.6 KiB
Abaqus Input Parser I/O Definition
Metadata
- feature_id: abaqus-input-parser
- status: ready-for-implementation-planning
- owner_agent: io-definition-agent
- date: 2026-06-12
Abaqus Input Scope
FESA supports only the Abaqus input keyword subset listed here. This document does not claim full Abaqus compatibility.
| keyword | support_status | level | required_parameters | mapped_internal_concept | unsupported-case behavior |
|---|---|---|---|---|---|
*HEADING |
supported | model | none | model title metadata | accepted; title storage may be deferred |
*NODE |
supported | model | none | node id and global coordinates | malformed rows are errors |
*ELEMENT |
supported | model | TYPE |
element id, topology, connectivity | missing/unsupported TYPE is an error |
*NSET |
supported | model | NSET |
named node set | missing name is an error |
*ELSET |
supported | model | ELSET |
named element set | missing name is an error |
*MATERIAL |
supported | model | NAME |
material identity | missing name is an error |
*ELASTIC |
supported | model | none | linear elastic constants | malformed rows are errors |
| section keyword | supported | model | ELSET, MATERIAL |
property assignment | unsupported section type is an error |
*STEP |
supported | history | optional NAME |
analysis step | malformed parameters are errors |
*STATIC |
supported | history | none | static procedure marker | unsupported procedures are errors |
*BOUNDARY |
supported | model/history | none | prescribed nodal dof values | malformed rows are errors |
*CLOAD |
supported | history | none | concentrated nodal load | malformed rows are errors |
*OUTPUT |
supported | history | none | output request root | unsupported options warn or error by context |
*NODE OUTPUT |
supported | history | none | nodal output request | unsupported quantities warn or error by context |
*ELEMENT OUTPUT |
supported | history | none | element output request | unsupported quantities warn or error by context |
Initial V0 element names are two-node line/bar types only: T2D2, T3D2,
C3D2, and B31.
Syntax Policy
- Keywords and parameter names are case-insensitive.
- Keyword lines begin with
*. - Comment lines begin with
**and are ignored. - Blank lines are ignored.
- Fields are comma-separated. Leading and trailing whitespace around fields is ignored.
- Empty required fields are parse errors.
- Unsupported keywords are errors unless this contract explicitly marks them as ignored-with-warning.
- Diagnostics must include severity, a stable code, a human-readable message, and enough line context to locate the input row.
- Include files are out of scope for this parser phase.
Model Data Mapping
- Nodes map an Abaqus node label to a FESA node id and three global coordinate
components. Missing trailing coordinate components are interpreted as
0.0only when the keyword-specific test documents that behavior. - Elements map an Abaqus element label, supported element type, and connectivity labels to a FESA element. Section assignment supplies material/property linkage in a later parser slice.
- Node sets and element sets preserve deterministic membership order.
- Materials map by Abaqus
NAME. Linear elastic data maps to the semantic material contract used by solver implementation. - Section keywords bind an element set to a material and create the semantic property assignment needed by the solver.
- The global coordinate system is assumed. Units are user-consistent and are not converted by the parser.
History Data Mapping
*STEPbegins an ordered analysis step. If no name is provided, the parser assigns a deterministic step name or id.*STATICmarks the step as a linear static procedure for V0.*BOUNDARYmaps node id, dof range, and value to prescribed boundary conditions.*CLOADmaps node id, dof component, and magnitude to concentrated loads.- Output request keywords define requested quantities when semantic storage exists; unsupported quantities must not be silently accepted.
Internal Model Contract
Domainowns model definition data created from the input file.- Parsed model objects should be treated as immutable after parsing where practical.
AnalysisStepowns step-local boundary conditions and loads.- The parser must not store equation ids on nodes or elements.
- Parser diagnostics are part of the result; callers do not need to inspect
partial
Domainstate to detect failure.
Output HDF5 Schema
The parser itself does not write HDF5. Solver output remains authoritative in
results.h5 and follows the project HDF5 contract:
| quantity | dataset_path | location | component policy |
|---|---|---|---|
| displacement | /steps/<step>/frames/<frame>/field_outputs/U |
nodal | U1, U2, U3 as applicable |
| reaction | /steps/<step>/frames/<frame>/field_outputs/RF |
nodal | RF1, RF2, RF3 as applicable |
| internal force | /steps/<step>/frames/<frame>/field_outputs/element_forces |
element | feature-specific |
| stress | /steps/<step>/frames/<frame>/field_outputs/S |
integration point or element | feature-specific |
Required metadata includes schema version, model id, source input identity, coordinate system, units policy, solver version, step/frame identity, and row identity fields.
FESA HDF5 To Reference CSV Comparison Schema
Reference comparison reads results.h5 and matches deterministic rows against
Abaqus-generated CSV files under reference/<model-id>/. This parser phase does
not generate or modify those reference artifacts.
Common row identity:
- sort order: step, frame, entity id, location, component
- node id and element id are Abaqus labels preserved by the parser
- component names follow the HDF5 component policy
CSV files remain:
<model-id>_displacements.csv<model-id>_reactions.csv<model-id>_internalforces.csv<model-id>_stresses.csv
Validation Rules
- Duplicate node, element, material, property, set, or step labels are errors.
- Missing references are errors.
- Unsupported keywords are errors unless explicitly documented otherwise.
- Malformed numeric fields are errors.
- Parser unit tests must cover valid subset mapping and invalid subset diagnostics before production parser changes.
- Workspace validation remains
python scripts/validate_workspace.py.
Downstream Handoff
Implementation planning should split work into mesh keyword parsing,
diagnostics, set/section mapping, material/history mapping, and integration
validation. Reference model work may later use this subset to prepare
reference/<model-id>/model.inp, but this phase must not create or modify
Abaqus reference CSV artifacts.