Repository navigation
fix(statics): converge weightless taut finite-EI lines - #51
Conversation
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 517a2f6bbf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
The Hermite static solve judges convergence by the residual relative to a force scale: the line's total submerged weight, with a 1 N floor. A weightless or near-neutral taut line (a neutrally buoyant cable, a tendon) carries tension far above its weight, and the round-off of its axial forces EA (|r'| - 1) then lies far above tol x scale: a neutrally buoyant 60 m cable at 61 kN stopped at ||R|| 1e-4 N against a 1e-6 N test and failed every static route, even lying straight along its chord. A taut line, its ends farther apart than its length L, carries at least (chord/L - 1) times its series axial stiffness whatever its weight; the force scale now includes that tension. A slack line (chord <= L) keeps its weight scale, so every such solve is unchanged: all 99 example output files are identical to dev. The weightless cable clamped 30 deg off its chord now converges and follows an independent solution of the planar elastica within 0.14 % (root moment) and 0.07 % (end tension). Signed-off-by: Jae Hoon Seo <jaehoon.seo@inha.ac.kr>
517a2f6 to
79ce13e
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
The taut-chord tension is a lower bound on the line's tension only while the solve holds both end positions. With an end free to move (a cantilever) the seed's chord implies no tension at equilibrium, and an overstretched seed set a force scale that the solve never revised: a cantilever with EA 1e12 N seeded 1 % long took a 1e10 N scale and read its 1000 N weight as converged before bending. The bound now applies only when the end positions are both fixed; such a cantilever reaches the beam deflection w L^4/(8 EI) from either seed. Signed-off-by: Jae Hoon Seo <jaehoon.seo@inha.ac.kr>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d610ae5d35
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
EA = 0 is a valid element input, and the series compliance sum(l0/EA) divided by zero on a held taut seed. An element without axial stiffness leaves the series stiffness, and so the tension bound, at zero: the bound is skipped. The static test checks that no division by zero is raised. Signed-off-by: Jae Hoon Seo <jaehoon.seo@inha.ac.kr>
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
A weightless or near-neutral taut finite-EI line (a neutrally buoyant cable, a tendon) failed its static solve on every route, even when lying straight along its chord.
Cause. The Hermite static Newton judges convergence by the residual relative to a force scale equal to the line's total submerged weight, with a 1 N floor (
CableDyn_HermiteCableStatic.f90). A taut weightless line carries tension far above its weight, so the round-off of its axial forcesEA (|r'| − 1)sits far abovetol × scale. A neutrally buoyant 60 m cable (EA 500 MN) at 61 kN stopped at ‖R‖ ≈ 1e-4 N against a 1e-6 N test.Fix. A taut line, with its ends farther apart than its length L, carries at least
(chord/L − 1) × EA_serieswhatever its weight, so the force scale now includes that tension.Verification
check_weightless_taut_line(hermite_cable_static): 60 m over a 60.0073 m chord, 212 elements (0.05 m over the first 8 m). It must converge straight with the chord's strain. It fails without the fix.Checklist
pre-commit run --all-filespassesctest --test-dir build --output-on-failurepassespython -m pytest tests python/testspasses (if Python or validation records changed)[Unreleased](heading added if missing) for user-visible changesdoc/updated for changed inputs, options, or outputs (none changed)feat:,fix:,docs:, ...)git commit -s) under theDeveloper Certificate of Origin