# Abaqus User Subroutine Agent Design ## Purpose This document maps the project agents and skills to the Abaqus User Subroutine development process. The working language is Fortran with Intel oneAPI Fortran, and Abaqus execution remains opt-in. ## Abaqus User Subroutine development process 1. Subroutine requirements analysis 2. Books, papers, and research evidence 3. Finite element formulation for implementation 4. Subroutine input/output parameter definition 5. TDD test model design 6. Fortran code implementation 7. Subroutine validation ## Agent Mapping | Process step | Primary agents | Primary skills | | --- | --- | --- | | 1. Subroutine requirements analysis | Requirement Agent, Coordinator Agent | `abaqus-subroutine-requirements` | | 2. Books, papers, and research evidence | Research Agent | `abaqus-subroutine-research`, `fem-theory-query` | | 3. Finite element formulation for implementation | Formulation Agent, Numerical Review Agent | `abaqus-subroutine-formulation`, `abaqus-subroutine-numerical-review` | | 4. Subroutine input/output parameter definition | I/O Definition Agent | `abaqus-subroutine-interface` | | 5. TDD test model design | Reference Model Agent, Implementation Planning Agent | `abaqus-subroutine-test-models` | | 6. Fortran code implementation | Implementation Planning Agent, Implementation Agent, Correction Agent | `abaqus-fortran-tdd` | | 7. Subroutine validation | Build/Test Executor Agent, Reference Verification Agent, Physics Evaluation Agent, Release Agent | `abaqus-subroutine-validation`, `abaqus-subroutine-physics-sanity`, `abaqus-subroutine-readiness` | ## Gates - Requirements gate: every must requirement has measurable acceptance criteria and verification method. - Research gate: source-backed facts are separated from inference and applicability limits are explicit. - Formulation gate: stress update, consistent tangent, state variables, and numerical risks are documented. - Interface gate: Abaqus ABI arguments, update responsibilities, tensor ordering, units, and CSV extraction schemas are explicit. - Test model gate: no-Abaqus tests and reference artifact contracts are defined before implementation. - Implementation gate: Fortran production changes follow RED -> GREEN -> VERIFY and pass no-Abaqus validation. - Validation gate: reference artifacts include `.inp`, source hash, Abaqus version, compiler version, msg/dat/log tail, and extracted CSV evidence before comparison. ## Validation Defaults - Default no-Abaqus path: `python scripts/validate_fortran.py`. - Reference artifact contract check: `python scripts/validate_reference_artifacts.py`. - Workspace gate: `python scripts/validate_workspace.py`. - Abaqus execution: only through `HARNESS_ABAQUS_VALIDATION=run` with explicit validation commands.