docs: refresh Abaqus subroutine guidance

This commit is contained in:
KOKO\Mimi
2026-08-18 11:27:22 +09:00
parent a3197dc2e3
commit e76c1b96fd
64 changed files with 498 additions and 4560 deletions
@@ -1,68 +0,0 @@
# 3D Euler-Bernoulli Beam UEL GREEN Test Report
## Metadata
- feature_id: uel-3d-euler-beam
- source_red_report: `docs/build-test-reports/uel-3d-euler-beam-red.md`
- source_reference_models: `docs/reference-models/uel-3d-euler-beam.md`
- status: pass-for-workspace-validation
- owner_agent: implementation-agent
- date: 2026-06-11
## Implementation Scope
Post-step ABI correction note: the original step 7 implementation deliberately deferred the fixed-form Abaqus `UEL` wrapper. The follow-up correction report `docs/corrections/uel-3d-euler-beam-uel-abi-correction.md` supersedes that deferred-wrapper status and records the added wrapper, `NSVARS>=1` policy, and `LFLAGS(1)/(4)` checks.
Production source added in this step:
- `src/fortran/uel_3d_euler_beam_kernel.f90`
- `src/fortran/uel_3d_euler_beam_abi_adapter.f90`
The implementation covers the approved no-Abaqus scope:
- 12-by-12 Euler-Bernoulli local stiffness matrix.
- Local frame construction from node coordinates and `PROPS(7:9)`.
- `K_global = T^T*k_local*T`.
- Static residual `RHS(1:12,1) = -K_global*U(1:12)`.
- `AMATRX` and `RHS` selection for `LFLAGS(3)=1`, `2`, and `5`.
- Shape, property, geometry, orientation, and unsupported-request diagnostics.
- Deterministic zeroing of `RHS`, `AMATRX`, and `ENERGY`; `PNEWDT` unchanged for valid calls.
The fixed-form Abaqus `UEL` wrapper remains deferred because the approved step 7 no-Abaqus tests target the kernel and ABI adapter only.
## Harness Support Changes
Two validation harness fixes were required after the step 6 RED manifest became executable:
- `scripts/validate_fortran.py` now creates each `build/fortran-tests/<test-name>/` directory before invoking Intel Fortran.
- `scripts/fortran_toolchain.py` now invokes the oneAPI environment script through `ComSpec` or discovered `cmd.exe` and sets a minimal Windows PATH for the child command shell.
These changes are covered by updated Python harness tests in:
- `scripts/test_validate_fortran.py`
- `scripts/test_fortran_toolchain.py`
## Command Log Summary
| order | command | exit_code | result | evidence |
| --- | --- | --- | --- | --- |
| 1 | `python scripts/test_validate_fortran.py -k build_commands_create` | 1 then 0 | RED then GREEN | failed before build-dir creation fix; passed after `build_dir.mkdir(...)` |
| 2 | `python scripts/test_fortran_toolchain.py -k wrap_command` | 1 then 0 | RED then GREEN | failed before absolute `cmd.exe` and minimal PATH wrapper; passed after wrapper update |
| 3 | `python -m unittest discover -s scripts -p "test_*.py"` | 0 | pass | 57 Python harness tests passed |
| 4 | `python scripts/validate_reference_artifacts.py` | 0 | pass | reference artifact metadata validation succeeded |
| 5 | `python scripts/validate_fortran.py` | 0 | pass | all six no-Abaqus Fortran manifest executables compiled and passed with Intel `ifx` through oneAPI env script |
| 6 | `python scripts/validate_workspace.py` | 0 | pass | reference validation and Fortran validation both succeeded |
## No-Abaqus Fortran Tests Passed
| manifest_test | result |
| --- | --- |
| `uel_3d_euler_beam_kernel_stiffness` | pass |
| `uel_3d_euler_beam_kernel_transform_modes` | pass |
| `uel_3d_euler_beam_abi_static` | pass |
| `uel_3d_euler_beam_invalid_inputs` | pass |
| `uel_3d_euler_beam_kernel_source_smoke` | pass |
| `uel_3d_euler_beam_abi_adapter_source_smoke` | pass |
## Handoff to Step 8
Step 8 can proceed to validation readiness using the passing no-Abaqus evidence above. External Abaqus reference artifacts remain absent and must still be user-generated before solver-result comparison.
@@ -1,67 +0,0 @@
# 3D Euler-Bernoulli Beam UEL RED Test Report
## Metadata
- feature_id: uel-3d-euler-beam
- source_reference_models: `docs/reference-models/uel-3d-euler-beam.md`
- status: red-evidence-recorded
- owner_agent: implementation-agent
- date: 2026-06-11
## Scope
This report records the step 6 RED evidence after adding no-Abaqus Fortran tests and `tests/fortran/manifest.json`.
Production Fortran source was not added in this step. The expected RED condition is a compile failure from missing planned production source:
- `src/fortran/uel_3d_euler_beam_kernel.f90`
- `src/fortran/uel_3d_euler_beam_abi_adapter.f90`
## Test Files Added Before Production Code
| manifest_test | source file |
| --- | --- |
| `uel_3d_euler_beam_kernel_stiffness` | `tests/fortran/uel_3d_euler_beam/test_kernel_stiffness.f90` |
| `uel_3d_euler_beam_kernel_transform_modes` | `tests/fortran/uel_3d_euler_beam/test_kernel_transform_modes.f90` |
| `uel_3d_euler_beam_abi_static` | `tests/fortran/uel_3d_euler_beam/test_abi_static.f90` |
| `uel_3d_euler_beam_invalid_inputs` | `tests/fortran/uel_3d_euler_beam/test_invalid_inputs.f90` |
| shared support | `tests/fortran/uel_3d_euler_beam/test_support.f90` |
## Command Log Summary
| order | command | exit_code | result | evidence |
| --- | --- | --- | --- | --- |
| 1 | `python -m json.tool tests/fortran/manifest.json` | 0 | pass | manifest JSON parsed successfully |
| 2 | `python -m unittest discover -s scripts -p "test_*.py"` | 0 | pass | 56 Python harness tests passed |
| 3 | `python scripts/validate_reference_artifacts.py` | 0 | pass | reference artifact metadata validation succeeded |
| 4 | `python scripts/validate_fortran.py` | 1 | environment failure before RED | current `cmd.exe` child process sees empty `%PATH%`; nested `cmd` command is not found |
| 5 | `$env:PATH='C:\Windows\System32;C:\Windows;C:\Users\user\miniforge3'; C:\Users\user\miniforge3\python.exe scripts/validate_fortran.py` | 1 | expected RED | `ifx` reached compile and failed because `src/fortran/uel_3d_euler_beam_kernel.f90` does not exist |
| 6 | `python scripts/validate_workspace.py` | 1 | environment failure before RED | reference validation passed, then Fortran validation hit the same nested `cmd` lookup issue |
| 7 | `$env:PATH='C:\Windows\System32;C:\Windows;C:\Users\user\miniforge3'; C:\Users\user\miniforge3\python.exe scripts/validate_workspace.py` | 1 | expected RED | reference validation passed, then Fortran validation failed on missing production kernel source |
| 8 | `$env:HARNESS_FORTRAN_VALIDATION='detect'; python scripts/validate_workspace.py` | 0 | pass | reference validation passed; Fortran manifest/compiler detection mode produced no compile commands |
## RED Failure Classification
- classification: `fortran-compile`
- first implementation-owned failure after environment normalization: missing planned production source
- primary evidence tail:
```text
xfortcom: Severe: No such file or directory
... file is 'C:\git\AbaqusSubroutineDev\src\fortran\uel_3d_euler_beam_kernel.f90'
compilation aborted for C:\git\AbaqusSubroutineDev\src\fortran\uel_3d_euler_beam_kernel.f90 (code 1)
```
The subsequent module import errors in `test_kernel_stiffness.f90` are secondary to the missing kernel module source.
## Environment Note
This Codex process can find `cmd.exe` from PowerShell and Python, but a child `cmd.exe` invoked during `validate_fortran.py` sees an empty `%PATH%` unless a minimal `PATH` is set explicitly. The normalized command above confirms that Intel oneAPI `ifx` is available through the configured oneAPI env script and that the actionable RED failure is the missing production source, not a missing compiler.
## Handoff to Step 7
Implement the minimum production Fortran needed to turn the four manifest tests GREEN:
- `src/fortran/uel_3d_euler_beam_kernel.f90`
- `src/fortran/uel_3d_euler_beam_abi_adapter.f90`
The Abaqus fixed-form `UEL` wrapper remains planned for the implementation gate but is not required to satisfy these no-Abaqus RED tests unless the step 7 plan explicitly includes it.