This section finalizes the aircraft (glider) by inserting the wing, the horizontal stabilizer and a center of gravity (CG) sprite in the layout.
Longitudinal Aircraft Dynamics #5- putting the glider together
by George Lungu
– This section puts together the fuselage, main wing and stabilizer with the proper scale, shift
and rotation determined by the input parameters.
Scaling and shifting the fuselage:
– Start by copying the “Longitudinal_Stability_Model_2” worksheet and renaming the copy
“Longitudinal_Stability_Model_3”.
– First let’s copy the raw extracted data for the fuselage, main wing and horizontal stabilizer from sheet
“Freeform data” into our current worksheet.
– I pasted this raw extracted data over three
columns, with the proper blank spaces (to separate
various shapes on the chart) in the range AG1:A239.
On the top there is the fuselage (with canopy and
vertical stabilizer), below comes the main wing and
on the bottom is the horizontal stabilizer raw
extracted data.
– Based on my choice of shapes I have 194 vertices
to chart (the rest up to 239 are blanks). Depending
on how you created your plane you might have a
different number.
– We need to first scale the fuselage to a length equal
to the input parameter “Length_fuselage” and then
push it forward until the origin of the coordinate
system is centered in the center of gravity.
The flying wing Atlantica – www.wingco.com
-I like to reference all the forces to the center of gravity (CG) of the plane. This is my preference since
after the decomposition of each of the forces acting on the aircraft into a component passing through
the center of gravity and another component perpendicular to the first component, we can consider
that the full force produces a pure linear acceleration of the CG and the second component produces a
pure angular momentum about the CG, hence a pure angular acceleration about the center of gravity. –
– The center or gravity is a very special and unique point of a rigid body in the sense that any angular
momentum applied to the body will produce a pure rotation and no translation.
– More details about this issue you can find in one of the previous posts:
https://excelunusual.com/archive/2011/05/newton-generalized-treatment-important/
– A graphical diagram of the dimensional parameters of the plane is shown below.
– One small change I introduced at the last moment
One small change we will introduce soon is the addition of the center of gravity (CG) mark on
the fuselage. The height the wing will be measured from its leading edge and the height of the
horizontal stabilizer will be measured from its trailing edge.
Chord_stabilizer
y (static)
Static_Alpha_Stabilizer
Height_horizontal Chord_wing
_stabilizer
Static_Alpha_Wing
Height_wing
x (static)
0 (center of gravity)
Leading_Edge_Wing* Length_Fuselage/100
Center_Gravity* Length_Fuselage/100
Length_Fuselage
The actual fuselage scaling:
-I decided to extract the raw length of
the fuselage in cell AB1.
-0.4 -0.2 0 0.2 0.4 0.6 0.8
– Name cell AB1 “Length_fuselage_raw”
– AB1: “=MAX(AH8:AH47)-
MIN(AH8:AH47)”
-0.2
– We need to scale the fuselage length to
the size “Length_fuselage” and also the canopy, vertical stabilizer, mid line and logo. We also need to
bring all these shape back until the center of gravity falls exactly in the origin (the plane will later have
to rotate around this intermediate origin). We do this by using the following formulas:
AK1: “=(AH1/Length_fuselage_raw-Center_gravity/100)*Length_fuselage”
AL1: “=(AI1/Length_fuselage_raw)”
– After this, copy range AK1:AL1 down to range AK116:AL116 and make sure to recreate the blank
spaces between the shapes by deleting ranges AK6:AL7, AK48:AL49, AK65:AL66, AK78:AL79,
AK91:AL92, AK98:AL99, AK110:AL111. A 2D scatter chart of the range AK1:AL116 is shown above.
Scaling, positioning and rotating the main wing to its static angle of attack:
– I decided to extract the raw length of the wing in cell AB2. Name cell AB2 “Chord_wing_raw”
– AB2: “=MAX(AH155:AH184)-MIN(AH155:AH184)”
– We need to first scale the length of the wing to “Chord_wing” then rotate it by “Static_alpha_wing”,
angle, then move it back to the nose, then move it forward to the leading edge position and last, move it
up to “Height_wing”
– AK119: “=(Chord_wing*AH119/Chord_wing_raw)*COS(PI()*Static_alpha_wing/180)-
(Chord_wing*AI119/Chord_wing_raw)*SIN(PI()*Static_alpha_wing/180)-Length_fuselage*(Center_gravity-Leading_edge_wing)/100”
– AL119: “=(Chord_wing*AI119/Chord_wing_raw)*COS(PI()*Static_alpha_wing/180)-
(Chord_wing*AH119/Chord_wing_raw)*SIN(PI()*Static_alpha_wing/180)+Height_wing”
– After this, copy range AK119:AL119 down to range AK184:AL184 and make sure to recreate the
blank spaces between the shapes by deleting ranges AK123:AL124, AK128:AL129, AK133:AL134,
AK138:AL139, AK143:AL144, AK148:AL149, AK153:AL154. A 2D scatter chart of the range
AK1:AL184 is shown below.
– After plotting the partial
plane make sure you verify
the functionality of all the
dimensional input parameters. -0.4 -0.2 0 0.2 0.4 0.6 0.8
If you find parameters that
don’t work correctly you need
to troubleshoot the setup.
Scaling, positioning and rotating the stabilizer to its static angle of attack:
– I decided to extract the raw length of the horizontal stabilizer in cell AB3. Name cell AB3
“Chord_stabilizer_raw”
– AB3: “=MAX(AH186:AH208)-MIN(AH186:AH208)”
– The stabilizer airfoil coordinates start from the trailing edge (as opposed to the main wing whose
coordinates start from the leading edge.
– We need to first scale the length of the stabilizer to “Chord_stabilizer” then rotate it by
“Static_alpha_stabilizer” angle, then move it back to the nose, then move it forward to the end of the
fuselage position and last, move it up to “Height_horizontal_stabilizer”
– AK186: “=(Chord_stabilizer*AH186/Chord_stabilizer_raw)*COS(PI()*Static_alpha_stabilizer/180)-
(Chord_stabilizer*AI186/Chord_stabilizer_raw)*SIN(PI()*Static_alpha_stabilizer/180)-Length_fuselage*(Center_gravity-100)/100”
– AL186: “=(Chord_stabilizer*AI186/Chord_stabilizer_raw)*COS(PI()*Static_alpha_stabilizer/180)-
(Chord_stabilizer*AH186/Chord_stabilizer_raw)*SIN(PI()*Static_alpha_stabilizer/180)+Height_horizontal_stabilizer”
– After this, copy range AK186:AL186 down to range AK239:AL239 and make sure to recreate the
blank spaces between the shapes by deleting ranges AK209:AL210, AK215:AL216, AK220:AL221,
AK125:AL126, AK130:AL131, AK235:AL236. Below is a 2D scatter chart of the range AK1:AL239.
– After plotting the plane make sure you verify the functionality of all the dimensional input parameters.
If you find parameters that don’t work correctly you need to troubleshoot the setup.
-0.4 -0.2 0 0.2 0.4 0.6 0.8
Horizontal stabilizer detail
A center of gravity (CG) sprite with selectable visibility:
– It can be useful to have the airplane display its center of gravity on the fuselage in an optional way.
Right now, in the current coordinates, the center on gravity is placed in the origin (0,0).
– We will use a sprite for the center of gravity so all we need to do for now is to provide in the aircraft
data table for an extra point situated in origin.
– Insert a new data point in origin: AK141: “0”, AL141: Sub CG_visibility()
“=if(B42=“Visible”,0,7777)”. Cell B42 will be a selection If [B42] = “Show” Then
switch for the visibility of the CG sprite. [B42] = “Hide”
Else
-Using AutoShapes a CG sprite was created (see right). I also
[B42] = “Show”
added a button using the sprite photo and assigned a macro to
End If
toggle the content of cell B42 between “Show” and “Hide”.
End Sub
– To insert the sprite on the airplane chart make sure to include the newly added data point
(AK141:AL141) in the chart data source as a new series called CG then select the sprite and holding
down the Shift key go to Edit => Copy picture => As Shown on the Screen => OK.
– Now go the chart and click the new point on the chart, wait for a second then click again and now
the cursor turns into a cross => Paste.
Verification:
– Now that the airplane is completed we need to go to each adjustable parameter and modify
it to see if the plane layout follows the changes.
– In general it is a good practice to do that more often during the creation stage. Any small
addition to the spreadsheet must be followed by a verification of the newly introduced feature
and its interaction with the older features.
To be continued…