4.2 KiB
4.2 KiB
3D Euler-Bernoulli Beam Kernel Numerical Review
Metadata
- feature_id: euler-beam-3d
- source_formulation: docs/formulations/euler-beam-3d-formulation.md
- status: pass-for-implementation-planning
- owner_agent: numerical-review-agent
- date: 2026-06-12
Review Verdict
- verdict: pass-for-implementation-planning
- reason: the formulation has a bounded kernel scope, explicit DOF order, closed-form local stiffness, unambiguous transform convention, and concrete invalid-input behavior.
Critical Findings
- No blocking numerical defects were found for kernel implementation planning.
- The formulation is not a full solver release contract. Parser, assembly, HDF5 output, reference comparison, and physics sanity remain downstream gates.
Numerical Risk Assessment
- rigid_body_modes: expected six zero-energy modes for the unconstrained element. Implementation tests must include at least rigid global translation and local/global force consistency.
- patch_test: solver-level patch testing is blocked until assembly and parser integration exist.
- symmetry: local stiffness is symmetric by construction; global stiffness remains symmetric if
K_global = T^T K_local Tis used consistently. - positive_definiteness: isolated element stiffness is positive semidefinite, not positive definite. Positive definiteness requires enough constraints in a solver model.
- hourglass: not applicable to closed-form Euler-Bernoulli beam stiffness.
- shear_locking: Timoshenko shear terms are excluded, so shear locking is not introduced by this kernel increment.
- volumetric_locking: not applicable.
- distortion: curved geometry and offsets are out of scope; zero or near-zero length must be rejected.
- singular_jacobian: zero length is the relevant singular mapping case.
- conditioning: very slender elements or large stiffness ratios can be ill-conditioned; tests should use moderate deterministic values.
- convergence: not applicable to this linear element kernel.
Consistency Checks
- units: pass.
EA/L,GJ/L,EI/L^3,EI/L^2, andEI/Lhave the expected force/displacement or moment/rotation dimensions for the matching DOF pairs. - dimensions: pass. The element vector is 12x1 and stiffness is 12x12.
- signs: pass for the documented DOF order; local
v-rzandw-rycoupling signs are explicitly stated. - dof_ordering: pass. The formulation keeps node 1 DOFs followed by node 2 DOFs.
- coordinate_transforms: pass.
u_local = T*u_global,K_global = T^T*K_local*T, andf_global = T^T*f_localare mutually consistent. - matrix_vector_dimensions: pass.
- integration_weights: not applicable because the kernel uses closed-form stiffness.
- output_locations: pass for element end forces only; stress/strain recovery is explicitly out of scope.
Verification Readiness
- unit_tests:
- model topology accepts
ElementTopology::beam2. - local stiffness representative entries match named coefficients.
- local stiffness is symmetric within
1.0e-10. - local force recovery equals
K*u. - invalid length and nonpositive section constants throw
std::invalid_argument. - axis-aligned transform produces global stiffness equal to local stiffness.
- rotated global stiffness remains symmetric.
- rigid global translation produces near-zero global end forces.
- simple axial extension produces equal and opposite axial end forces.
- parallel orientation vector throws
std::invalid_argument.
- model topology accepts
- patch_tests: future solver integration gate.
- mms_or_mes: not required for this closed-form kernel increment.
- benchmark_reference_comparison: future gate after reference artifacts exist.
- missing_evidence: no missing evidence blocks kernel implementation.
Required Revisions
Formulation Agent
- None before implementation planning.
Research Agent
- None before implementation planning.
Reference Model Agent
- Future reference model artifacts remain required before release readiness, but they are not required for this kernel implementation.
Downstream Handoff
Implementation Planning Agent
- Use the verification readiness list as the minimum C++ TDD checklist.
- Keep tests deterministic and avoid ill-conditioned constants.
Reference Model Agent
- Define future solution-verification models separately from these kernel-only unit tests.