sharpy icon indicating copy to clipboard operation
sharpy copied to clipboard

Some Enhancements and Fixes for the Polar Correction, Wake Discretisation, and Gust Velocity Field Generator

Open sduess opened this issue 1 year ago • 0 comments

Dear all,

This is a pull request including some enhancements that I added to the gust velocity field generator, polar corrections, and wake discretisation, as listed in more detail below.

Enhancements

  • Faster interpolation processes within the gust velocity field generator and airfoil polar corrections

The 1-D interpolation method used so far from NumPy has been replaced by Scipy’s interp1d method. Scipy’s method offers the advantage that instead of an interpolated value a reusable function is generated. As a result, most of the computational work for the interpolation is done only once, while with NumPy's 'interp' function the interpolation has to be obtained for each grid point at each timestep, resulting in high accumulated computation time. A quick change sped up my dynamic FLEXOP simulations with continuous gust inputs by more than 70 %.

  • Input setting for desired gust-components

Enables the user to specify the direction of the gust. This is useful when for e.g. continuous gusts only the z-component is considered, or if a comparison with wind tunnel tests is obtained featuring vertically mounted wings.

  • Allowing several wake parameter inputs for each lifting surface

This is useful when you need different discretisation parameters for each wake vortex grid within the wake discretization scheme or in general if e.g. the wake tail does not need to have as many streamwise panels as the wing does for convergence. To realize multiple inputs while retaining combability where only one parameter is used as a setting input, SHARPy’s setting handling had to be extended, allowing multiple setting input data types and accessing a default value. For the multiple setting input, a test has been added to the unittest.

  • Polar Corrections:
    • Input setting to skip the polarforce correction for user-defined lifting surfaces.
    • Enable a user-specified angle of attack (AoA) at zero lift input. Before, the AoA at zero lift has only been computed with a theoretical formula for thin surfaces. For the airfoil used for the FLEXOP wing, this estimated angle was far from the actual value leading to significant errors in the induced AoA computation for cambered airfoils.

Fix

  • Fixing wrong area calculation for structural nodes with shared panels from different surfaces: For structural nodes whose force is mapped from multiple adjacent panels that do not share the same lifting surface (e.g. centre node of a wing with separately defined right and left wing surfaces), the wrong area is computed. The reason being is that so far, only the area of one of the panels is considered leading to significant overestimations of the induced AoA at this node. In the new version, a check of each structural node for several mapped lifting surface panels is obtained and all areas are included in the area calculation.

sduess avatar Oct 20 '22 16:10 sduess