60 lines
2.2 KiB
Markdown
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.
|