Skip to content

Rotate a twisted section's chord fully about the spanwise axis - #263

Merged
1-Bart-1 merged 1 commit into
mainfrom
fix/twist-rodrigues-axial-term
Aug 19, 2026
Merged

Rotate a twisted section's chord fully about the spanwise axis#263
1-Bart-1 merged 1 commit into
mainfrom
fix/twist-rodrigues-axial-term

Conversation

@1-Bart-1

Copy link
Copy Markdown
Member

_apply_refined_section_thetas! built the twisted TE point from
cos(theta)*chord - sin(theta)*(chord × local_y) — the Rodrigues rotation with
its axial term k(k·c)(1 - cos(theta)) dropped. That term vanishes only when the
chord is perpendicular to the twist axis, so a swept or dihedral section had its
along-span chord component scaled by cos(theta): the chord shortened and tilted
out of the twist plane, both errors growing as theta^2.

The result was not a rotation at all — |TE - LE| changed under twist.

Impact

On the 2-plate kite of SymbolicAWEModels.jl the chord runs 7.4° off the plane
normal to the local span. The deformed VSM chord left the structural chord it is
meant to track by:

twist chord angle error chord length error
7.7° 0.065° 1.5e-4
48° 2.4° 4.6e-3

With the axial term restored both drop to ~1e-13° and machine epsilon.

Changes

  • _apply_refined_section_thetas! adds the axial Rodrigues term.
  • Regression test: a swept/dihedral wing's chord length is preserved under twist.
  • Version 4.1.1, CHANGELOG entry.

Full test suite passes.

🤖 Generated with Claude Code

_apply_refined_section_thetas! built the twisted TE point from
cos(theta)*chord - sin(theta)*(chord x local_y), which is the Rodrigues
rotation with its axial term k(k.c)(1-cos(theta)) dropped. That term
vanishes only when the chord is perpendicular to the twist axis, so a
swept or dihedral section had its along-span chord component scaled by
cos(theta): the chord shortened and tilted out of the twist plane, both
growing as theta^2.

On the 2-plate kite of SymbolicAWEModels the chord runs 7.4 deg off the
plane normal to the local span, and the deformed VSM chord left the
structural chord it is meant to track by 0.065 deg at 7.7 deg of twist
and 2.4 deg at 48 deg. Restoring the axial term takes both to 1e-13 deg,
and the chord length is now preserved to machine precision.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Aug 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@1-Bart-1
1-Bart-1 merged commit 05166ca into main Aug 19, 2026
9 checks passed
@1-Bart-1
1-Bart-1 deleted the fix/twist-rodrigues-axial-term branch August 19, 2026 10:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant