Skip to content

ELLIPTIC initial circulation for a body with more than one wing #357

Description

@1-Bort-1

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions