269 lines
16 KiB
Markdown
269 lines
16 KiB
Markdown
# Linear Static 3D Euler Beam Physics Evaluation Report
|
|
|
|
## Metadata
|
|
|
|
- feature_id: `linear-static-3d-euler-beam`
|
|
- model_id: `cantilever-beam-b33`
|
|
- evaluated_head: `d76d052456ec134a98bcd5aa3b3c18a6b0ad6ba4`
|
|
- source_reference_verification_report: `docs/linear-static-3d-euler-beam/reference-comparison.md`
|
|
- source_reference_model: `docs/linear-static-3d-euler-beam/reference-model.md`
|
|
- source_requirement: `docs/linear-static-3d-euler-beam/requirements.md`
|
|
- source_formulation: `docs/linear-static-3d-euler-beam/formulation.md`
|
|
- source_numerical_review: `docs/linear-static-3d-euler-beam/numerical-review.md`
|
|
- source_io_definition: `docs/linear-static-3d-euler-beam/io.md`
|
|
- status: `pass-for-release-agent`
|
|
- owner_agent: `physics-evaluation-agent`
|
|
- date: `2026-08-09`
|
|
|
|
This verdict means that the documented physical checks pass and the Release Agent may audit
|
|
release readiness. It does not approve release readiness and does not re-evaluate the Step 26
|
|
reference tolerance decision.
|
|
|
|
## Input Evidence
|
|
|
|
The reference-verification prerequisite has status `pass-for-physics-evaluation`. Its checked
|
|
artifact identity was reproduced before the physics checks and again after the targeted CTest.
|
|
|
|
| evidence | exact path or identity | status | notes |
|
|
| --- | --- | --- | --- |
|
|
| reference verification | `docs/linear-static-3d-euler-beam/reference-comparison.md` | pass-for-physics-evaluation | Required gate satisfied. |
|
|
| solver HDF5 | `.harness/build/reference/cantilever-beam-b33/results.h5` | present and readable | 25,336 bytes; post-acceptance-run SHA-256 `13ECCF68262C14BBDE0F63667C0F10896ACD40EFEC56E8C9121C298333FD9B6D`. |
|
|
| comparison evidence | `.harness/build/reference/cantilever-beam-b33/comparison.json` | present and passing | 128,118 bytes; SHA-256 `258347AEA791D981AEA9B2BCAD85DE5344D4859ECA3692DC5E7AA01A848F8E0D`; `passed=true`, 176 rows, 16 metrics. |
|
|
| reference input | `reference/cantilever beam/cantilever beam.inp` | exact read-only artifact | SHA-256 `E406EA9560321B791DB829E03BD24593B9875E0195D35B86BD931EDA122EF3`; `TYPE=B33`. |
|
|
| reference displacement | `reference/cantilever beam/cantilever beam displacements.csv` | exact read-only artifact | SHA-256 `7B3312FBC8848E81D9A0FD4FF2B56BC1954636A2C14B5C1CBB269CB9477D3C31`. |
|
|
| reference reaction | `reference/cantilever beam/cantilever beam reactions.csv` | exact read-only artifact | SHA-256 `BF30CDB0CD50106885DE14D63492737736C587426EBD787DE4F7EE6AA86DAA23`. |
|
|
| reference elemental force | `reference/cantilever beam/cantilever beam elemental forces.csv` | exact read-only artifact | SHA-256 `E5E77FEC0FA9482AE018DBF296E74D396335C7C711BD2E9AA2315247A34290BA`. |
|
|
| solver CSV views | N/A | not used | No derived FESA CSV was generated or used. |
|
|
| stress reference CSV | N/A by approved contract | not applicable | `S11` is evaluated from HDF5 schema, formulation, and analytical/unit evidence only. |
|
|
| targeted physics tests | `.harness/build`, MSVC x64 Debug | pass | Exact Step 27 CTest passed 17/17: EulerBeam3D 10, ResultRecovery 6, B33ReferenceComparison 1. |
|
|
|
|
Read-only HDF5 inspection confirmed schema `0`, solver `0.1.0`, feature identity, `Step-1` frame
|
|
`0`, formulation `B33-3D-Euler-Bernoulli`, source content identity
|
|
`fnv1a64:04543464cc970405`, and coordinate convention
|
|
`global-cartesian; beam-local=(t,n1,t-cross-n1)`. The file contains 11 nodes at
|
|
`(x,y,z)=(0..10,0,0)` m and 10 consecutive one-metre elements. Every element has identity local
|
|
axes, so local `(x,y,z)` equals global `(X,Y,Z)` for this model.
|
|
|
|
The documented physical model is a 10 m cantilever with node 1 fixed in all six DOFs and a
|
|
free-end global/local `FZ=-1.0e6 N` at node 11. The section and material are SI:
|
|
`E=2.1e11 Pa`, `Iy=I11=0.0833333 m^4`, and the only expected deformation mode is local-`z`
|
|
translation with bending about local `y`.
|
|
|
|
## Physics Checks
|
|
|
|
All normalized physics criteria below come from the approved `1e-10` residual/equilibrium,
|
|
`1e-12` matrix/transform/end-sign, or `1e-9` analytical contracts. They are independent checks of
|
|
physical meaning, not a second application of the Abaqus row tolerance.
|
|
|
|
### 1. global equilibrium
|
|
|
|
In global Cartesian coordinates, force equilibrium is
|
|
|
|
`r_F = sum(F_applied) + sum(R)`,
|
|
|
|
with criterion
|
|
|
|
`||r_F|| / max(||sum(F_applied)||, ||sum(R)||) <= 1e-10`.
|
|
|
|
The comparison physics evidence records `sum(F_applied)=[0,0,-1000000] N` and
|
|
`sum(R)=[0,0,999999.9999998808] N`. Therefore
|
|
`r_F=[0,0,-1.1920928955078125e-7] N`, its norm is
|
|
`1.1920928955078125e-7 N`, and the normalized value is
|
|
`1.1920928955078125e-13`. Verdict: **pass**.
|
|
|
|
Moment equilibrium about the global origin is
|
|
|
|
`r_M = sum(M_applied) + sum(X cross F_applied) + sum(M_reaction) + sum(X cross R_force)`.
|
|
|
|
The free-end force gives `[0,1.0e7,0] N*m`; the complete HDF5 reaction field gives
|
|
`[0,-9999999.999997258,0] N*m`. Thus `r_M=[0,2.7418136596679688e-6,0] N*m`,
|
|
with normalized norm `2.7418136596679688e-13` against `1.0e7 N*m`. Verdict: **pass**.
|
|
|
|
### 2. reaction consistency and true free residual
|
|
|
|
The constrained reaction contract is `R_c=(K*d-F)_c`. At fixed node 1 the observed global row is
|
|
`[RF1,RF2,RF3,RM1,RM2,RM3] = [0,0,1000000.0000008196,0,-10000000.000005051,0]`
|
|
in `[N,N,N,N*m,N*m,N*m]`. It opposes the applied `-Z` force and balances its positive origin
|
|
moment. Differences from the physical closed-form reactions are `8.195638656616211e-7 N` and
|
|
`5.0514936447143555e-6 N*m`, normalized to `8.195638656616211e-13` and
|
|
`5.0514936447143555e-13`. Verdict: **pass**.
|
|
|
|
The reaction dataset intentionally preserves free residuals. The implementation uses
|
|
|
|
`rho_f = ||(K*d-F)_f||_2 / max(||K*d||_f, ||F||_f)`
|
|
|
|
with no artificial unit floor. The serialized true free residual norm is
|
|
`9.356339321107032e-7 N-equivalent`; the physical free scale is `1.0e6 N`, so
|
|
`rho_f=9.356339321107032e-13 <= 1e-10`. The largest observed free force-residual component is
|
|
`5.9604644775390625e-7 N`, and the largest free moment-residual component is
|
|
`2.0861625671386719e-7 N*m`. Verdict: **pass**.
|
|
|
|
### 3. displacement direction and rotation sign
|
|
|
|
For free-end local `Pz=-1.0e6 N`, the documented Euler-Bernoulli solution is
|
|
|
|
`w(L)=Pz*L^3/(3*E*Iy)`, `theta_y(L)=-Pz*L^2/(2*E*Iy)`.
|
|
|
|
The expected values are `-0.0190476266666697 m` and `+0.00285714400000046 rad`.
|
|
HDF5 gives tip `UZ=-0.019047626666677083 m` and `URY=+0.0028571440000013902 rad`, with relative
|
|
errors `3.87e-13` and `3.27e-13`, below the analytical `1e-9` criterion. All non-root `UZ` values
|
|
are negative and monotonically increase in magnitude toward the loaded tip; all non-root `URY`
|
|
values are positive, as required by `theta_y=-dw/dx`. Verdict: **pass**.
|
|
|
|
### 4. expected zero and uncoupled symmetry
|
|
|
|
The fixed-root displacement row is exactly zero in all six components. Across all nodes,
|
|
`UX`, `UY`, `URX`, and `URZ` are exactly zero. The only nonzero kinematic components are `UZ` and
|
|
`URY`, and the only physical constrained reactions are `RF3` and `RM2`. In the element recovery,
|
|
`epsilon0`, `kappa_x`, and `kappa_z`, and the corresponding `N`, `T`, and `Mz`, are exactly zero.
|
|
This is the documented uncoupled local-`z` bending symmetry, with no axial, torsional, or
|
|
cross-plane leakage. Verdict: **pass**.
|
|
|
|
### 5. element force, adjacent endpoints, and boundary balance
|
|
|
|
The HDF5 `end_force_local` rows are outward endpoint actions in
|
|
`[FX,FY,FZ,MX,MY,MZ]`; `section_resultant` rows are positive-local-`x` section cuts in
|
|
`[N,T,My,Mz]`. With no distributed load,
|
|
|
|
`F_X=n*N`, `M_X=n*T`, `M_Y=n*My`, `M_Z=n*Mz`,
|
|
`F_Y=-n*dMz/dx`, and `F_Z=n*dMy/dx`, where `n=-1` at `xi=-1` and `n=+1` at `xi=+1`.
|
|
|
|
Observed section `My` is positive and decreases linearly from
|
|
`10000000.000005048 N*m` at the root to `2.4286118949223834e-7 N*m` at the free end. The maximum
|
|
positive-face `My` mismatch between adjacent unloaded endpoints is
|
|
`2.73110345005989e-7 N*m`, normalized to `2.73110345005989e-14` against the model moment scale.
|
|
The comparison ledger independently records `endpoint_consistency_passed=true` without averaging.
|
|
|
|
Adjacent outward actions cancel. The maximum interior `FZ_right+FZ_left` magnitude is
|
|
`5.364418029785156e-7 N` (`5.364418029785156e-13` normalized); the maximum interior
|
|
`MY_right+MY_left` magnitude is `2.682209014892578e-7 N*m`
|
|
(`2.682209014892578e-14` normalized). Both satisfy the documented end-sign/residual criteria.
|
|
|
|
At the root, the first element action is exactly the constrained reaction evidence:
|
|
`FZ=+1000000.0000008196 N`, `MY=-10000000.000005051 N*m`. At the free boundary, the last element
|
|
has `FZ=-999999.9999998808 N` and `MY=-5.9604644775390625e-8 N*m`, balancing the applied end force
|
|
and the zero applied end moment to normalized residual scale. Verdict: **pass**.
|
|
|
|
### 6. local/global mapping and section-force signs
|
|
|
|
Every stored local-axis matrix is the identity. Therefore the global `-Z` load is local
|
|
`Pz=-1.0e6 N`, `UZ=w<0`, `URY=theta_y>0`, and the positive-face section resultant is
|
|
`My=-Pz*(L-x)>0`. The observed outward signs are `FZ>0, MY<0` at left endpoints and
|
|
`FZ<0, MY>0` at right endpoints, except for the physically zero free-end moment residue. These
|
|
values satisfy the documented `theta_y=-w'`, `My=-E*Iy*w''`, outward-normal, and
|
|
positive-face-section-cut conventions. Verdict: **pass**.
|
|
|
|
### 7. stress location, unit, and sign sanity
|
|
|
|
The stress contract is
|
|
|
|
`S11(xi,y,z)=E*(epsilon0 + z*kappa_y - y*kappa_z)`,
|
|
|
|
where `x1=y`, `x2=z`, the coordinate system is beam local, the unit is `force/length^2`, and the
|
|
location is a section point at each of two Gauss points. The reference input has no section
|
|
points, so HDF5 correctly contains 20 ordered `fesa-default` centroid rows
|
|
`(x1,x2)=(0,0)`, one at each Gauss point of ten elements. This model has pure bending with
|
|
`epsilon0=0`; consequently all 20 observed centroid `S11` values are exactly `0 Pa`.
|
|
|
|
Nonzero location/sign evidence comes only from the approved analytical/unit portfolio, not from
|
|
an Abaqus stress comparison. `EulerBeam3D.RecoversSectionPointAndDefaultCentroidS11` passed with
|
|
`epsilon0=0.01`, `kappa_y=0.02 1/m`, `kappa_z=-0.03 1/m`, `E=2.1e11 Pa`: the formula gives
|
|
`1.575e9 Pa` at `(y,z)=(0.25,-0.5)`, `8.4e8 Pa` at `(-0.4,0.3)`, and `2.1e9 Pa` at the default
|
|
centroid. The test enforces the formula at both Gauss points with normalized `1e-12` evidence.
|
|
Abaqus beam stress comparison remains explicitly N/A. Verdict: **pass**.
|
|
|
|
### 8. nonfinite, rigid-body, abnormal-magnitude, and energy symptoms
|
|
|
|
All mandatory numeric HDF5 rows inspected here are finite; `comparison.json` also records no
|
|
nonfinite row among the 176 compared rows and the 20 stress rows are finite. The fixed root is
|
|
exactly zero, factorization/solution completed, the normalized free residual is `9.36e-13`, and
|
|
the displacement field is smooth, so there is no rigid-body-mode symptom.
|
|
|
|
For this one-load linear case, the recoverable strain energy is
|
|
`U=0.5*F^T*d=9523.81333333854 N*m`, which is finite and positive. The ratios
|
|
`|UZ_tip|/L=0.00190476266666771` and `|URY_tip|=0.00285714400000139 rad` agree with the analytical
|
|
solution and show no abnormal magnitude relative to the documented small-displacement/rotation
|
|
model. The targeted rank/energy test also passed the six-rigid-mode, rank-six, and positive
|
|
deformation-energy checks. Verdict: **pass**.
|
|
|
|
### 9. model coverage
|
|
|
|
The approved B33 bundle is one identity-axis local-`z` bending cantilever. It directly covers the
|
|
end-to-end parser/solver/HDF5 path, global equilibrium, reaction sign, `UZ/URY`, `My/FZ`, endpoint
|
|
continuity, and the centroid stress fallback. It does not by itself cover axial, torsion, local-`y`
|
|
bending, rotated space, nonzero fiber stress, prescribed displacement, or the formulation-only
|
|
line-load kernel. The targeted analytical/unit portfolio supplies the documented complementary
|
|
coverage:
|
|
|
|
| coverage | targeted passing evidence | criterion |
|
|
| --- | --- | --- |
|
|
| axial, torsion, both bending planes | `EulerBeam3D.AnalyticalAxialTorsionAndTwoPlaneBendingRecover` and `ResultRecovery.MatchesAxialTorsionAndTwoPlaneEndSigns` | analytical relative `1e-9`; signed recovery contract |
|
|
| rotated local/global mapping | `EulerBeam3D.RotatedTransformPreservesWorkAndEnergy` | transform/work/energy normalized `1e-12` |
|
|
| constant local line-load kernel | `EulerBeam3D.ConstantLineLoadMatchesAllSignedComponents` | all 12 signed components normalized `1e-12`; `*DLOAD` remains outside CLI scope |
|
|
| rigid modes, rank, and energy | `EulerBeam3D.HasSixRigidModesRankSixAndPositiveDeformationEnergy` | rigid residual `1e-10`, rank six, positive deformation energy |
|
|
| prescribed displacement and residual | `ResultRecovery.ComputesResidualReactionForNonzeroPrescription`, `ResultRecovery.EnforcesNormalizedFreeResidual` | partition/reaction and normalized residual `1e-10` |
|
|
| result identity and continuity | `ResultRecovery.KeepsEndActionSectionAndGaussResultsDistinct`, `ResultRecovery.RequiresInteriorEndpointConsistencyWithoutAveraging` | distinct locations and no-average consistency |
|
|
| S11 location/sign/default | `EulerBeam3D.RecoversSectionPointAndDefaultCentroidS11`, `ResultRecovery.OrdersStressPointsAndDefaultCentroid` | formula/schema normalized `1e-12` |
|
|
|
|
The exact acceptance command passed all 17 selected tests. The single reference model plus this
|
|
analytical portfolio covers every documented physical expectation without attributing unsupported
|
|
coverage to the legacy CSV bundle. Verdict: **pass**.
|
|
|
|
## Failure Classification
|
|
|
|
- classification: `N/A`
|
|
- primary_failure: `N/A`
|
|
- evidence: all documented physics checks passed; no equilibrium, reaction, displacement,
|
|
symmetry, element-force, stress-location, rigid-body, nonfinite, coverage, contract, or
|
|
environment failure was found
|
|
- correction_handoff: `N/A`
|
|
|
|
## Evaluation Verdict
|
|
|
|
- verdict: `pass-for-release-agent`
|
|
- reason: the exact reference gate and artifact identity are valid; force and origin-moment
|
|
equilibrium, constrained reaction consistency, true free residual, deformation signs, expected
|
|
zeros, element force balance, local/global and section-force signs, S11 schema/analytical sanity,
|
|
finite/energy/mode checks, and complementary model coverage all satisfy their documented criteria
|
|
- release_approval: `not granted by this report`
|
|
|
|
## Handoff Recommendation
|
|
|
|
| target_agent | reason | required_input |
|
|
| --- | --- | --- |
|
|
| Release Agent | All documented physical checks passed. | This report, the Step 26 reference-verification report, exact build-local HDF5/comparison identities, targeted CTest evidence, and the limitations below. |
|
|
|
|
## No-Change Assertion
|
|
|
|
- source_files_modified: `false`
|
|
- test_files_modified: `false`
|
|
- cmake_files_modified: `false`
|
|
- requirements_modified: `false`
|
|
- formulations_modified: `false`
|
|
- numerical_review_modified: `false`
|
|
- io_contract_modified: `false`
|
|
- reference_model_contract_modified: `false`
|
|
- reference_verification_report_modified: `false`
|
|
- reference_artifacts_modified: `false`
|
|
- tolerance_policies_modified: `false`
|
|
- Abaqus_or_other_reference_solver_executed: `false`
|
|
- owned_report_created: `true`
|
|
- phase_index_step27_modified: `true`
|
|
- notes: HDF5, comparison JSON, and legacy reference artifacts were inspected read-only; the only
|
|
generated files were the ignored build-local evidence regenerated by the exact approved CTest.
|
|
|
|
## Open Issues
|
|
|
|
- Non-blocking coverage limitation: the approved Abaqus bundle is one identity-axis local-`z`
|
|
bending cantilever. Axial, torsion, local-`y`, rotated, prescribed-displacement, line-load, and
|
|
nonzero stress checks rely on the approved analytical/unit portfolio; no broader Abaqus reference
|
|
coverage is claimed.
|
|
- Non-blocking stress limitation: the B33 bundle has no section points, so its physical `S11`
|
|
evidence is the correct zero centroid result. Nonzero fiber location/sign evidence is analytical;
|
|
Abaqus beam stress comparison remains N/A.
|
|
- Non-blocking output limitation: HDF5 has no strain-energy dataset by contract. The positive energy
|
|
value in this report is calculated from `0.5*F^T*d` and is supported by the rank/energy unit test.
|
|
- Known formulation limitations remain: Euler-Bernoulli deep-beam applicability, transverse and
|
|
torsional shear stress, warping, `I12!=0`, B31/Timoshenko behavior, and CLI `*DLOAD` are outside V0.
|
|
- No open issue blocks Release Agent review.
|