# 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.