fix: add abaqus uel wrapper contract
This commit is contained in:
+16
-6
@@ -5,8 +5,8 @@
|
||||
- Active objective: 3D Euler-Bernoulli beam Abaqus/Standard `UEL`
|
||||
- Active phase: `phases/uel-3d-euler-beam`
|
||||
- Active owner: unassigned
|
||||
- Current status: completed ad hoc UEL ABI research correction note after step 7 implementation review
|
||||
- Next action: correct the Abaqus-facing UEL wrapper/interface mismatch before executing `phases/uel-3d-euler-beam/step8.md` validation-readiness step
|
||||
- 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
|
||||
|
||||
@@ -54,6 +54,11 @@
|
||||
- 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
|
||||
|
||||
@@ -65,17 +70,21 @@
|
||||
|
||||
## Last Verification
|
||||
|
||||
Latest verification after creating the UEL ABI research document:
|
||||
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"`: 57 tests passed.
|
||||
- `python scripts/validate_workspace.py`: reference artifact validation succeeded; six Fortran manifest executables compiled and passed with Intel `ifx`; workspace validation succeeded.
|
||||
- `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:
|
||||
@@ -98,5 +107,6 @@ Result: all passed.
|
||||
|
||||
- Read `AGENTS.md`, `PLAN.md`, `PROGRESS.md`, and `WORKNOTE.md`.
|
||||
- Confirm no other owner is active in this file.
|
||||
- Correct the Abaqus-facing `UEL` wrapper/interface mismatch before `phases/uel-3d-euler-beam/step8.md`.
|
||||
- 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.
|
||||
|
||||
Reference in New Issue
Block a user