12 KiB
3D Euler-Bernoulli Beam UEL Numerical Review
Metadata
- feature_id: uel-3d-euler-beam
- source_requirement:
docs/requirements/uel-3d-euler-beam.md - source_research:
docs/research/uel-3d-euler-beam-research.md - source_formulation:
docs/formulations/uel-3d-euler-beam.md - status: pass-for-interface-definition
- owner_agent: numerical-review-agent
- date: 2026-06-11
Review Verdict
- verdict: pass-for-interface-definition
- implementation_readiness: not blocked by formulation, but not approved for production implementation until the interface and no-Abaqus test-model gates are complete
- reason: The formulation has a complete linear static Euler-Bernoulli beam stiffness, consistent local/global transformation, no persistent state requirement, and explicit numerical validity checks. Remaining open items are Abaqus-facing interface decisions and downstream test-model obligations, not formulation blockers.
Critical Findings
No blocking numerical findings were identified.
No needs-change finding is raised against docs/formulations/uel-3d-euler-beam.md. The items that remain unresolved are already assigned to the I/O Definition Agent or Reference Model Agent.
Finding Register
| id | status | review target | finding | required follow-up |
|---|---|---|---|---|
| NR-001 | pass | Local Element Stiffness Matrix |
The 12-by-12 local stiffness includes axial EA/L, torsion GJ/L, local 2 bending with E*Iy, and local 3 bending with E*Iz. The matrix is complete for the first-scope linear elastic beam. |
Reference Model Agent must test each subblock independently. |
| NR-002 | pass | Local Element Stiffness Matrix |
The matrix is symmetric by construction. A scratch numerical check gave maxabs(k-k^T)=0.0 for representative positive properties. |
No-Abaqus tests should include scale-aware symmetry checks. |
| NR-003 | pass | Local Element Stiffness Matrix |
The free element is positive semidefinite before boundary conditions. A representative eigenvalue check found six small modes and six positive deformational modes; tiny negative values were roundoff scale. | No-Abaqus tests should check six rigid-body modes using a relative threshold tied to the largest stiffness eigenvalue. |
| NR-004 | pass | Primary Variables and DOFs, Local Element Stiffness Matrix |
The Iy and Iz association is internally consistent: Iy is bending about local 2 and couples w/th2; Iz is bending about local 3 and couples v/th3. The signs are consistent with th2=-dw/dx and th3=dv/dx. |
Test-model gate must include separate local 2 and local 3 bending cases to catch axis swaps. |
| NR-005 | pass | Local Frame and Transformation to Global Coordinates |
The transform convention q_local=T*q_global and K_global=T^T*k_local*T is consistent with virtual work and Abaqus global matrix responsibility. |
Interface gate must preserve the same ordering for translation and rotation blocks. |
| NR-006 | pass | Local Frame and Transformation to Global Coordinates |
The orientation construction gives an orthonormal right-handed frame when the reference vector has a nonzero perpendicular component. Scratch check: maxabs(R*R^T-I)=2.22e-16, det(R)=0.9999999999999998. |
Interface gate must define the source and units/meaning of the orientation reference. |
| NR-007 | pass | Local Frame and Transformation to Global Coordinates |
Reversed node order is numerically consistent when interpreted with swapped nodal DOF ordering. Scratch check: K_reversed = P^T*K_forward*P to roundoff for a representative element. |
Reference Model Agent should include a reversed-node or equivalent orientation permutation test. |
| NR-008 | pass | Element Equations and Residual Convention |
RHS=-K_global*U follows the researched Abaqus residual convention external minus internal for no element-generated loads. The formulation correctly keeps exact Abaqus fill behavior assigned to the I/O Definition Agent. |
Interface gate must confirm the RHS array fill convention and no-Abaqus tests must lock the sign. |
| NR-009 | pass | AMATRX and RHS Contribution Rules by Supported LFLAGS |
The supported LFLAGS(3)=1,2,5 contribution split is numerically coherent for static requests. Unsupported mass, damping, dynamics, and large-displacement paths are explicitly out of scope. |
Interface gate must define exact behavior for unsupported requests. |
| NR-010 | pass | Numerical Tolerances and Validity Checks |
Zero-length, nonfinite inputs, nonpositive properties, near-parallel orientation, orthonormality, determinant, and symmetry checks are present. The 1.0e-8 near-parallel threshold is conservative enough for first implementation. |
Test-model gate must include invalid length, invalid property, zero orientation, and near-parallel orientation negative cases. |
| NR-011 | pass | State Variables, Energy, and Output Recovery |
No persistent SVARS are needed for a linear elastic, path-independent static element. Energy expression is correct but not required for first scope. |
Interface gate should keep SVARS and ENERGY unused unless it adds an explicit output contract. |
| NR-012 | pass | Mapping and Numerical Integration |
Analytical stiffness avoids integration-order and hourglass risks. The straight two-node centerline mapping is adequate for first-scope prismatic members. | Do not introduce reduced numerical integration in implementation planning. |
Independent Scratch Checks
The review included a local scratch calculation using representative positive properties, non-axis-aligned coordinates, and a nonparallel orientation reference. This was not committed as a test because step 3 is a documentation-only review gate.
L = 4.69041575982
local_sym = 0.000e+00
global_sym_raw = 7.451e-09
maxabs_K = 5.871224e+07
global_sym_normalized = 1.269e-16
scaled_symmetry_tolerance = 5.871e-05
R_orthonormality_error = 2.220e-16
detR = 0.9999999999999998
eig_small_count = 6
identity_orientation_K_equals_k = 0.000e+00
reversed_node_permuted_diff = 0.000e+00
Interpretation:
- The raw transformed symmetry difference is harmless because it is far below the formulation's scale-aware symmetry tolerance.
- Six near-zero eigenvalues match the expected rigid-body modes for a free two-node 3D beam element.
- The identity-orientation and reversed-node checks support the transformation convention.
Numerical Risk Assessment
| risk | assessment | review result |
|---|---|---|
| rigid_body_modes | Free element must have six rigid-body modes. Formulation states this, and scratch eigenvalue count supports it. | pass |
| patch_test | A constant axial strain, constant torsion rate, and constant curvature bending patch are representable by the interpolation. Multi-element patch expectations still need test-model specification. | pass |
| symmetry | Linear elastic closed-form stiffness and orthonormal transform preserve symmetry to roundoff. | pass |
| positive_definiteness | Free element is semidefinite; constrained models should become positive definite after removing rigid modes. | pass |
| hourglass | Not applicable because no reduced integration is used. | pass |
| shear_locking | Not applicable to this Euler-Bernoulli formulation; shear deformation is excluded. Applicability to deep beams is a modeling-scope risk, not a numerical defect. | pass |
| volumetric_locking | Not applicable. | pass |
| distortion | Curved, distorted, or tapered geometry is out of scope. Straight element validity reduces to nonzero length and valid orientation. | pass |
| singular_jacobian | Zero-length member and near-parallel orientation checks address the relevant singular cases. | pass |
| conditioning | Very short/long members and extreme property ratios can produce ill-conditioned matrices. The formulation flags this; downstream tests should cover scale-aware thresholds. | pass |
| convergence | For supported linear static cases, the tangent is constant and exactly consistent with internal force. Convergence risk is mainly interface sign/fill mistakes. | pass |
Consistency Checks
| check | result | notes |
|---|---|---|
| units | pass | EA/L, 12EI/L^3, 6EI/L^2, 4EI/L, and GJ/L have the expected force, force/length, force, moment, and moment/radian roles under self-consistent units. |
| dimensions | pass | AMATRX is 12-by-12; RHS, U, local force, and residual vectors are length 12. |
| signs | pass | Bending signs are consistent with th2=-dw/dx and th3=dv/dx; residual sign remains an interface confirmation item. |
| dof_ordering | pass | Local ordering is consistent with Abaqus six-DOF node order after local/global projection. |
| coordinate_transforms | pass | q_local=T*q_global, f_global=T^T*f_local, and K_global=T^T*k_local*T preserve virtual work. |
| matrix_vector_dimensions | pass | All matrix-vector products in the algorithm pseudocode are dimensionally valid. |
| integration_weights | pass | Analytical closed-form stiffness avoids numerical quadrature ambiguity. |
| output_locations | pass | External comparison is limited to nodal global U and RF; element force output is deferred until an interface output path exists. |
| state_update | pass | No history state is needed for path-independent linear elasticity. |
| consistent_tangent | pass | K_global is the exact derivative of f_int=K_global*U for the first-scope linear static element. |
Verification Readiness
Downstream no-Abaqus tests should include:
BM-NOA-AXIAL-001: axial extension/compression checks forEA/L.BM-NOA-TORSION-001: torsion checks forGJ/L.BM-NOA-BEND-Y-001: local 2 bending withw/th2andE*Iy.BM-NOA-BEND-Z-001: local 3 bending withv/th3andE*Iz.BM-NOA-RBM-001: six free-element rigid-body modes and matrix symmetry.BM-NOA-ROT-001: arbitrary rotated element and identity-orientation transform checks.BM-NOA-REVNODE-001: reversed node order or equivalent nodal permutation check.BM-NOA-RHS-001: residual sign check forRHS=-K_global*Uunder the approved interface convention.- invalid-input tests for zero length, nonfinite coordinates, nonpositive properties, zero orientation reference, and near-parallel orientation reference.
Patch/regression tests should include:
- one-element constant axial strain patch
- one-element pure torsion patch
- cantilever end-force bending about local 2 and local 3
- two-element collinear patch to catch assembly-order or transform mismatches
- rotated cantilever with non-axis-aligned local frame
External Abaqus reference comparison should remain limited to user-generated artifacts:
- nodal displacement
U - support reaction
RF - convergence/log tail evidence
- coordinate-system labels and units in extracted CSVs
No MMS case is required for this first linear structural element; closed-form beam benchmarks and matrix invariants are more direct.
Required Revisions
Formulation Agent
- None.
Research Agent
- None.
I/O Definition Agent
- Confirm the exact Abaqus
UELRHSfill convention for staticNRHS=1. - Define the
PROPS/JPROPSor alternate mapping forE,G,A,Iy,Iz,J, and the orientation reference. - Define the exact behavior for invalid inputs and unsupported
LFLAGSrequests. - Define whether
ENERGYremains untouched/zeroed or is populated in a later approved scope. - Keep
SVARSunused unless an explicit diagnostic output route is approved.
Reference Model Agent
- Convert the verification readiness list above into no-Abaqus test cases before any production Fortran source changes.
- Define external Abaqus reference bundles only as user-generated
model.inp, extracted CSV, tail logs, and metadata underreferences/uel-3d-euler-beam/<model-id>/.
Downstream Handoff
I/O Definition Agent
The formulation is numerically coherent enough to proceed to interface definition. Preserve the documented local DOF order, Iy/Iz axis mapping, transformation convention, and static residual physics.
Implementation Planning Agent
Do not start production Fortran implementation from this review alone. Implementation planning may use this formulation after the interface contract and no-Abaqus test model plan are complete.
Reference Model Agent
Use the Verification Readiness section as the minimum no-Abaqus regression set. Treat reversed-node behavior and residual sign as required tests, not optional checks.