Longitudinal Aircraft Dynamics #3 – layout parameters and wireframe fuselage generation

This section discusses the layout of the virtual plane and provides for the worksheet implementation of the plane dimensions as input parameters controlled by spin buttons and macros. In the final part a freeform is used to generate raw data for the fuselage.


Longitudinal Aircraft Dynamics #3- defining the virtual aircraft

by George Lungu

– This section of the tutorial introduces the general dimensional parameters of the model
airplane and also creates the fuselage of airplane as a raw (un-scaled) wireframe object.

The whole airplane chart with proper scaling will be finished in the next section.

The airplane layout – starting dimensions:

– A glider is chosen to represent the 2D plane. We can upgrade it to a powered plane later.

– The fuselage is the body of the plane. A freeform autoshape was chosen to draw the fuselage.

– We will start with a body which is 1 meter long (adjustable).

– The span of the wing is 2 meters (adjustable).

– The span of the horizontal stabilizer is 40 cm (adjustable).

– The chord of the main wing is 15 cm (adjustable).

– The chord of the horizontal stabilizer is 12 cm (adjustable).

– The leading edge of the wing will be placed around 35% fuselage length behind the nose (adjustable).

– The trailing edge of the horizontal stabilizer will be placed exactly at the end of the fuselage (fixed).

– Both the main wing and the horizontal stabilizer will have adjustable angles of attack and will be
placed at adjustable heights with respect to the median axis of the glider.

– Formally there will be a vertical stabilizer (no aerodynamic function of it in this model yet) which will
scale with the fuselage

The freeform has 39 points 25 (vertices), they are numbered 35 from 5 to 5 in the left snapshot

Let’s add some airplane layout parameters and a few more variables:

First two parameters were there from the previous tutorial (first 2 are instantaneous
angles of attack).

Reynolds number (instantaneous – it is constantly estimated during flight) – was
already there.

Air density (constant – you can change it when you need to model altitude change) –
name cell B4 “Rho_air”

Static (layout defined) wing angle of attack, name cell B7 “Static_alpha_wing.

Static (layout defined) horizontal stab. angle of attack, name cell B9

Span wing, name cell B11 to “Span_wing”.

Span wing, name cell B13 to “Span_stabilizer”.

Static (layout defined) wing chord, name cell B15 “Chord_wing.

Static (layout defined) horizontal stab. chord, name cell B17 “Chord_stabilizer.

Position of the wing leading edge from the nose of the plane [% of fuselage length],
name cell B19 “Leading_edge_wing”.

Wing height (how high or low the wing is positioned), name cell B21 “Height_wing”.

Stab height (how high or low is the stabilizer positioned), name cell B23

The length of the fuselage, name cell B25 “Length_fuselage”.

The position of the center of gravity (in % of fuselage length measured from the nose) –
name cell B27 “Center_gravity.

The mass of the plane -name cell B29 “Mass”.

The angular momentum of inertia of the airplane divided by the momentum of inertia
of a uniform rod the same length as the fuselage and same mass as the airplane –
name cell B31 “Momentum_Inertia’

Initial launch height, name cell B33 “Initial_height”
Initial launch speed of the glider, name cell B35 “Initial_speed” (this is a magnitude).
Initial launch angle of the glider (measured in degrees), name cell B37 “Initial_angle”

Let’s assign spin buttons and macros to the input parameters:

– The following macros were used. The range of each button is mentioned as a comment (in green).
Private Sub a1_Change() ‘(-10,20) Private Sub a7_Change() ‘(10,50) Private Sub a13_Change() ‘(0,15)
[Static_alpha_wing] = a1.Value / 2 [Leading_edge_wing] = a7.Value [Momentum_Inertia] = a13.Value / 10
End Sub End Sub End Sub
Private Sub a2_Change() ‘(-20,10) Private Sub a8_Change() ‘(-20,20) Private Sub a14_Change() ‘(1,100)
[Static_alpha_stabilizer] = a2.Value / 2 [Height_wing] = a8.Value / 100 [Initial_height] = a14.Value
End Sub End Sub End Sub
Private Sub a3_Change() ‘(20,80) Private Sub a9_Change() ‘(-20,20) Private Sub a15_Change() ‘(1,60)
[Span_wing] = a3.Value / 20 [Height_horizontal_stabilizer] = a9.Value / 100 [Initial_speed] = a15.Value / 2
End Sub End Sub End Sub
Private Sub a4_Change() ‘(2,12) Private Sub a10_Change() ‘(10,40) Private Sub a16_Change() ‘(-90,90)
[Span_stabilizer] = a4.Value / 20 [Length_fuselage] = a10.Value / 20 [Initial_angle] = a16.Value
End Sub End Sub End Sub
Private Sub a5_Change() ‘(10,30) Private Sub a11_Change() ‘(5,70)
[Chord_wing] = a5.Value / 100 [Center_gravity] = a11.Value
End Sub End Sub
Private Sub a6_Change() ‘(7,20) Private Sub a12_Change() ‘(2,100)
[Chord_stabilizer] = a6.Value / 100 [Mass] = a12.Value / 20
End Sub End Sub

– To the right there is a snapshot of the button area within the worksheet.

– I also added the “Time Step” in cell B41 (name the cell “Time_step”).

Tabulating the fuselage:

– The resultant aerodynamic angular momentum (“pitching moment”) will rotate
the plane around the center of gravity, we choose the origin of the plane layout to
be in the center of gravity (you could choose a different point of your preference if
you wish, the result will be the same if you adjust the following vector analysis

– We also choose the plane to launched from right to left to keep the convention
from the virtual wind tunnel program valid (the airfoil faces left).

– Based on memories of some gliders I’ve seen, I drew the shape above as a freeform

– The freeform has 39 vertices and I spent some time adjusting them to resemble
the profile of a glider

– Using a macro (VertX_2) from a previous presentation:

https://excelunusual.com/archive/2011/05/vertx-a-very-useful-macro-for-extracting-the-vertex-coordinates-of-freeforms-part-2/ ,

we will extract the raw fuselage coordinates by first selecting cell
AA8 in our active worksheet then selecting the shape and then running the macro from the VBA editor
(not before we copy the macro into a module in our workbook).

– After this, we will have the raw (un-scaled)
coordinates of the fuselage in range AB8:AC47.
To prove that the data is correct, a scatter
chart of that range is shown to the right.
To be continued…

Leave a Reply

Your email address will not be published.