52 lines
3.4 KiB
Markdown
52 lines
3.4 KiB
Markdown
# 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`, `fem-theory-query` |
|
|
| 4. Subroutine input/output parameter definition | I/O Definition Agent | `abaqus-subroutine-interface`, `fem-theory-query` |
|
|
| 5. TDD test model design | Reference Model Agent, Implementation Planning Agent | `abaqus-subroutine-test-models`, `fem-theory-query` |
|
|
| 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`, `fem-theory-query` |
|
|
|
|
## Source Selection Contract
|
|
|
|
- Use `fem-theory-query` for finite element theory, formulation, solver behavior, benchmark selection, and numerical or physics interpretation.
|
|
- For Abaqus User Subroutine ABI and manual facts, read `docs/AbaqusUserSubroutineManual/INDEX_MAP.md`, locate the full record in `INDEX.md`, and then read every listed `source_ranges` span in order.
|
|
- Treat `INDEX.md` summaries as retrieval metadata, not authoritative implementation evidence.
|
|
- Treat user-provided ODB-extracted CSV and provenance artifacts as solver-result inputs; agents do not run Abaqus or parse ODB files in this project.
|
|
|
|
## 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: performed by the user on another Abaqus PC; agents in this project consume the resulting CSV and provenance artifacts.
|