Composite Laminate Stiffness (structures/composites/laminate-stiffness)
Use when the task is composite laminate stiffness with classical lamination theory: ply stiffness, rotation, and the symmetric laminate A matrix.
Domain quick reference
- A ply has orthotropic stiffness in material axes: Q11, Q12, Q22, Q66 from the engineering constants.
- Rotation to the laminate axes produces Q-bar; the coupling terms Q16 and Q26 vanish for 0 and 90 degree plies.
- The laminate A matrix sums Q-bar times ply thickness; for a balanced symmetric laminate the A16 and A26 terms vanish.
- Composite airframe practice sits in the FAR-25 / CS-25 certification context for transport aeroplanes.
Workflow
- Collect ply engineering constants E1, E2, nu12, G12.
- Build the material stiffness with ply_stiffness.
- Rotate each ply with rotated_ply_stiffness.
- Assemble the A matrix with laminate_a_matrix.
- Confirm the coupling terms are small for symmetric balanced laminates.
Pitfalls
- Forgetting nu21 = nu12 * E2 / E1 in the denominator.
- Assembling an unsymmetric stack and reading coupling terms as zero.
- Mixing degrees and radians in the rotation.
Behavior contract (gate 3)
The ply, rotation, and A matrix logic is exercised by the gate 3 contract test: scripts/test_laminate_stiffness.py against scripts/laminate_stiffness_logic.py (stdlib unittest, offline). Run: python3 scripts/test_laminate_stiffness.py
Compliance
- Standards referenced, not reproduced: FAR-25 is US government work (public domain) and CS-25 is a free EASA download; the CLT math is common mechanics, summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.