5.4 KiB
5.4 KiB
PRD: Abaqus User Subroutine Development
목표
이 프로젝트는 Abaqus User Subroutine을 요구조건 분석, 연구, 유한요소 정식화, ABI 정의, TDD test model 설계, Fortran 구현, 검증까지 일관된 agent-driven workflow로 개발하게 한다.
기본 목표는 Abaqus가 없는 환경에서도 가능한 검증을 최대화하고, Abaqus 실행이 필요한 검증은 명시적으로 opt-in한 환경에서만 수행하는 것이다.
사용자
- Abaqus User Subroutine을 개발하는 엔지니어
- Subroutine 요구조건, 정식화, interface, test model, validation을 단계별로 작성하는 Codex agent
- Fortran implementation과 no-Abaqus TDD evidence를 검토하는 reviewer
- Abaqus reference artifact와 물리 타당성을 검토하는 validator
문제 정의
- Abaqus User Subroutine은 Abaqus ABI, analysis procedure, tensor ordering, state variable, compiler/linker, reference artifact provenance가 모두 맞아야 한다.
- Abaqus 실행은 설치, 라이선스, compiler integration에 의존하므로 모든 개발 단계의 기본 검증 수단으로 삼기 어렵다.
- LLM agent가 요구조건, formulation, interface, test, implementation, validation을 한 번에 섞으면 검증 불가능한 Fortran code가 생성되기 쉽다.
- 따라서 단계별 gate, 문서 산출물, no-Abaqus TDD, reference artifact metadata 검증이 필요하다.
핵심 워크플로우
- Requirement Agent가 feature requirement와 Requirement Verification Matrix를 작성한다.
- Research Agent가 Abaqus manual, 책, 논문, benchmark source를 조사하고 verified facts와 inference를 분리한다.
- Formulation Agent가 finite element formulation, stress update, tangent, state variable, numerical integration을 정의한다.
- Numerical Review Agent가 formulation consistency, tangent consistency, stability risk, patch/tangent check 필요성을 검토한다.
- I/O Definition Agent가 Abaqus ABI arguments, input/output direction, tensor component order, unit, CSV schema를 정의한다.
- Reference Model Agent가 no-Abaqus driver tests와 Abaqus reference artifact bundle 계약을 설계한다.
- Implementation Planning Agent와 Implementation Agent가 RED -> GREEN -> VERIFY 순서로 Fortran code를 구현한다.
- Build/Test Executor, Reference Verification, Physics Evaluation, Release Agent가 validation evidence와 readiness를 검토한다.
핵심 기능
.codex/agents/와.codex/skills/기반 단계별 specialist workflowdocs/requirements/,docs/research/,docs/formulations/,docs/io-definitions/,docs/reference-models/,docs/implementation-plans/,docs/reference-verifications/,docs/physics-evaluations/,docs/releases/산출물 체계- Fortran production 변경에 대한 TDD guard
- Intel oneAPI Fortran 기반 no-Abaqus kernel/fake-driver validation
tests/fortran/manifest.json기반 Fortran compile/run test discoveryreferences/<feature-id>/<model-id>/metadata.json기반 reference artifact metadata validation- Abaqus job 실행을 기본 검증에서 제외하고
HARNESS_ABAQUS_VALIDATION=run에서만 수행하는 opt-in validation - Optional CMake/CTest validation path for supporting native code when a CMake project exists
대표 Subroutine 범위
- Primary initial families:
UMAT,VUMAT,UEL - Secondary supported planning families:
USDFLD,VUSDFLD,UVARM,UEXTERNALDB,VEXTERNALDB,UHARD,VUHARD - 각 feature는 target entry point, supported Abaqus input keyword subset, state variable allocation, output quantities, validation models를 요구조건 단계에서 명시해야 한다.
성공 기준
- 모든 must requirement가 verification method, acceptance criteria, tolerance 또는 decision owner를 가진다.
- Research evidence는 source reliability tier와 applicability limit를 가진다.
- Formulation은 selected entry point가 요구하는 stress update, tangent, residual, state variable, output recovery를 명시한다.
- Interface contract는 Abaqus ABI argument direction, update responsibility, tensor order, unit, coordinate system, CSV schema를 명시한다.
- Fortran implementation은 RED -> GREEN -> VERIFY evidence를 남긴다.
python scripts/validate_workspace.py가 기본 검증 entry point로 성공한다.- Abaqus reference comparison은 approved reference artifacts가
ready-for-comparison상태일 때만 수행한다.
제외 사항
- 프로젝트 정체성을 Abaqus User Subroutine development 외의 다른 개발 체계로 정의하지 않는다.
- 기본 validation에서 Abaqus job을 자동 실행하지 않는다.
- Agent가 reference CSV,
.msg,.dat,.logevidence를 임의 생성하거나 승인하지 않는다. - 특정 재료모델, 요소모델, plasticity model, damage model의 물리적 타당성을 이 PRD에서 승인하지 않는다.
- Public example repository code를 license 검토 없이 복사하거나 acceptance evidence로 사용하지 않는다.
- Visual Studio
.sln/.vcxproj전용 workflow를 기본 지원하지 않는다.
운영 제약
- 문서 산출물은 Korean narrative를 기본으로 하되, Abaqus keyword, subroutine name, status value, command, schema key는 English를 유지한다.
- Abaqus version, compiler version, precision, command line, source hash, output tail, CSV schema는 reference artifact metadata에 기록한다.
- Abaqus execution이 필요한 검증은 user 또는 승인된 환경이 명시적으로 설정해야 한다.