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

82 lines
6.6 KiB
Markdown

# 3D Euler-Bernoulli Beam Kernel Research Brief
## Metadata
- feature_id: euler-beam-3d
- source_requirement: docs/requirements/euler-beam-3d.md
- status: ready-for-formulation
- owner_agent: research-agent
- date: 2026-06-12
## Research Questions
- What theory is sufficient for a straight, prismatic, two-node 3D Euler-Bernoulli beam kernel?
- Which terms must appear in the local stiffness matrix for axial, torsion, and two uncoupled bending planes?
- Which implementation checks can verify the kernel without running Abaqus or creating reference CSV artifacts?
- Which input cases must be rejected before matrix construction?
## Source Inventory
| source_type | title | author_or_org | URL_or_identifier | access_date | reliability_tier | notes |
| --- | --- | --- | --- | --- | --- | --- |
| textbook | Concepts and Applications of Finite Element Analysis | Cook, Malkus, Plesha, Witt | ISBN 978-0-471-35605-9 | 2026-06-12 | Tier 2 | Beam element stiffness and coordinate transformation background. |
| textbook | A First Course in the Finite Element Method | Daryl L. Logan | ISBN 978-1-305-63511-1 | 2026-06-12 | Tier 2 | Direct-stiffness beam and frame examples. |
| textbook | Matrix Structural Analysis | William McGuire, Richard H. Gallagher, Ronald D. Ziemian | ISBN 978-0-471-12379-7 | 2026-06-12 | Tier 2 | Space-frame element local stiffness and transformation conventions. |
| project requirement | 3D Euler-Bernoulli Beam Kernel Requirements | FESA | docs/requirements/euler-beam-3d.md | 2026-06-12 | Tier 1 project contract | Defines approved kernel scope and exclusions. |
## Extracted Facts
- Verified fact: a 3D straight prismatic Euler-Bernoulli beam frame element can be assembled from one axial response, one torsional response, and two uncoupled cubic-Hermite bending responses in the element local frame.
- Verified fact: for a local element axis `x`, bending displacement in local `y` couples with rotation about local `z` and uses `EIz`; bending displacement in local `z` couples with rotation about local `y` and uses `EIy`.
- Verified fact: a two-node space-frame element with six DOFs per node has a 12-entry vector. The FESA requirement fixes per-node order as `ux, uy, uz, rx, ry, rz`.
- Verified fact: the unconstrained element local stiffness is symmetric positive semidefinite and has six rigid body modes before constraints are applied.
- Project contract: no shear deformation, warping, end releases, offsets, mass, geometric stiffness, nonlinear kinematics, parser integration, HDF5 output, or reference artifact generation is allowed in this kernel increment.
## Candidate Benchmarks
| benchmark_id | source | benchmark_type | physics | target_quantities | artifact_needs | applicability |
| --- | --- | --- | --- | --- | --- | --- |
| EB3D-BENCH-001 | project/formulation | code verification | local matrix algebra | symmetry of all `K(i,j)` | C++ unit test only | Does not verify solver assembly. |
| EB3D-BENCH-002 | direct stiffness theory | analytical | axial extension | `EA/L` terms and equal/opposite axial end forces | C++ unit test only | Axis-aligned local response. |
| EB3D-BENCH-003 | direct stiffness theory | analytical | torsion | `GJ/L` terms and equal/opposite torsional end moments | C++ unit test only | Saint-Venant torsion constant assumed supplied. |
| EB3D-BENCH-004 | beam theory | analytical | bending in local `x-y` | `12EIz/L^3`, `6EIz/L^2`, `4EIz/L`, `2EIz/L` terms | C++ unit test only | Euler-Bernoulli small-displacement bending. |
| EB3D-BENCH-005 | beam theory | analytical | bending in local `x-z` | `12EIy/L^3`, `6EIy/L^2`, `4EIy/L`, `2EIy/L` terms | C++ unit test only | Euler-Bernoulli small-displacement bending. |
| EB3D-BENCH-006 | matrix structural analysis | invariant | rigid body motion | local end forces are near zero for rigid translations/rotations | C++ unit test only | Numerical tolerance needed. |
| EB3D-BENCH-007 | matrix structural analysis | invariant | coordinate transform | axis-aligned global stiffness equals local stiffness when basis is identity | C++ unit test only | Does not validate parser orientation input. |
## Verification Relevance
- code_verification: local stiffness entries, symmetry, end-force recovery as `K*u`, invalid input handling, and transformation invariants can be checked by deterministic C++ unit tests.
- solution_verification: future cantilever axial, torsion, and bending reference models can compare displacements, reactions, and internal forces after parser/assembly/HDF5 integration exists.
- validation: no physical experiment validation is in scope for this kernel increment.
- reference_comparison: future reference comparison requires Abaqus-generated artifacts under `reference/<model-id>/`; this phase only defines the contract and must not create those files.
## Applicability Limits
- linear_or_nonlinear: linear only.
- deformation: small displacement and small rotation.
- element_type: straight two-node prismatic Euler-Bernoulli beam.
- material_model: constant linear elastic `E` and `G`.
- geometry: nonzero length, no offsets, no curved beams.
- boundary_conditions: not applied inside the kernel.
- loads: no distributed or equivalent nodal load vector in this increment.
- coordinate_system: right-handed local Cartesian basis and global Cartesian basis.
- units: user-consistent; no conversion.
## Risks and Open Issues
- Orientation vector parallel or nearly parallel to the beam axis must be rejected because the local `y` direction is undefined.
- Zero or near-zero length must be rejected before stiffness coefficient computation.
- Nonpositive or nonfinite `E`, `G`, `A`, `J`, `Iy`, or `Iz` must be rejected.
- Very slender beams can produce ill-conditioned local stiffness matrices; kernel tests should avoid relying on a condition-number estimate as a pass/fail criterion.
- Exact parser keyword mapping for future beam input remains open and belongs to the I/O contract, not the kernel implementation.
## Downstream Handoff
### Formulation Agent
- Define the local stiffness matrix with named axial, torsion, `EIz`, and `EIy` coefficients.
- Define the local-to-global transform convention so global stiffness and force recovery are unambiguous.
### Numerical Review Agent
- Review symmetry, rigid body modes, sign convention, coefficient dimensions, and invalid geometry handling.
### Reference Model Agent
- Future reference models should include axial cantilever, torsion cantilever, two bending cantilevers, and one skew transform case.
### Implementation Planning Agent
- Unit tests should cover representative local entries, symmetry, `K*u` force recovery, invalid constants, axis-aligned transform identity, rotated symmetry, rigid translation, and axial end forces.