Files
AbaqusSubroutineDev/PROGRESS.md
T
2026-08-18 03:00:21 +09:00

8.8 KiB

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

  • Completed the AI-agent-oriented Abaqus User Subroutine Manual index.
    • Created docs/AbaqusUserSubroutineManual/INDEX_DESIGN.md with schema, generation, boundary, retrieval, and validation rules.
    • Created docs/AbaqusUserSubroutineManual/INDEX.md with 115 unique leaf-section records across 69 Markdown chunks.
    • Included explicit per-file source ranges, source pages, stable headings, summaries, keywords, and selected content anchors.
    • Added Appendix A.1/A.2 records and regression checks for CREEP, the 1.3.2 chapter boundary, and the three-file 2.1.23 ALLOCATABLE ARRAYS span.
    • Used schema version 2 products lists sourced from explicit manual Product:/Products: declarations when present, including Aqua applicability for UWAVE, VWAVE, and utility topics.
    • Declared the 69 unbundled manual chunks and matching source digest as mandatory external-local prerequisites.
  • 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 for the manual index documentation task:

python -c "import pathlib,re,yaml; t=pathlib.Path('docs/AbaqusUserSubroutineManual/INDEX.md').read_text(encoding='utf-8'); b=re.findall(r'```yaml\\n(.*?)\\n```',t,re.S); r=[yaml.safe_load(x) for x in b[1:]]; assert len(b)==116 and len(r)==115 and len({x['section_id'] for x in r})==115; print('PASS: 116 YAML blocks, 115 unique records')"
rg -n -g "AbaqusUserSubroutineManual_*.md" "^# (?:[0-9]+\\.[0-9]+\\.[0-9]+|A\\.[0-9]+) " docs/AbaqusUserSubroutineManual
python scripts/validate_workspace.py
python -m unittest discover -s scripts -p "test_*.py"
git diff --cached --check

Result:

  • Final independent index validation passed: 69 source files; 115 ordered unique records; 116 valid YAML blocks; exact structural boundaries, source pages, headings, source-backed product applicability, anchors, source digest, and no placeholders.
  • Explicit regressions passed for CREEP (_002.md:96-249, _003.md:1-390), 1.3.2 (_059.md:178-374, _060.md:1-13), and 2.1.23 (_066.md:99-245, _067.md:1-383, _068.md:1-222).
  • UWAVE and VWAVE include their explicit Abaqus/Aqua applicability; all utility products lists match their source declarations.
  • All 12 image paths referenced by the complete Markdown manual currently resolve under images/; images remain outside the Markdown-only line-location digest.
  • Final INDEX.md SHA-256: 8C5548E1AC6BE2A0A704A9AD15F532510F67E47D64810683DED96CCE93C155BE.
  • python scripts/validate_workspace.py: passed; reference artifact validation succeeded and no Fortran validation commands were configured in the current working tree.
  • python -m unittest discover -s scripts -p "test_*.py": 26 tests ran; 23 passed and 3 pre-existing UEL wrapper tests failed because src/fortran/uel_3d_euler_beam_uel.for is currently deleted in the user's working tree.
  • git diff --cached --check: passed for the staged manual-index changes. Repository-wide git diff --check remains blocked by a pre-existing extra blank line at AGENTS.md:110.

Latest verification after correcting the Abaqus-facing UEL wrapper/interface:

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:

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.