---
name: abaqus-subroutine-interface
description: Use when defining Abaqus User Subroutine input/output parameter contracts, Abaqus ABI argument semantics, supported .inp test scope, validation rules, and extracted CSV schemas for reference comparison.
---

# Abaqus Subroutine Interface

Use this skill to define exactly what Abaqus passes into a User Subroutine and what the subroutine must return or update.

**REQUIRED SUB-SKILL:** Use `fem-theory-query` when interface decisions need FEM output semantics, tensor conventions, or numerical context.

## Inputs

Read first:

- `AGENTS.md`
- `docs/ABAQUS_SUBROUTINE_AGENT_DESIGN.md`
- `docs/AbaqusUserSubroutineManual/INDEX_MAP.md`
- `docs/AbaqusUserSubroutineManual/INDEX.md`
- Requirements, research, formulation, and numerical review documents

## Workflow

1. Locate each selected entry point in `INDEX_MAP.md`, read its complete `INDEX.md` record, and read every listed `source_ranges` span in order.
2. Treat `INDEX.md` summaries, keywords, and content anchors as retrieval metadata, not authoritative interface evidence.
3. Define the Abaqus ABI Contract for each entry point from the manual source spans.
4. Record required parameter semantics for UMAT, VUMAT, UEL, or other selected entry points.
5. Define input parameters, output parameters, in-place updates, units, coordinate system, and storage conventions.
6. For UMAT, define STRESS, STRAN, DSTRAN, TIME, DTIME, TEMP, PREDEF, PROPS, NPROPS, COORDS, DROT, DDSDDE, STATEV, PNEWDT, NOEL, NPT, KSTEP, and KINC usage as applicable.
7. Define supported `.inp` model scope for tests and output requests needed for extracted CSV comparison.
8. Define Validation Rules and failure messages.

## Output Contract

Produce or revise `docs/io-definitions/<feature-id>-io.md` with Abaqus Input Scope, Abaqus ABI Contract, Syntax Policy, Model Data Mapping, History Data Mapping, Subroutine Parameter Contract, Output and CSV Schemas, Validation Rules, and Downstream Handoff.

## Boundaries

- Do not implement parsers.
- Do not implement wrappers.
- Do not design Fortran source layout.
- Do not claim full Abaqus compatibility.
- Do not run Abaqus.
- Do not generate reference CSVs.
- Do not approve release readiness.

## Quality Gate

- Unsupported Abaqus input is explicit: unsupported, ignored-with-warning, or requires user decision.
- CSV schema includes units, coordinate system, output location, components, step/frame identity, and ID matching.
- ABI parameter direction and update responsibility are explicit for every used argument.
- Abaqus-specific claims cite the manual section and source spans used.

## Handoff

Send input examples and schema needs to Reference Model Agent, implementation constraints to Implementation Planning Agent, and comparison matching rules to Reference Verification Agent.
