docs: complete euler beam planning gates

This commit is contained in:
김경종
2026-06-12 17:58:23 +09:00
parent 4c47b2766a
commit c88de37a83
7 changed files with 735 additions and 6 deletions
@@ -0,0 +1,76 @@
# 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.