Files
2026-06-12 09:08:25 +09:00

113 lines
5.9 KiB
Markdown

# PROGRESS.md
## Current State
- Active objective: 3D Euler-Bernoulli beam Abaqus/Standard `UEL`
- Active phase: `phases/uel-3d-euler-beam`
- Active owner: unassigned
- Current status: completed Abaqus-facing UEL wrapper/interface correction after step 7 implementation review
- Next action: execute `phases/uel-3d-euler-beam/step8.md` validation-readiness step with corrected `VARIABLES=1` / `NSVARS>=1` contract
## Completed
- Created phase scaffold under `phases/uel-3d-euler-beam`.
- Added shared coordination files: `PLAN.md`, `PROGRESS.md`, `WORKNOTE.md`.
- Updated `AGENTS.md` to require agents to read and maintain the shared coordination files.
- Completed step 0 requirements for `uel-3d-euler-beam`.
- Created `docs/requirements/uel-3d-euler-beam.md`.
- Updated `phases/uel-3d-euler-beam/index.json` step 0 to `completed`.
- Completed step 1 research for `uel-3d-euler-beam`.
- Created `docs/research/uel-3d-euler-beam-research.md`.
- Updated `phases/uel-3d-euler-beam/index.json` step 1 to `completed`.
- Completed step 2 formulation for `uel-3d-euler-beam`.
- Created `docs/formulations/uel-3d-euler-beam.md`.
- Updated `phases/uel-3d-euler-beam/index.json` step 2 to `completed`.
- Completed step 3 numerical review for `uel-3d-euler-beam`.
- Created `docs/numerical-reviews/uel-3d-euler-beam.md`.
- Updated `phases/uel-3d-euler-beam/index.json` step 3 to `completed`.
- Completed step 4 interface contract for `uel-3d-euler-beam`.
- Created `docs/io-definitions/uel-3d-euler-beam.md`.
- Updated `phases/uel-3d-euler-beam/index.json` step 4 to `completed`.
- Completed step 5 test/reference model planning for `uel-3d-euler-beam`.
- Created `docs/reference-models/uel-3d-euler-beam.md`.
- Updated `phases/uel-3d-euler-beam/index.json` step 5 to `completed`.
- Completed step 6 RED no-Abaqus test creation for `uel-3d-euler-beam`.
- Created `tests/fortran/manifest.json`.
- Created `tests/fortran/uel_3d_euler_beam/test_support.f90`.
- Created `tests/fortran/uel_3d_euler_beam/test_kernel_stiffness.f90`.
- Created `tests/fortran/uel_3d_euler_beam/test_kernel_transform_modes.f90`.
- Created `tests/fortran/uel_3d_euler_beam/test_abi_static.f90`.
- Created `tests/fortran/uel_3d_euler_beam/test_invalid_inputs.f90`.
- Created `docs/build-test-reports/uel-3d-euler-beam-red.md`.
- Updated `phases/uel-3d-euler-beam/index.json` step 6 to `completed`.
- Completed step 7 Fortran implementation for `uel-3d-euler-beam`.
- Created `src/fortran/uel_3d_euler_beam_kernel.f90`.
- Created `src/fortran/uel_3d_euler_beam_abi_adapter.f90`.
- Added source-smoke no-Abaqus tests under `tests/fortran/`.
- Updated `tests/fortran/manifest.json` with the source-smoke tests.
- Fixed `scripts/validate_fortran.py` to create per-test build directories.
- Fixed `scripts/fortran_toolchain.py` to use `ComSpec`/absolute `cmd.exe` and a minimal Windows PATH for oneAPI env setup.
- Created `docs/build-test-reports/uel-3d-euler-beam-green.md`.
- Updated `phases/uel-3d-euler-beam/index.json` step 7 to `completed`.
- Completed ad hoc UEL ABI format research after user review feedback.
- Created `docs/abaqus-uel-subroutines-research.md`.
- Confirmed current source has no top-level Abaqus-callable `SUBROUTINE UEL(...)` wrapper under `src/fortran`.
- Confirmed `uel3deb_abi_static` is a no-Abaqus adapter, not the manual Abaqus UEL ABI.
- Identified a likely Abaqus input contract issue: documented `*USER ELEMENT, VARIABLES` must be greater than zero, so the current `NSVARS=0` / `VARIABLES=0` contract should be corrected before external Abaqus validation.
- Completed Abaqus-facing UEL ABI correction.
- Added `src/fortran/uel_3d_euler_beam_uel.for` with top-level fixed-form `SUBROUTINE UEL(...)`, `ABA_PARAM.INC`, manual Abaqus array dimensions, adapter delegation, and fatal `XIT` path.
- Updated `uel3deb_abi_static` to accept `NSVARS>=1`, use explicit/manual-style array bounds, and validate `LFLAGS(1)` and `LFLAGS(4)`.
- Updated no-Abaqus tests and wrapper source-smoke tests for the corrected contract.
- Updated `docs/io-definitions/uel-3d-euler-beam.md`, `docs/reference-models/uel-3d-euler-beam.md`, and `docs/corrections/uel-3d-euler-beam-uel-abi-correction.md`.
## In Progress
- None.
## Blocked
- None.
## Last Verification
Latest verification after correcting the Abaqus-facing UEL wrapper/interface:
```bash
python -m unittest discover -s scripts -p "test_*.py"
python scripts/validate_reference_artifacts.py
python scripts/validate_fortran.py
python scripts/validate_workspace.py
git diff --check
```
Result: all passed.
- `python -m unittest discover -s scripts -p "test_*.py"`: 60 tests passed.
- `python scripts/validate_reference_artifacts.py`: reference artifact metadata validation succeeded.
- `python scripts/validate_fortran.py`: six Fortran manifest executables compiled and passed with Intel `ifx`.
- `python scripts/validate_workspace.py`: reference validation and Fortran validation succeeded.
- `git diff --check`: passed with line-ending warnings only.
Previous verification after completing step 7 Fortran implementation:
```bash
python -m unittest discover -s scripts -p "test_*.py"
python scripts/validate_fortran.py
python scripts/validate_reference_artifacts.py
python scripts/validate_workspace.py
```
Result: all passed.
- `python -m unittest discover -s scripts -p "test_*.py"`: 57 tests passed.
- `python scripts/validate_fortran.py`: six Fortran manifest executables compiled and passed with Intel `ifx` through oneAPI env script.
- `python scripts/validate_reference_artifacts.py`: reference artifact metadata validation succeeded.
- `python scripts/validate_workspace.py`: succeeded.
## Next Agent Checklist
- Read `AGENTS.md`, `PLAN.md`, `PROGRESS.md`, and `WORKNOTE.md`.
- Confirm no other owner is active in this file.
- Proceed to `phases/uel-3d-euler-beam/step8.md`.
- Use `VARIABLES=1` in external Abaqus `*USER ELEMENT` examples; the adapter now requires `NSVARS>=1`.
- Update this file when step status changes or before handing off.