feat: implement 3d euler beam fortran kernel
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# 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
|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user