Files
AbaqusSubroutineDev/phases/uel-3d-euler-beam/step4.md
T
2026-06-11 11:08:44 +09:00

60 lines
2.2 KiB
Markdown

# Step 4: interface
## Read First
- `/AGENTS.md`
- `/docs/ABAQUS_SUBROUTINE_AGENT_DESIGN.md`
- `/docs/ARCHITECTURE.md`
- `/docs/ADR.md`
- `/.codex/skills/abaqus-subroutine-interface/SKILL.md`
- `/docs/requirements/uel-3d-euler-beam.md`
- `/docs/formulations/uel-3d-euler-beam.md`
- `/docs/numerical-reviews/uel-3d-euler-beam.md`
- `/docs/io-definitions/README.md`
## Task
Create `/docs/io-definitions/uel-3d-euler-beam.md`.
Define the Abaqus `UEL` ABI and data contract for this feature. Include:
- Exact `UEL` subroutine signature and include convention for Abaqus/Standard.
- Supported `NDOFEL`, `NNODE`, `MCRD`, `NPROPS`, `NJPROP`, and `MLVARX` assumptions.
- DOF ordering and mapping between Abaqus arrays and kernel arrays.
- `PROPS` and optional `JPROPS` schema, including units and validation rules.
- `COORDS` and orientation definition contract.
- `U`, `DU`, `V`, `A`, `TIME`, `DTIME`, `PARAMS`, `LFLAGS`, `KSTEP`, `KINC` responsibilities for supported static use.
- `RHS`, `AMATRX`, `SVARS`, `ENERGY`, and `PNEWDT` update responsibilities.
- CSV extraction schema for external solver-result validation, including required columns, units, coordinate systems, and tolerances.
- `model.inp` keyword subset expected by the reference model plan.
- Thin-wrapper boundary between Abaqus ABI code and no-Abaqus kernel code.
Do not create or modify Fortran source, tests, reference artifacts, or implementation plans in this step.
## Tests To Write First
- None. This is an interface artifact step.
## Acceptance Criteria
```bash
python -m unittest discover -s scripts -p "test_*.py"
python scripts/validate_reference_artifacts.py
python scripts/validate_workspace.py
```
The step is complete only when `/docs/io-definitions/uel-3d-euler-beam.md` gives enough ABI and CSV detail for no-Abaqus tests and external artifact validation.
## Validation Notes
- Do not require this repository to parse ODB files.
- Update `/phases/uel-3d-euler-beam/index.json` step 4 with `completed`, `error`, or `blocked` and a concrete summary or reason.
## Forbidden
- Do not add JavaScript/TypeScript/npm fallback.
- Do not run Abaqus analyses from this project.
- Do not generate reference CSVs.
- Do not create Fortran production source.
- Do not break existing tests.