Files
AbaqusSubroutineDev/WORKNOTE.md
T
2026-06-12 08:39:18 +09:00

3.1 KiB

WORKNOTE.md

Purpose

이 파일은 다음 AI Agent가 같은 시행착오를 반복하지 않도록 실수, 실패한 명령, 잘못된 가정, 우회 방법을 기록한다. 단순 진행 상황은 PROGRESS.md에 기록한다.

Notes

  • phases/ 디렉터리는 처음에 없었으므로 3D Euler beam UEL phase scaffold를 새로 만들었다.
  • AGENTS.md는 이미 작업 중인 변경이 있는 상태였다. 이후 agent는 기존 변경을 되돌리지 말고 필요한 범위만 추가 수정해야 한다.
  • PowerShell에서 기본 출력 인코딩에 따라 Korean text가 깨져 보일 수 있다. Get-Content -Raw -Encoding UTF8 AGENTS.md처럼 UTF-8을 명시하면 정상 확인 가능하다.
  • scripts/execute.py는 phase step을 Codex subprocess로 실행하고, 각 step이 phases/<phase>/index.json의 status를 직접 갱신해야 한다. Step 지시문에는 이 요구가 명확해야 한다.
  • python scripts/validate_workspace.py는 Fortran manifest가 없으면 validate_fortran.py에서 "No Fortran validation commands configured."를 출력하고 성공할 수 있다. 이것은 구현 전 scaffold 상태에서는 정상이다.
  • Step 6에서 tests/fortran/manifest.json을 추가한 뒤 기본 python scripts/validate_fortran.py가 nested cmd lookup에서 먼저 실패했다. PowerShell/Python은 cmd.exe를 찾지만 child cmd.exe%PATH%를 빈 값으로 보았다. RED compile evidence는 $env:PATH='C:\Windows\System32;C:\Windows;C:\Users\user\miniforge3'; C:\Users\user\miniforge3\python.exe scripts/validate_fortran.py로 확인했으며, 이때 ifx가 실행되고 missing src/fortran/uel_3d_euler_beam_kernel.f90 compile failure가 발생했다.
  • Step 7에서 위 PATH 문제는 scripts/fortran_toolchain.pyComSpec/절대 cmd.exe와 최소 Windows PATH를 사용하도록 수정해 해결했다. 또한 scripts/validate_fortran.py가 per-test build directory를 만들지 않아 LNK1104가 발생했으므로 build_dir.mkdir(parents=True, exist_ok=True)를 추가했다.
  • 2026-06-12 사용자 UEL 포맷 재조사에서 제공된 default.htm?startat=ch01s01asb44.html는 프레임 진입점이며 ch01s01asb44.html 자체는 2016 문서의 UMAT 섹션이다. UEL 직접 문서는 https://ceae-server.colorado.edu/v2016/books/sub/ch01s01asb28.html이다.
  • 같은 조사에서 현재 src/fortran에는 Abaqus가 직접 호출할 top-level external SUBROUTINE UEL(...) wrapper가 없고, uel3deb_abi_static은 no-Abaqus adapter일 뿐임을 확인했다. 다음 구현 보정에서는 manual signature와 ABA_PARAM.INC include를 보존하는 wrapper가 필요하다.
  • docs/io-definitions/uel-3d-euler-beam.mdVARIABLES=0/NSVARS=0 정책은 Abaqus *USER ELEMENT 문서의 VARIABLES 값이 0보다 커야 한다는 규칙과 충돌할 가능성이 있다. 실제 Abaqus-facing 계약은 VARIABLES=1 이상 또는 target-version 근거가 있는 예외로 보정해야 한다.
  • PowerShell에서 git add ... && git status --short를 실행하면 이 환경에서는 &&가 statement separator로 인식되지 않아 실패한다. 명령은 분리해서 실행한다.