You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ELLIPTIC initial circulation for a body with more than one wing #357
solve! with type_initial_gamma_distribution = ELLIPTIC throws ArgumentError("Multiple wings not yet implemented") on a BodyAerodynamics with more than one wing. That blocks linearize on a multi-wing body with that solver setting too, now that #355 lets linearize take several wings.
The guard is in calculate_circulation_distribution_elliptical_wing (src/body_aerodynamics.jl). It builds one ellipse gamma_0 * sqrt(1 - (2y / span)^2) over every panel, using wings[1].span and each control point's absolute y. For a second wing that is not centred on y = 0, or whose span direction is not y, that is not an elliptic distribution over that wing.
What I would do: loop over the wings the way calc_forces! already does, with a running panel offset. For each wing, take its panels' control points along that wing's spanwise_direction, measured from the wing's own mid-span, and write an ellipse over wing.span into that wing's slice of gamma_i. On one wing centred on y = 0 with span along y, this gives the same numbers as today.
Test: a two-wing body whose second wing is shifted in y. Each wing's initial gamma should equal the one-wing ellipse of that wing on its own, and solve! with ELLIPTIC should converge to the same gamma as with ZEROS.
Loop calculate_circulation_distribution_elliptical_wing over the wings with a running panel offset: each wing gets its own ellipse over wing.span, along its own spanwise_direction, measured from its own mid-span (min/max of the same projection calculate_span already takes). Builds on main; no open PR touches this code. Leaving #358 (calc_forces!/calculate_results using wings[1].spanwise_direction) to its own task.
Activity
1-Bort-1 commentedon Sep 21, 2026
Loop calculate_circulation_distribution_elliptical_wing over the wings with a running panel offset: each wing gets its own ellipse over wing.span, along its own spanwise_direction, measured from its own mid-span (min/max of the same projection calculate_span already takes). Builds on main; no open PR touches this code. Leaving #358 (calc_forces!/calculate_results using wings[1].spanwise_direction) to its own task.
18 remaining items