Files
FESADev/docs/numerical-reviews/euler-beam-3d-review.md
2026-06-12 17:58:23 +09:00

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 T is 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, and EI/L have 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-rz and w-ry coupling 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, and f_global = T^T*f_local are 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.
  • 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.