suavecode / SUAVE

An Aircraft Design Toolbox
suave.stanford.edu
GNU Lesser General Public License v2.1
400 stars 388 forks source link

Tail Geometry Definition #66

Closed tmomose closed 8 years ago

tmomose commented 9 years ago

For SUAVE test cases and regression scripts, etc., the geometry of aircraft tails seems to typically be defined such that the root chord is the maximum exposed tail chord (i.e., the chord length at the point where the tail attaches to the fuselage). However, Roskam's methods for static stability analysis assume the tail area is defined as a reference area extending all the way to the fuselage centerline.

The results of Cn_beta analysis (code at https://github.com/suavecode/SUAVE/blob/master/trunk/SUAVE/Methods/Flight_Dynamics/Static_Stability/Approximations/Tube_Wing/taw_cnbeta.py#L28) are particularly affected by the method of tail geometry definition. (Since the reference vertical tail area and span are significantly larger than the exposed vertical tail area and span.) However, the current scheme for tail definition looks like it's working well for aerodynamic analysis, so we probably shouldn't change that.

I propose we continue with the definition of tail geometry based on exposed area, but add a new default variable to the Wing class: 'exposed_root_chord_offset' to indicate the spanwise distance from the fuselage centerline to the root chordline of the exposed tail surface. I have a function (https://github.com/suavecode/SUAVE/blob/master/trunk/SUAVE/Methods/Flight_Dynamics/Static_Stability/Approximations/Supporting_Functions/extend_to_ref_area.py#L21) that can use that offset value and the exposed tail geometry to create a reference tail component that can be used for stability calculations. The static stability methods can internally call extend_to_ref_area to get the relevant tail geometry without altering the existing tail geometry in the vehicle definition. Users will have to be notified that exposed_root_chord_offset must be set to a nonzero value if they intend to define their tails according to exposed rather than reference area.

Does this make sense? Any suggestions for a better approach? Foreseeable issues?

planes commented 8 years ago

This has been taken care of, extend to reference will make a new data structure. The cnbeta classes will look for this class if it is defined, else it will use another value. See here:

https://github.com/suavecode/SUAVE/blob/bad4f3fd58fbb7acfe4335c7dc465e789f9bba6e/trunk/SUAVE/Methods/Flight_Dynamics/Static_Stability/Approximations/Supporting_Functions/extend_to_ref_area.py#L74

and here: https://github.com/suavecode/SUAVE/blob/bad4f3fd58fbb7acfe4335c7dc465e789f9bba6e/trunk/SUAVE/Methods/Flight_Dynamics/Static_Stability/Approximations/Supporting_Functions/convert_sweep.py