docs: document abaqus uel abi requirements

This commit is contained in:
김경종
2026-06-12 08:39:18 +09:00
parent 1fc3128ed5
commit 44d4ebadf8
4 changed files with 176 additions and 5 deletions
+4
View File
@@ -13,3 +13,7 @@
- `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.py``ComSpec`/절대 `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.md``VARIABLES=0`/`NSVARS=0` 정책은 Abaqus `*USER ELEMENT` 문서의 `VARIABLES` 값이 0보다 커야 한다는 규칙과 충돌할 가능성이 있다. 실제 Abaqus-facing 계약은 `VARIABLES=1` 이상 또는 target-version 근거가 있는 예외로 보정해야 한다.
- PowerShell에서 `git add ... && git status --short`를 실행하면 이 환경에서는 `&&`가 statement separator로 인식되지 않아 실패한다. 명령은 분리해서 실행한다.