SlideShare una empresa de Scribd logo
1 de 93
Analysis of a
NACA 2412 Wing
for a Low-speed
Utility Aircraft
Final Design Report
Kassandra Rick, Jason Ro, Yifang Zhu
6-9-2015
i
Contents
1. List of Figures and Tables......................................................................................................... ii
2. Executive Summary .................................................................................................................iv
3. GANTT Chart .............................................................................................................................v
4. Introduction ............................................................................................................................. 1
5. Airfoil shape............................................................................................................................. 2
6. Spar Placement.........................................................................Error! Bookmark not defined.
7. Centroid ................................................................................................................................... 3
8. Area Moments of Inertia ......................................................................................................... 8
9. Aerodynamic Coefficients...................................................................................................... 10
10. Aerodynamic Structural Loads........................................................................................... 12
11. Velocity-Load Factor Diagram............................................................................................ 19
12. Bending Stress.................................................................................................................... 23
13. Shear Flow.............................................................................Error! Bookmark not defined.
14. Torsion ..................................................................................Error! Bookmark not defined.
18. Buckling Analysis................................................................................................................ 29
19. Fracture.............................................................................................................................. 33
20. Fatigue................................................................................................................................ 34
21. Failure criterion.................................................................................................................. 35
22. Divergence ......................................................................................................................... 36
23. Aileron Reversal ................................................................................................................. 38
24. Optimization....................................................................................................................... 44
25. Final Model ........................................................................................................................ 45
26. Finite Element Analysis...................................................................................................... 47
27. Conclusion.......................................................................................................................... 52
28. Appendix ............................................................................................................................ 53
Symbols ..................................................................................................................................... 53
XFLR5 Data ................................................................................................................................ 54
29. References.......................................................................................................................... 59
30. MATLAB code
ii
1. List of Figures and Tables
Figure 1: NACA 2412 profile ......................................................................................................... 2
Figure 2: Center of pressure as a function of angle of attack ......................................................... 3
Figure 3: Moment coefficient as a function of angle of attack ....................................................... 4
Figure 4: Spar placement in NACA2412 airfoil ............................................................................. 5
Figure 5: Updated spar and stringer placement .............................................................................. 5
Figure 6: Final wing profile ............................................................................................................ 6
Figure 7: Centroid with two spars................................................................................................... 7
Figure 8: 2-D lift coefficient at sea level as a function of angle of attack .................................... 10
Figure 9: 2-D lift coefficient at 8000ft as a function of angle of attack ....................................... 11
Figure 10: Lift Distributions ......................................................................................................... 12
Figure 11: Coefficient of lift and drag distribution along span (at 8000ft, alpha=0).................... 13
Figure 12: Approximated Force Distribution ............................................................................... 14
Figure 13: Shear Forces along Wing Span, Sx and Sy ................................................................. 16
Figure 14: Moments along Wing Span, Mx and My .................................................................... 16
Figure 15: Deflections along Wing Span, wy and wx .................................................................. 18
Figure 16: V-N Diagram at (a) Sea Level and (b) Cruising Altitude @ 8000 ft. ......................... 21
Figure 17: Limited Flight Envelope at (a) Sea Level and (b) Cruising Altitude @8000 ft. ......... 22
Figure 18: Bending Stress at Root Chord ..................................................................................... 23
Figure 19: Buckling Coefficient for Simply Supported Plates ..................................................... 30
Figure 20: Shear Buckling Coefficient ......................................................................................... 30
Figure 21: Von Mises Stress Plot.................................................................................................. 35
Figure 22: 2D Wing Divergence................................................................................................... 36
Figure 23: Flutter of a Wing Section ............................................................................................ 42
Figure 24: Wing in COMSOL ...................................................................................................... 46
Figure 25: COMSOL Displacements............................................................................................ 47
Figure 26: COMSOL Max Normal Stress .................................................................................... 48
Figure 27: COMSOL Max Torsional Moment ............................................................................. 49
Figure 28: COMSOL Vertical Shear ............................................................................................ 50
Figure 29: COMSOL Stringer Stress............................................................................................ 51
Table 1: Lancair Legacy Specifications............................................................................................ 1
Table 2: Area Moment of Inertias................................................................................................... 9
Table 3: Velocities encountered during flight............................................................................... 20
Table 4: Gust Loads at Sea Level and Cruise ............................................................................... 21
Table 5: Shear Flow in the Airfoil Section ................................................................................... 26
Table 6: Skin Plate Critical Buckling Stress vs. Max Stress found in Skin.................................. 31
Table 7: Critical Column Buckling Stress vs. Max Bending Stress ............................................. 32
Table 8: Fracture Analysis Values and Results ............................................................................ 33
Table 9: R relations........................................................................................................................ 39
iii
Table 10: Wing Dimensions for One Wing.................................................................................... 45
iv
2. Executive Summary
This report summarizes the work done in designing a wing for a low-speed utility aircraft.
The analysis was done based on a Lancair Legacy RG-550 approximated as a straight wing. Spars,
stringers, and ribs were placed within the wing; the last 25% of the airfoil was considered to be
control surfaces. The centroid and the area moments of inertia were calculated from the cross
section of the wing. From the FAR and Legacy specifications, maneuvering and gust loads were
determined and combined to graph the limited flight envelope for two flight conditions: at sea level
and cruising altitude.
Xflr5 simulations were used to determine the lift-curve slope, lift distribution, and drag
profile of the airfoil for both flight conditions. The lift distribution along the semi-span of the wing
was the result of averaging an elliptical distribution and a constant load. The drag profile was
assumed to be constant along the wing until a 20% increase at 80% chord. After orienting the axes
into a normal and tangential frame of reference, shear forces, moments and deflections were
calculated, which were used to determine the bending and shear stresses in the wing.
Several modes of failure were analyzed: buckling, fracture, and fatigue. Additionally, the
stresses were compared to the Von Mises criterion to ensure structural integrity. Furthermore, these
results were compared to the finite element analysis results obtained in COMSOL. A simplified
analysis regarding wing divergence, aileron reversal, and flutter were discussed.
All components of the wing were optimized using the Monte Carlo method to reduce the
weight of the wing while surviving all failure analyses. The goal was to create the lightest wing
that could handle the loads and stresses experienced at all ranges of flight. The final results are
tabulated at the end of this report. Sample calculations, shown in the appendix, were carried out
by hand or Excel and compared with MATLAB outputs to ensure accurate results.
v
3. GANTT Chart
1
4. Introduction
The wings on an aircraft endure many stresses while in flight. Regardless of the aircraft’s
purpose, the wings must maintain structural integrity for the aircraft to complete its mission and
keep its crew and payload safe. This wing design analysis began with choosing an aircraft. The
Lancair Legacy RG-550 is a single engine, small aircraft with a maximum crew of two people.
This aircraft design was chosen because its specifications and dimensions were similar to previous
analyses done on wing structures yet provided enough variance for different results. In order to
simplify the analysis, the wing was approximated to be a straight wing. The Legacy specifications
are shown in Table 1.
Table 1: Lancair Legacy Specifications
Max Aircraft Weight 997.903 kg
Standard Empty Weight 680.388 kg
Cruise Velocity @ 8000 ft. 123.383 m/s
Wing Span 7.7724 m
Chord Length 0.98611 m
Wing Area 7.6644 m2
The results that are displayed or discussed in each section are the numbers obtained after
optimization unless stated otherwise. All validation and tests done by either comparing
calculations against another program or using simpler geometries can be seen in the appendix
located at the end of the report.
2
5. Airfoil shape
The NACA 2412 profile was used as the airfoil shape of the wing. Based off the
specification listed in Table 1, the airfoil has a chord length of 0.986 meters. A data file obtained
online was used in MATLAB to scale and graph out its shape which is shown in Figure 1.
Figure 1: NACA 2412 profile
The coordinate system in Figure 1 and the rest of the report has the x-axis directed along
the chord from leading edge to trailing edge as positive, y-axis directed vertically with upward as
positive, and the z-axis directed along the span from root to tip. The last 25% of the wing was
reserved for control surfaces such as flaps and ailerons, thus would not contribute to aerodynamic
loading.
3
6. Cross-Section Geometry
Lift and drag act on all parts of a wing in a pressure field. The center of pressure is where
the sum of this field is concentrated. This is where the main spar of the wing should be located;
however, the center of pressure shifts as lift and drag vary and at differing angles of attack. The
center of pressure may be determined from Eq. 1.
𝑥 𝑐𝑝 = −
𝑀𝐿𝐸
𝐿
= −
𝑐 𝑚,𝑙𝑒 𝑐
𝐶𝐿
(1)
The data used to find the center of pressure for this report was given by XFLR5, rather
than by hand. Figure 2 shows this data as a function of angle of attack.
-1
0
1
2
3
4
5
-5 0 5 10 15 20
CenterofPressure[%ofchord]
Angle of Attack [°]
Center of Pressure
Center of Pressure
Figure 2: Center of pressure as a function of angle of attack
4
The center of pressure remains between 20% and 40% of the chord length for reasonable
angles of attack. Since this is a wide margin the spar was placed at the angle of attack that produced
the greatest moment coefficient. The moment coefficient data is shown in Figure 3.
The largest moment coefficient was located at 1° angle of attack. Therefore, the center of
pressure at this angle of attack was originally selected for the placement of the main spar. This
location was at 39.43% of the chord, or 0.3888m behind the leading edge. It was determined later
that the front of the wing was unsupported. Consequently, the main spar was moved closer to the
front, at 0.3m behind the leading edge. This was still in the 20%-40% of the chord range that the
center or pressure data indicated as ideal. Stringers were also added in along the airfoil; inititally
by inspection but revised after completing the wing analysis.
Another spar was placed at 75% of the chord, or .740m behind the leading edge. This is
where the control surfaces begin. Placing a spar here makes sense because it will not interfere with
the control surfaces, and it provides extra stability to account for additional lift produced when
-0.07
-0.06
-0.05
-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
-5 0 5 10 15 20
MomentCoefficient
Angle of Attack [°]
Moment Coefficient
Figure 3: Moment coefficient as a function of angle of attack
5
controls are active. When controls are active, the effective angle of attack increases, changing the
center of pressure. Having a second spar minimizes the consequence of this change through a
redundancy of structural stability.
The original placement of these spars is shown in Figure 4.
The new placement from CDR, along with stringers, is shown in Figure 5.
Figure 5: Updated spar and stringer placement
Through optimization, stringer placement was further changed, and more were added. The
number of stringers increased from 12 to 14, and were placed closer to the front of the airfoil.
Figure 6 shows the new placement of the stringers with the spars (and spar caps) as designed in
SolidWorks. The optimization process is described in detail further in the report.
Figure 4: Spar placement in NACA2412 airfoil
6
Figure 6: Final wing profile
Final stringer locations are 0.01, 0.1, 0.25, 0.34, 0.37, 0.56, and 0.67 meter from the
leading edge on the upper skin, and 0.02, 0.11, 0.23, 0.32, 0.43, 0.54, and 0.65 meter on the
lower skin. The spars are located at 0.3 and 0.74 m from the leading edge.
7
7. Centroid
The centroid of the structure was calculated by dividing the wing into small components and
taking the weighted sum of their cross-sections. Eq. 2 and Eq. 3 were the mathematical expressions
used for this calculation.
𝑋 𝑐 =
∑ 𝑥 𝑖 𝐴𝑖
𝑇𝑜𝑡𝑎𝑙 𝐴𝑟𝑒𝑎
(2)
𝑌𝑐 =
∑ 𝑦𝑖 𝐴𝑖
𝑇𝑜𝑡𝑎𝑙 𝐴𝑟𝑒𝑎
(3)
where 𝑥 𝑖 and 𝑦𝑖 are the position of the centroid of each component and 𝐴𝑖 is the area of the cross
section. Figure 7 shows the location of the centroid for the wing analyzed. The centroid for this
structure was located at (0.3678, 0.0147).
Figure 7: Centroid with two spars
8
8. Area Moments of Inertia
The skin of the airfoil was assumed to be made of small rectangular elements with a length
defined by the distance between two data points and a height equal to the skin thickness. The
distance formula shown in Eq. 4 was used to measure the length of each element.
𝑙𝑒𝑛𝑔𝑡ℎ = √(𝑥2 − 𝑥1)2 + (𝑦2 − 𝑦1)2 (4)
The area moment of inertia for each rectangular element is calculated using the Eq. 5-7
𝐼𝑥𝑥𝑏 =
𝑙𝑒𝑛𝑔𝑡ℎ ∗ 𝑡ℎ𝑖𝑐𝑘𝑛𝑒𝑠𝑠3
12
(5)
𝐼 𝑦𝑦𝑏 =
𝑡ℎ𝑖𝑐𝑘𝑛𝑒𝑠𝑠 ∗ 𝑙𝑒𝑛𝑔𝑡ℎ3
12
(6)
𝐼𝑥𝑦𝑏 = 0 (7)
where thickness refers to the skin thickness of the airfoil. The area moment of inertia must be
calculated with respect to the centroid of the wing. Thus the results must be converted from the
body frame of reference to the rotated frame of reference. This was done using the Eq. 8-11.
𝐼𝑥𝑥,𝑟 = 𝐼𝑥𝑥𝑏 𝑐𝑜𝑠2
𝜃 + 𝐼 𝑦𝑦𝑏 𝑠𝑖𝑛2
𝜃 (8)
𝐼 𝑦𝑦,𝑟 = 𝐼𝑥𝑥𝑏 𝑠𝑖𝑛2
𝜃 + 𝐼 𝑦𝑦𝑏 𝑐𝑜𝑠2
𝜃 (9)
𝐼𝑥𝑦,𝑟 = 𝐼𝑥𝑥𝑏 𝑠𝑖𝑛𝜃𝑐𝑜𝑠𝜃 + 𝐼 𝑦𝑦𝑏 𝑠𝑖𝑛𝜃𝑐𝑜𝑠𝜃 (10)
9
where
𝜃 = arctan(
𝑦2 − 𝑦1
𝑥2 − 𝑥1
) (11)
In order to account for the distance between the each element and the centroid, the parallel axis
theorem was applied to each element. The parallel axis theorem is shown in Eq. 12-14.
𝐼𝑥𝑥𝑐 = 𝐼𝑥𝑥𝑟 + 𝐴𝑖 𝑦2
(12)
𝐼 𝑦𝑦𝑐 = 𝐼 𝑦𝑦𝑟 + 𝐴𝑖 𝑥2
(13)
𝐼𝑥𝑦𝑐 = 𝐼𝑥𝑦𝑟 + 𝐴𝑖 𝑥𝑦 (14)
For the spars and stringers, the same principle was applied. After all the calculations, the
total area moment of inertia was calculated by summing up the individual area moment of inertias
using Eq. 15-17. Table 2 shows the results of these calculations.
𝐼𝑥𝑥 = ∑ 𝐼𝑥𝑥𝑐 (15)
𝐼 𝑦𝑦 = ∑ 𝐼 𝑦𝑦𝑐 (16)
𝐼𝑥𝑦 = ∑ 𝐼𝑥𝑦𝑐 (17)
Table 2: Area Moment of Inertias
𝐼𝑥𝑥 (𝑚4
) 𝐼 𝑦𝑦 (𝑚4
) 𝐼𝑥𝑦 (𝑚4
)
1.526 * 10−5
4.9139 * 10−4
1.0077 * 10−5
10
9. Aerodynamic Coefficients
The 2-D lift coefficient was determined using xflr5, a CFD software based on xfoil that
can compute aerodynamic forces and moments acting on an airfoil. The NACA 2412 was analyzed
at sea level and at the cruising altitude of 8000 ft (2438m). Calculations were based off the aircraft
specifications. Variation in density and viscosity at different altitudes was also considered in the
input of the CFD simulation.
The 2-D lift coefficient Cl is a function of angle of attack. The lift curve varies slightly
with altitude due to variation of aerodynamic conditions, however the difference is very small. The
lift curve is linear within a regime before approaching stall, thus the lift curve slope can be
calculated using linear regression. The maximum and minimum value of Cl values were
determined from Figure 8 after applying a greater range of angle of attacks.
Figure 8: 2-D lift coefficient at sea level as a function of angle of attack
-0.5
0
0.5
1
1.5
2
-5 0 5 10 15 20
Cl
Angle of Attack (degree)
11
Figure 9: 2-D lift coefficient at 8000ft as a function of angle of attack
The same simulation and analysis was done at cruising altitude shown in Figure 9. The lift
curve slopes at sea level and 8000 ft. are 6.58 and 6.87 respectively. Additionally, the maximum
Cl at each altitude is about 1.74 and 1.62 respectively. Unfortunately, the CFD results failed to
converge at this Reynolds number to determine a minimum Cl value. In order to work around this
obstacle, wind tunnel data for this airfoil was used. The minimum Cl is approximately -0.95 at a
lower Reynolds number. [5]
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
-4 -2 0 2 4 6 8 10 12 14
Cl
Angle of attack (degree)
12
10. Aerodynamic Structural Loads
In order to be realistic, lift was approximated to be an average between an idealized
elliptical and constant distribution along the wing. Eq. 18 show the equation used to calculate the
former.
L′ 𝑒𝑙𝑙𝑖𝑝𝑡𝑖𝑐𝑎𝑙 = 0.327631 ∗
𝑊
2
(1 − (
2𝑧
𝑏
)
2
)1/2 (18)
where W is the aircraft weight, b is the wing span, and z is the position along the span measured
from the root chord. Eq. 18 takes into account that the analysis is meant for a single wing, hence
the weight and span are divided by two. The constant in the front is a correction factor to ensure
that the total force calculated from the elliptical distribution is equal to one half of the total
aircraft weight. Figure 10 displays the averaged lift distribution compared to the others.
Figure 10: Lift Distributions
These values were calculated with a load factor of one during cruise conditions. As a sanity
check, the wings were assumed to carry the entire weight of the plane; thus one wing must support
13
half of the aircraft weight. By integrating the average distribution, the total lift equals 4889.72 N,
which is equal to half the maximum aircraft weight.
Figure 11 depicts lift and drag along the wing that was obtained from the CFD calculations.
The lift distribution is almost elliptical as discussed above; however the induced drag is relatively
stable until it reaches the wing tip.
Figure11: Coefficient of lift and drag distribution along span (at 8000ft, alpha=0)
The drag distribution is not very smooth thus not easy to process in later calculation. For
simplification, the drag was assumed to be constant until 80% span where it would increase by
20%. Since the Legacy is a relatively small airplane travelling at low speeds, the wing is assumed
to be in complete laminar flow. The parasite drag coefficient is then calculated using Eq. 19
C 𝑝 = 1.328 × (𝑅)−1/2
(19)
where R is the Reynolds number.
C 𝑝 = 1.328 × (6860335)−1/2
≅ 0.0005
0
0.0005
0.001
0.0015
0.002
0.0025
0.003
0.0035
0.004
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
0 1 2 3 4 5
Cd
Cl
Span (m)
Cl vs span
Cdi vs span
14
The actual drag is calculated using Eq. 20
D =
1
2
𝜌𝑆𝑉2
(𝐶 𝑝 +
𝐶 𝐿
2
𝜋𝐴𝑒
) (20)
where ρ is air density, S is the wing area, V is the aircraft velocity, 𝐶 𝑝 is the parasite drag, 𝐶𝑙 is the
coefficient of lift, A is the aspect ratio, e is the Oswald efficiency which was assumed to be 0.79.
Figure 12 shows the resulting force distribution along the span of the wing at the max load factor
of 5.84.
Figure 12: Approximated Force Distribution
At different angle of attacks, the force distributions can be resolved into components that
are tangent or normal to the free stream velocity. The tangential and normal force distributions can
be found using Eq. 21 and Eq. 22
F 𝑁 = L(y)cosα + D(y)sinα
(21)
15
𝐹𝑇 = −L(y)sinα + D(y)cosα (22)
For the sake of simplicity, this report will refer to the normal and tangential axes as the ‘y’
and ‘x’ axes respectively. The resulting components after applying Eq. 21 and Eq. 22 can be
utilized to determine the shear force and the moments along the normal and tangential axes. Eq.
23 and Eq. 24 shows the relationship between these concepts
−𝐹𝑦 =
𝑑𝑆 𝑦
𝑑𝑧
=
𝑑2
𝑀 𝑥
𝑑𝑧2
(23)
−𝐹𝑥 =
𝑑𝑆 𝑥
𝑑𝑧
=
𝑑2
𝑀 𝑦
𝑑𝑧2
(24)
where F represents the distributions, S represents the shear forces, and M represents the moments.
Thus, to find the shear and moments, the distributions must be numerically integrated along the
wing span. The wing was treated as a clamped-free beam, thus imposing that at the root chord,
there is no deflection or rotation. Figure 13 and Figure 14 shows the results which were produced
in MATLAB.
16
Figure 13: Shear Forces along Wing Span, Sx and Sy
Figure 14: Moments along Wing Span, Mx and My
As expected, the maximum shear and moment are located at the root chord of the wing and
eventually trails off to zero at the wing tip. Additionally, the shear force is greatest along the y –
17
axis with its maximum equal to about half the aircraft weight, and the greatest moment is generated
about the x-axis. This suggests that the greatest risk for structural failure will occur at the root
chord of the wing.
When the wing is subject to bending loads, its shape is distorted. In order to check whether
this alteration is not extreme, a deflection analysis was done along the x and y axes. The wing
deflections due to bending moments was calculated using Eq. 25 and Eq. 26
𝑤 𝑦
′′
=
−𝑀 𝑦 𝐼𝑥𝑥 + 𝑀 𝑥 𝐼𝑥𝑦
𝐸(𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦
2
)
(25)
𝑤 𝑥
′′
=
−𝑀 𝑥 𝐼 𝑦𝑦 + 𝑀 𝑦 𝐼𝑥𝑦
𝐸(𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦
2
)
(26)
where w represent the deflections, M are the moments, I are the area moment of inertias, and E is
the modulus of elasticity which is 73.1 GPa for aluminum 2024-T4. These equations were
numerically integrated twice to find the deflections in the wing. For details regarding these
equations, refer to T.C. Sun’s Mechanics of Aircraft Structures [4]. Figure 15 shows the resulting
deflections under cruise conditions.
18
Figure 15: Deflections along Wing Span, wy and wx
As expected, the wing deflects significantly more in the y-direction as opposed to the x-
direction because lift significantly exceeds drag. The deflection in the y-direction peaks at 0.17 cm
while the deflection in the x-direction is almost negligible.
19
11. Velocity-Load Factor Diagram
The V-N diagram illustrates the loading conditions a wing endures when maneuvering and
confronted with wind gusts. These load factors are exclusive to the specifications of an aircraft
and what altitudes the aircraft flies at. Two V-N diagrams were made for each flight condition: sea
level and cruise. Many parameters used in the analysis, such as the gust velocities, are detailed in
the FAR 23 document [1].
The flight envelope was determined by obtaining different velocities encountered during
flight. The cruise velocity was provided in the Legacy specifications. The dive velocity and stall
speeds were calculated using the Eq. 27-29.
𝑉𝑑𝑖𝑣𝑒 = 𝑉𝑐𝑟𝑢𝑖𝑠𝑒 ∗ 1.5 (27)
𝑉𝑝𝑜𝑠,𝑠𝑡𝑎𝑙𝑙 = √
2𝑊
𝜌𝑆𝐶𝑙 𝑚𝑎𝑥
(28)
𝑉𝑛𝑒𝑔,𝑠𝑡𝑎𝑙𝑙 = √
2𝑊
𝜌𝑆𝐶𝑙 𝑚𝑖𝑛
(29)
These equations were applied separately at different flight conditions. W is the weight of
the aircraft, ρ is the density and S is the wing area. The coefficients of lift were obtained through
xfoil simulations. It is worth noting that the absolute value of 𝐶𝑙 𝑚𝑖𝑛 was used. These values are
listed in the Table 3 for both sea level and cruising altitude.
20
Table 3: Velocities encountered during flight
Altitude Cruise Dive Positive Stall Negative Stall
Sea Level 123.38 m/s 185.07 m/s 34.61 m/s 42.57 m/s
8000 ft. 123.38 m/s 185.07 m/s 34.99 m/s 42.96 m/s
The load factor in relation to the aircraft velocity is shown in Eq. 30 and Eq. 31. For utility
aircrafts, the max load limit is 4.4 and minimum is -1.76.
𝑛 𝑝𝑜𝑠 =
𝜌𝑉2
𝑆𝐶𝑙 𝑚𝑎𝑥
2𝑊
(30)
𝑛 𝑛𝑒𝑔 =
𝜌𝑉2
𝑆𝐶𝑙 𝑚𝑖𝑛
2𝑊
(31)
These equations are again, applied separately at different flight conditions. The load curves
are graphed until they reach the limit specified in the FAR. Once all data points were collected,
the flight envelope was graphed which are displayed in Figures 16, outlined in blue. The acronyms
PHAA and PLAA refer to positive high and positive low angle of attack. Similarly, NHAA and
NLAA are the negative high and negative low angle of attack.
The gust envelope was developed using the Eq. 32-34 that were provided in the FAR.
𝑛 𝑔𝑢𝑠𝑡 = 1 +
𝐾𝑔 𝑈 𝑑𝑒 𝑉
𝑑𝐶𝑙
𝑑𝛼
498
𝑊
𝑆
(32)
where 𝐾𝑔 =
0.88𝜇
5.3 + 𝜇
(33)
where 𝜇 =
2 ∗
𝑊
𝑆
𝜌𝑐𝑔
𝑑𝐶𝑙
𝑑𝛼
(34)
21
Many of these values are not in SI units. V is the velocity (cruise or dive) in knots, 𝑈 𝑑𝑒 is
the gust velocity ft/s, W is the aircraft weight in lbs, S is the wing area in ft^2, ρ is the density in
slugs/ft^3, g is the acceleration due to gravity in ft/s^2, and c is the chord length in ft. Our findings
are shown in Figure 16 and Table 4.
(a) (b)
Table 4: Gust Loads at Sea Level and Cruise
Speed condition Gust Load at Sea Level Gust Load at 8000 ft.
Cruise velocity 5.69 5.84
Dive Velocity 3.69 3.84
By observing the maximums and minimums from the V-N Diagrams, a limited combined
flight envelope was graphed out that encompasses the extreme cases from both the maneuvering
and gust loads. The stall velocities and dive velocity was used as the minimum and maximum
limits respectively while the gust loads represented the limits for the load factor. Any gust loads
present before the PHAA and NHAA were ignored. This procedure was done for both sea level
Figure 16: V-N Diagram at (a) Sea Level and (b) Cruising Altitude @ 8000 ft.
22
and cruising altitude. Figure 17 displays the limited flight envelope traced out in green on the V-
N Diagram.
(a) (b)
Figure 17: Limited Flight Envelope at (a) Sea Level and (b) Cruising Altitude @8000
ft.
This wing will experience very high load factors. Since failure will occur at the extreme load cases,
this report will be using calculations using the highest loading condition to ensure the wing is
structurally stable for all conditions.
23
12. Bending Stress
The normal stress for an asymmetric wing can be calculated using the bending moments
and area moment of inertia using Eq. 35
𝜎𝑧𝑧 =
𝑀 𝑦 𝐼𝑥𝑥 − 𝑀 𝑥 𝐼𝑥𝑦
𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦
2
𝑥 +
𝑀 𝑥 𝐼 𝑦𝑦 − 𝑀 𝑦 𝐼𝑥𝑦
𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦
2
𝑦 (35)
where Mx and My are the moments, Ixx, Iyy, Ixy are the area moment of inertia, and x and y are
the coordinate positions with respect to the centroid. Since the moments were greatest at the root
chord, the bending stress should be at its maximum there as well. Figure 18 shows the
distribution of stress along the cross-section of the wing at the root chord at the highest load
factor during cruise. The graph was re-oriented so that compressive stress is positive and tensile
stress is negative for visual aesthetic. The maximum stress is 216 MPa and is located at the top
of the wing, close to the location of the first spar.
Figure 18: Bending Stress at Root Chord
24
13. Shear flow
Shear stress is an important factor in structural design because it indicates whether or not
the skin is going to fail. In order to calculate shear stress, shear flow in a two cell structure is
simulated using MATLAB. Two assumptions were made for this calculation: the stringers were
idealized as booms, which are modified stringers that takes into account of axial stress on the skin;
additionally, the boom area was used in order to assume that the stringers carry only axial loads
and the skin carry only shear loads.
There are 14 stringers and 4 spar caps. The indexing starts at upper cap of the rear spar,
and continues counter clockwise along the skin, ending at the lower cap of the rear spar. The upper
and lower cap of the first stringer are index 6 and 13 respectively. The coordinate system is oriented
so that the origin is located at the leading edge, the x-axis runs along the chord, and the y-axis runs
vertically in the upward direction.
The external forces were assumed to be placed at the aerodynamic center (in the x-
direction), and center of gravity (in the y-direction). The axial stress in each stringer was
determined using Eq. 35 from the previous section. The equivalent boom area was subsequently
calculated using Eq. 36
𝐵𝑖 = 𝐴𝑖 + 𝑡 𝐷
𝑙 𝑖−1,𝑖
6
(2 +
𝜎𝑖−1
𝜎𝑖
) + 𝑡 𝐷
𝑙 𝑖+1,𝑖
6
(2 +
𝜎𝑖+1
𝜎𝑖
) (36)
where 𝐴𝑖 is the area of stringer i, and σ is the stress, 𝑡 𝐷 is the skin thickness, and l is the length of
skin.
25
Shear flow is the sum of two components: open-section shear flow (qb), and closed-section
shear flow (qo). For open-cell shear flow, cuts were made between the spars (1 to 17 and 6 to 13)
and. Eq. 37-39 were used to determine the shear flow between each stringer.
𝑞 𝑏 = 𝑘1 ∑ 𝐵𝑖 𝑥 𝑖
𝑛
𝑖=1
+ 𝑘2 ∑ 𝐵𝑖 𝑦𝑖
𝑛
𝑖=1
(37)
𝑘1 = −
𝑆 𝑥 𝐼𝑥𝑥 − 𝑆 𝑦 𝐼𝑥𝑦
𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦
2 (38)
𝑘2 = −
𝑆 𝑦 𝐼 𝑦𝑦 − 𝑆 𝑥 𝐼𝑥𝑦
𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦
2 (39)
where xi and yi are distance between stringer location to location of the forces.
The closed section shear flow was calculated by solving this set of equations. At an
arbitrary point, the internal moment due to shear is equal to the moment due to external forces as
shown in Eq. 40. By setting this point at the location of the applied force, the left hand side of the
equation is conveniently set to zero.
(40)
The angle of twist from both cells should be the same by geometric compatibility, determined by
using Eq. 41. From Eq. 40 and Eq. 41, the closed-section shear flow can be solved.
dθ
dz
( 𝑖) =
1
2𝐴𝑖 𝐺
∮(𝑞 𝑏 + 𝑞 𝑠,𝑜)𝑑𝑠 (41)
Since the stress is known to be greatest near the root and the shear stress on the skin is the
greatest between two ribs, the shear flow calculation was only performed between the root and the
last rib to get the maximum shear in skin. In order to check the accountability of the program, the
26
code is used on a simplified 2 cell shear flow problem, Example 5.9 from Sun’s textbook. The
results are identical answers in the textbook. The validation results are presented in the appendix.
Shear flow in the airfoil calculated from the MATLAB program is tabulated in Table 5
Table 5:Shear Flow in the Airfoil Section
Location q_b q
1=2 6745 -9369
2=3 23732 7618
3=4 49696 33582
4=5 84114 67999
5=6 113371 97257
6=7 132514 30644
6=13 (1st spar) 0 85756
7=8 165758 63888
8=9 177093 75223
9=10 181876 80006
10=11 170422 68551
11=12 140619 38749
12=13 110750 8879
13=14 93730 77616
14=15 71801 55687
15=16 39795 23681
16=17 12339 -3775
17=18 -2351 -18465
1=18 (2nd spar) 0 16114
q_01 -20545
q_02 -152967
27
The shear stress in the skin can then be calculated using Eq. 42
τ =
𝑞
𝑡
(42)
Apply equation 42 to every skin segment it can be found that the highest shear stress occurs
between stringer 9 and 10 with a value of 41.5 MPa. This value is very close to the shear strength
of the material (208MPa) with a safety factor of around 5. As a result, the wing design will not
likely to suffer from failure due to shear stress.
The shear center, also called the elastic axis is the axis which maintains a twist angle of
zero. The closed-section shear flow of both cells was found by equating Eq. 41 to zero. That result
was plugged in the closed-cell shear flow into Eq. 40. As a result, the shear center is calculated to
be at 0.5325m from the leading edge. It’s behind the aerodynamic center and the centroid. But it’s
shown in the aeroelasticity section that the divergence speed of the wing is still within a safe
margin.
28
14. Torsion
As shown in previous section, that the angle of twist was obtained by using Eq. 41.
Plugging in the shear flow value from Table 5 to calculate twist angle in the first and second
cell. The angle of twist of two cells are equal and the maximum angle at the root has a value of
0.0083 rad/m, which is 0.476 degree/m. Since the wing is only less than four meters long in half
span, the maximum twist at the tip is only approximately 2 degrees. The small value shows that
the wing is very resistant to twist.
The neutral axis is the line in the plane that does not experience any compression or
tension. It can be found by equating the stress σ from Eq. 35 to zero, as seen in Eq. 43
𝑦 𝑁𝐴
𝑥 𝑁𝐴
=
𝑀 𝑦 𝐼𝑥𝑥 − 𝑀 𝑥 𝐼𝑥𝑦
𝑀 𝑥 𝐼𝑥𝑥 − 𝑀 𝑦 𝐼𝑥𝑦
(43)
This value calculated is 0.0111. This means the neutral axis is essentially the x-axis. It
makes sense because the Mx is much greater than My due to the difference between lift and drag.
Thus, the x-axis should stay relatively unmoved in bending.
29
15. Buckling Analysis
Buckling is a structural instability that leads to a failure under compressive or shear loading.
This is characterized by either a flat plate or column that fails at stresses that are less than the
material yield stress. In general, buckling is mostly dependent on the geometry of the structure;
shortening the length of the structure along the loading axis effectively increases its resistance to
this instability. Therefore, an aircraft wing incorporates ribs and stringers that are strategically
spaced in order minimize the risk of buckling in the spars and skin. The stringers themselves are
also prone to buckling. The subsequent sections detail the buckling analysis done on each of these
components except for the ribs.
For this analysis, the stringers and ribs were separated by however much seemed necessary.
A range of placements were specified for both components, which defined the dimensions of each
plate of skin. For simplification, each of these skin plates were idealized as simply supported flat
plates. Additionally, each plate was assumed to carry compressive and shear stresses. The critical
buckling stresses were calculated using the Eq. 44
𝜎𝑐𝑟 =
𝑘𝜋2
𝐸
12(1− 𝑣2)
(
𝑡
𝑏
)2 (44)
where t is the thickness of the skin, b is the length of the side under compression, v is the Poisson
ratio, and k is the buckling coefficient which is dependent on the dimensions of the plate, shown
in Eq. 45
𝑘 = (
𝑚𝑏
𝑎
+
𝑎
𝑚𝑏
)2 (45)
Figure 19 and Figure 20 shows k graphically as a function of the ratio 𝑎
𝑏⁄ which is taken
from the Megson [3]. The k value changes depending on normal or shear buckling analysis. The
results of this analysis is shown in Table 6.
30
Figure 19: Buckling Coefficient for Simply Supported Plates
Figure 20: Shear Buckling Coefficient
31
Table 6: Skin Plate Critical Buckling Stress vs. Max Stress found in Skin
Skin Plate Number Skin Critical Buckling Stress (MPa) Max Stress found in Skin (MPa)
1 232.25 133.35
2 310.90 177.60
3 362.87 199.57
4 363.95 216.28
5 232.67 171.47
6 310.19 40.35
7 700.89 -40.62
8 319.89 -162.83
9 178.07 -178.57
10 400.37 -183.25
11 236.83 -177.70
12 220.64 -172.61
13 232.06 -143.25
These numbers are taken from the maximum loading case from the V-N diagram. The maximum
stress was found on the top of the wing above the spar which aligns with skin plate 4. At this plate,
the critical buckling stress exceeds the compressive stress by a factor of safety of 1.68. The other
plates also exceed the stress applied, thus none of the plates are in danger of buckling.
For this wing design, Z stringers were used and assumed to only carry bending stresses.
The length of each beam element was determined by the rib spacing, with each ended assumed to
be pinned. In other words, the stringers were assumed to be constrained in stretching but allowed
to rotate freely. The dimensions of these stringers were chosen arbitrarily for this initial analysis.
The area moment of inertia and cross-sectional area for each stringer was calculated based on these
dimensions and applied to Eq. 46
𝜎𝑐𝑟 =
𝜋2
𝐸𝐼𝑥𝑥
𝐾𝐴𝐿2
(46)
where E is the Young’s modulus, L is the rib spacing, and K is effective length factor which for
pinned-pinned beams is assumed to be equal to one.
32
The critical buckling load for spars were determined using the same methodology. Table
7 summarizes the results of column buckling. The values shown are the maximum cases.
Table 7: Critical Column Buckling Stress vs. Max Bending Stress
Critical Column Buckling Stress (MPa) Maximum Bending Stress (MPa)
Stringer 354.822 215.06
Spar 500.630 216.21
The max normal stress was calculated using Eq. 35. The critical buckling stress greatly
exceeds the maximum stress endured by the wing structure. Thus by these numbers the wing will
not buckle. However, there are some inconsistencies with the MATLAB code used when compared
to simple hand calculations. The code will need to be corrected.
The plates that make up the stringers are also prone to buckling. By applying the same
methodology as the skin plates, all individual plates on the Z stringer evaluated using Eq. 44 with
different buckling coefficients. Then, a weighted average was taken using Eq. 47
𝜎𝑐𝑟 =
∑ 𝜎𝑐𝑟,𝑖 𝑤𝑖𝑑𝑡ℎ𝑖
𝑤𝑖𝑑𝑡ℎ𝑖
(47)
where 𝜎𝑐𝑟,𝑖 equals the critical buckling stress of each plate.
33
16. Fracture
Material fracture refers to the cracks that form when a structure is under an applied stress.
Cracks weaken the structural integrity of a material. Under stress, cracks can propagate eventually
leading to fracture or failure of a wing. Thus, this type of failure can occur below the yield stress
of a material if large enough cracks are present. In this analysis, the stress intensity factor K is
calculated given an initial crack size and stress applied using Eq. 48 and compared to the fracture
toughness ‘KIC’ of a material.
𝐾 = 𝜎∞√ 𝜋𝑎 (48)
where 𝜎∞ represents the stress applied on the crack and a is the length of the initial crack. If the
stress intensity factor exceeds the fracture toughness, the crack would grow until the structure fails.
In the wing, fracture is most likely to occur at the root of the wing where the greatest stress is
applied. The initial crack size was assumed to be 2.5 mm. Table 8 summarizes the values used
and the results.
Table 8: Fracture Analysis Values and Results
Initial Crack Length 0.001 m
Tensile Yield Stress 324 MPa
Fracture Toughness 29 MPa*𝑚
1
2
Stress Intensity Factor 12.1 MPa*𝑚
1
2
Based on these numbers, the stress intensity factor does not exceed the fracture toughness,
thus the structure will not fracture in these conditions.
34
17. Fatigue
Fatigue refers to weakening strength of a material that undergoes repeated loadings. The
amount of cycles to failure was determined using Paris’s Law which is shown in Eq. 49
𝑁 =
𝑎𝑓
(1− 𝑚
2⁄ )
− 𝑎𝑖
(1− 𝑚
2⁄ )
(1 − 𝑚
2⁄ )𝐶(𝜎 𝑚𝑎𝑥 √ 𝜋) 𝑚
(49)
where 𝑎𝑓 is the final crack length, 𝑎𝑖 is the initial crack length, σ is the ultimate yield stress, C
and m are material properties. The final crack length was found using Eq. 50
𝑎𝑓 =
1
𝜋
(
𝐾𝐼𝐶
𝜎 𝑚𝑎𝑥
)2
(50)
where 𝐾𝐼𝐶 is the fracture toughness and 𝜎 𝑚𝑎𝑥 yield stress. The final crack length was found to be
4.6 mm. Applying this value along with those in the previous section to Eq. 49, the total number
of cycles to failure was found to be approximately 8.369*108
cycles. This was a vast
improvement from the critical design report because the Aluminum 6061-T3 was switched out to
2024-T4.
35
18. Failure criterion
The failure analysis is performed using the von Mises method. The von Mises yield
criterion takes the axial stress and shear stress and computes an equivalent axial stress with Eq.
51
𝜎𝑒 =
1
√2
[( 𝜎11 − 𝜎22)2
+ ( 𝜎22 − 𝜎33 )2
+ ( 𝜎33 − 𝜎11 )2
+ 6( 𝜎12
2
+ 𝜎23
2
+ 𝜎13
2 )2]1/2
(51)
In the equation, 𝜎11 𝜎22 𝜎33 represents axial stress in x, y, z directions respectively, and
only 𝜎33 has a non-zero value and is calculated in the bending section. Among the shear stresses
on the skin 𝜎12 𝜎23 𝜎13 , only 𝜎23 has a non-zero value calculated in the shear flow stress.
The highest equivalent yield strength is calculated to be 196 MPa, which has a safety
factor of 1.6 compared to the yield strength of the material at 324 MPa.
Figure 21: Von Mises Stress Plot
36
19. Divergence
Torsional divergence is a static aero-elastic effect when the angle of twist of a wing
approaches infinity resulting in structural failure. The phenomena is the result of the inertial,
elastic, and aerodynamic forces that occur when the center of twist is located aft of the
aerodynamic center. Larger loads generate greater pitch-up moments about this point, leading to
an increased twist angle and by extension, a larger angle of attack. Consequently this positive
feedback-loop of increased angle of attack to greater loads to greater twist ultimately ends with the
wing shredding off the aircraft. This analysis applied a simplified model of a 2D case shown in
Figure 22 and Eq. 52
Figure 22: 2D Wing Divergence
𝑀0 + 𝐿𝑒𝑐 = 𝐾𝜃 (52)
where K is the torsional stiffness, θ is the twist angle, M is the pitching moment, L is the lift, and
ec is the elastic center. The torsional stiffness resists the moment generated by the lift vector on
37
the aerodynamic center and the pitching moment of the wing. The values in Eq. 52 can be modified
to be in terms of aircraft velocity. The velocity which leads to an infinite twist is known as the
divergence velocity which is shown in Eq. 53. The derivation of this equation can be view in the
Megson textbook [3].
𝑉𝑑 = √
2𝐾
𝜌𝑆𝑒𝑐(
𝜕𝐶𝑙
𝜕𝛼⁄ )
(53)
where S is the wing area, and
𝜕𝐶𝑙
𝜕𝛼⁄ is the lift-curve slope. According to the FAR, the divergence
velocity may not be below 1.2 times the dive velocity. For this plane, the divergence velocity may
not be below 222.084 m/s. Eq. 52 was applied to both sea level and cruise conditions, equaling
260.03 m/s and 284.83 m/s respectively, therefore the wing should not diverge in any part of its
flight.
38
20. Aileron Reversal
The speed at which aileron reversal occurs is given by Eq. 54 [6].
𝑣𝑟 = 𝑣 𝑑√
𝑅1 ∗ 𝜀
𝑅2
(54)
Where 𝑣 𝑑 is the divergence speed,
𝑅1
𝑅2
is a function of the aileron chord divided by the wing chord,
and ε is the distance between the elastic axis (shear center) and quarter chord, as a fraction of the
wing chord. For this wing geometry, the aileron was specifically chosen to be a quarter of the wing
chord, so
𝑐 𝑎
𝑐 𝑤
= .25 by definition. Table 9 shows the tabulated relation between this and
𝑅1
𝑅2
. The
shear center, as recorded in the shear flow section, is .5325, so ε = .2825, and 𝑣𝑟 = 1.17𝑣 𝑑, where
𝑣 𝑑 is the divergence speed as detailed in the previous section. Therefore the speed that will trigger
aileron reversal is 259.83 m/s. This is well above any velocity the plane can reach, thus aileron
reversal is not a problem.
39
Table 9: R relations
40
21. Natural Frequency
To calculate the natural frequency, the wing is approximated as a cantilever beam with the
root fixed.
Rayleigh’s energy method states that the maximum strain energy (Eq. 55) equals to
maximum kinetic energy (Eq. 56)
𝑈 𝑚𝑎𝑥 =
𝐸𝐼
2
∫ (
𝑑2
𝑦
𝑑𝑥2
)
2
𝑑𝑥
𝑙
0
(55)
𝑇 𝑚𝑎𝑥 =
𝛾
2
∫ [ 𝜔 𝑛 𝑦(𝑥, 𝑡) 𝑚𝑎𝑥]2
𝑑𝑥
𝑙
0
(56)
where E is the young’s modulus, I is area moment of inertia, γ is the mass per length, and ω is the
natural frequency. Rearranging the two equations, the natural frequency can be calculate by using
Eq. 57.
𝜔 𝑛
2
=
𝐸𝐼
𝛾
∫ (
𝑑2
𝑦
𝑑𝑥2)
2
𝑑𝑥
𝑙
0
∫ [ 𝑦(𝑥, 𝑡) 𝑚𝑎𝑥]2 𝑑𝑥
𝑙
0
(57)
By approximating the wing as a cantilever beam with the root end fixed, the deflection y
along span x can be assumed to be:
𝑦 = 𝐴 (1 − 𝑐𝑜𝑠 (𝜋
𝑥
2𝑙
)) (58)
thus 𝑑𝑦
𝑑𝑥
= 𝐴 (
𝜋
2𝑙
) 𝑠𝑖𝑛
𝜋𝑥
2𝐿
(59)
and 𝑑2
𝑦
𝑑𝑥2
= 𝐴 (
𝜋
2𝐿
)
2
𝑐𝑜𝑠
𝜋𝑥
2𝐿
(60)
41
The boundary condition is checked by substituting x = 0 (the root). Additionally, y and
𝑑𝑦
𝑑𝑥⁄ are both equal to zero whereas
𝑑2
𝑦
𝑑𝑥2⁄ is not. At x = L (the tip), y is equal to the maximum
deflection. Thus, the boundary condition is satisfied.
Substituting in the appropriate variables, the natural frequency was calculated to be 31.16
rad/s or 4.96 Hz. The first bending mode of the aircraft has a natural frequency of 4.96Hz.
42
22. Flutter
A detailed flutter analysis is beyond the scope of this course. Therefore, this section will
briefly discuss the effect of flutter and the methods used for flutter analysis.
Flutter is defined as the dynamic instability of an elastic body in an airstream. Flutter occurs
at a critical speed 𝑉𝑓𝑙𝑢𝑡𝑡𝑒𝑟 which, in turn is defined as the lowest airspeed at which a given structure
will oscillate with sustained simple harmonic motion. At speeds above the flutter speed represents
the condition of unstable structural oscillation [3]. For systems with two or more degrees of
freedom, the forces associated with each individual degree of freedom can interact and cause
divergent oscillation. This type of flutter that involves two distinctly different types oscillating
motion resulting in a divergent motion is called classical flutter. Other types of flutter, non-
classical flutter, include stalling flutter and aileron buzz and will not be discussed in this section.
In the case of a wing, flutter is usually the coupling of flexural and torsional modes.
Figure 23 illustrates an example of flutter for a wing section. There is a coupled motion
between the angle α and vertical displacement y.
Figure 23: Flutter of a Wing Section
43
The equation of this coupled system is set up as a simple harmonic motion.
𝑦 = 𝑦0 𝑒 𝑖𝜔𝑡
(61)
𝛼 = 𝛼0 𝑒 𝑖𝜔𝑡
(62)
The root of the determinant in Eq. 63 should take the form δ + iω, where δ represents the
exponential growth rate and ω gives the frequency of the oscillating system. At low speed the
oscillation decays and δ is negative. At high speed, δ is positive and it diverges. The critical flutter
[
−𝜔2
(𝑚 − 𝐿 𝑦̈ ) − 𝑖𝜔𝐿 𝑦̇ + 𝑘 − 𝐿 𝑦 𝜔2( 𝑚𝑔𝑐 + 𝐿 𝛼̈ ) − 𝑖𝜔𝐿 𝛼̇ − 𝐿 𝛼
𝜔2
(𝑚𝑔𝑐 + 𝑀 𝑦̇) − 𝑖𝜔𝑀 𝑦̇ − 𝑀 𝑦 −𝜔2( 𝐼 𝑂 − 𝑀 𝛼̈ ) − 𝑖𝜔𝑀 𝛼̇ + 𝑘 𝜃 − 𝑀 𝛼
] {
𝑦0
𝛼0
} = 0 (63)
speed Vf corresponds to the zero growth rate. Flutter speed can be obtained by calculating δ for a
range os speeds and find the value of Vf for δ = 0.
44
23. Optimization
The final step in completing this design was to optimize its cross-sectional geometry.
Its purpose is to create the lightest wing structure that can survive all loading conditions
specified in the V-N diagram. This is accomplished by running a Monte Carlo iteration scheme
compiling all analyses discussed prior to this section. All components were taken into account:
stringer placement, stringer dimensions, spar dimensions, rib spacing, rib thickness, and skin
thickness. A set of ranges was set for each of these parameters, chosen based off the dimensions
of similar aircrafts such as the Cessna 140 and the optimization code was run for 20,000
iterations. The final design did not differ much from the original. The spars did not shift much
and the number of stringers increase from 12 to 14. The skin thickness was increased to ensure
the skin would not buckle in compression while the spar thickness as well as stringer dimensions
and thickness were reduced. The number of ribs did not change. The entire code is located at the
end of the report.
45
24. Final Model
The final dimensions of the wing are tabulated in Table 10. The wing as designed in
COMSOL is shown in Figure 24.
Table 10: Wing Dimensions for One Wing
Element Size (m)
Wing Chord .9861
Wing Span 7.7724
Airfoil NACA 2412
Skin Thickness .0032
Spar Thickness .0033
Spar Cap Thickness .0033
Spar Cap Width (top) .0151
Spar Cap Width (bottom) .0199
Stringer Thickness .0031
Stringer Width (top) .0077
Stringer Width (bottom) .0086
Stringer Length .0098
Rib Spacing .1441
Rib Thickness .0125
Wing Weight 1701.7 N
Number of Stringers 14
Number of Spars 2
Number of Ribs 26
46
Figure 24: Wing in COMSOL
47
25. Finite Element Analysis
The finite element analysis was done in COMSOL. The wing was created as an exact
replica of the SolidWorks wing, with the stringers represented as beams on the surface of the wing.
The wing was then loaded with lift, drag, gravity, moment, and shear forces to model its behavior
in flight in cruise conditions. The root of the wing was held fixed.
The displacement results from the loading are shown in Figure 25.
Figure 25: COMSOL Displacements
This figure, displayed in units of meters, shows that the overall displacement is as one
might expect, with the majority of displacement at the wing tip. The maximum displacement was
48
4.75*10-4 meters, or about half of a millimeter. This number, while being somewhat close to the
displacement generated by MATLAB (shown in Figure 14), is still much smaller than MATLAB’s
average vertical deflection of 7 cm, and very small in general.
The other graphs given from the finite element analysis match well with the numbers
generated with MATLAB.
The normal stresses are shown in Figure 26.
Figure 26: COMSOL Max Normal Stress
The maximum stress in this graph is 1.59*108 N/m2, or 159 MPa. This compares very
favorably with the max bending stress from MATLAB, which had a max of 154.38 MPa; the
49
percent difference is 2.9%. In addition, like the MATLAB generated stress, the stress is
concentrated near the root of the wing.
The finite element analysis was also able to produce graphs for the shear and torsional
moment. While torsion was not computed on a moment basis in MATLAB, the COMSOL graph
(Figure 27) is worth noting, as it shows the locations that the torsion is applied.
Figure 27: COMSOL Max Torsional Moment
50
As shown, the torsion is at a maximum near the root of the airfoil. Between the root and the
first rib, torsion only really occurs around the spars, but this evens out as one traverses further
down the span of the wing.
The shear in the vertical direction is shown in Figure 28.
Figure 28: COMSOL Vertical Shear
Like in the MATLAB code, the maximum shear is negative and appears at the root of the
wing. The COMSOL graphs, however, also show the effect of the ribs on the shear force. While
51
the skin is subjected to a negative shear, the ribs compensate with a positive shear all the way
down the wing. These balancing forces are why the wing is able to resist vertical deflection well.
Also interesting to note is the stress as viewed from the plane of the airfoil. This is shown
in Figure 29.
Figure 29: COMSOL Stringer Stress
The stress is concentrated in the stringers and the main spar. This is exactly what is
expected, and it justifies the assumption that stringers carry only axial loads and skin carries only
shear loads.
52
26. Conclusion
The goal of this project was to design the lightest wing structure for all the loading
conditions for the Lancair RG-550. A straight wing with a NACA2412 airfoil profile with
stringers, spars and ribs was analyzed. After determining the geometric properties of the wing and
the aerodynamic loads it would experience, the V-N diagrams and limited flight envelope were
graphed. From there the shear forces, moments, and deflections in the wing were calculated. From
this information, structural failure was determined to occur at the root chord. Additionally this
analysis examined several important structure characteristics, namely the bending stress, shear
stress, angle of twist, buckling and fatigue.
The shear stress was calculated by first calculating shear flow in the skin plates in between
the stringers. The maximum shear stress was found to be 41 MPa. The shear center is located at
0.5362 m. It is behind the first spar and close to the centroid, so it is at a desired place. The
maximum angle of twist is calculated to be 0.0083 rad/m, indicating that there will not be a lot of
twist.
The maximum stresses were determined for the skin, spars and stringers and compared to
the critical buckling stresses for each. The critical buckling stresses far exceeded these max
stresses, thus the wing should not buckle. Fracture analysis was done on the wing assuming an
initial crack size and was determined that the crack will not propagate. Additionally, a fatigue
analysis was performed, determining that the wing will not fail until 8.369*108
cycles.
The failure criterion is examined by using the von Mises yield criterion, which takes the axial
and shear stress to calculate an equivalent axial stress. The maximum equivalent stress is found to
be 196MPa. It’s still under the yield strength of the material and has a safety factor of 1.6.
53
27. Appendix
Symbols
MLE Moment about the leading edge
xcp Location of center of pressure
cm,le Coefficient of moment about the leading edge
CL Lift coefficient
C Chord length
L Lift
𝑋 𝑐 Centroid x-position
𝑌𝑐 Centroid y-position
𝑥 𝑖 Component x-position
𝑦𝑖 Component y-position
𝐴𝑖 Component area
𝐼𝑥𝑥𝑏 Body xx area moment of inertia
𝐼 𝑦𝑦𝑏 Body yy area moment of inertia
𝐼𝑥𝑦𝑏 Body xy area moment of inertia
𝐼𝑥𝑥,𝑟 Rotated xx area moment of inertia
𝐼 𝑦𝑦,𝑟 Rotated yy area moment of inertia
𝐼𝑥𝑦,𝑟 Rotated xy area moment of inertia
𝐼𝑥𝑥𝑐 Component xx area moment of inertia
𝐼 𝑦𝑦𝑐 Component yy area moment of inertia
𝐼𝑥𝑦𝑐 Component xy area moment of inertia
𝐼𝑥𝑥 xx area moment of inertia
𝐼 𝑦𝑦 yy area moment of inertia
𝐼𝑥𝑦 xy area moment of inertia
C𝑓 Parasite drag
54
𝐴 Aspect ratio
𝑒 Oswald efficiency number
𝐶 𝑝 Coefficient of pressure
F 𝑁 Normal force
F 𝑇 Tangential Force
𝜌 Density
𝑆 Wing planform area
𝐶 𝐿 𝑚𝑖𝑛
Minimum lift coefficient
𝑛 Load Factor
𝑈 𝑑𝑒 Gust velocity
𝑑𝐶𝑙
𝑑𝛼
Lift-curve slope
XFLR5 Data
alpha CL CD CDp Cm Top Xtr Bot Xtr Cpmin Chinge XCp
-3 -0.1101 0.00571 0.00109 -0.0564 0.566 0.0683 -1.3712 0 -0.2754
-2 0.0148 0.00554 0.00089 -0.0564 0.5102 0.1066 -0.9331 0 4.103
-1 0.1397 0.00537 0.00078 -0.0566 0.4667 0.164 -0.602 0 0.6565
0 0.2643 0.00524 0.00075 -0.0568 0.4222 0.2408 -0.6228 0 0.4637
1 0.3886 0.00519 0.00081 -0.0571 0.3807 0.334 -0.7386 0 0.3943
2 0.5108 0.00525 0.00099 -0.057 0.3143 0.4722 -0.8833 0 0.358
3 0.6312 0.00553 0.00132 -0.0565 0.2363 0.6142 -1.1023 0 0.335
4 0.7503 0.00605 0.00184 -0.0554 0.1553 0.7463 -1.45 0 0.3185
5 0.8666 0.00668 0.00252 -0.0534 0.0849 0.8916 -1.9206 0 0.3054
6 0.9804 0.0074 0.00327 -0.0502 0.0488 0.9879 -2.5224 0 0.2939
7 1.1112 0.00836 0.00412 -0.0503 0.0284 1 -3.2821 0 0.2868
8 1.2281 0.00933 0.00506 -0.047 0.0188 1 -4.2232 0 0.2784
9 1.3441 0.01047 0.00621 -0.0429 0.0138 1 -5.3027 0 0.2706
10 1.4586 0.0117 0.00752 -0.038 0.0116 1 -6.5163 0 0.2631
11 1.5622 0.01342 0.00934 -0.0308 0.008 1 -7.8095 0 0.255
12 1.639 0.01574 0.01193 -0.0192 0.0068 1 -9.1836 0 0.245
13 1.7022 0.01925 0.01574 -0.0076 0.0067 1
-
10.6801 0 0.2357
14 1.7411 0.02525 0.02213 0.0027 0.0064 1
-
12.0772 0 0.2274
15 1.7406 0.03617 0.03351 0.0088 0.006 1
-
13.0907 0 0.2214
55
Validation
Geometric Properties of the Airfoil
For the centroid and moment of inertia calculations, the MATLAB code was compared to
values outputted by Excel. Initially the airfoil was assumed to only have spars with no stringers
seen below The methodology for calculating these values are described in the centroid and area
moment of inertias section. Calculations began with the spars set as I-beams with arbitrarily set
dimensions and fixed locations on the airfoil. Then the airfoil skin properties was calculated
separately, then the moment of inertias were added together for the total area moment of inertia.
Below are the comparisons between Excel and MATLAB outputs.
Table
The slight difference in values can be attributed to different significant figures when running
through the calculation.
Structure Loading
To check the structure loading code, the wing was analyzed at a load factor of 1 while at
cruise. Under these conditions, the lift of the wing must equal the aircraft weight. Assuming the
wings are the sole contributor to lift with the tail’s lift only meant for stability, one wing should
56
carry half the weight. Using the methodology described in the report, the total lift was calculated
from the lift distribution and was found to equal half the aircraft weight. The same methodology
was used for shears to moments and also deflections.
Bending Stress
Bending stress code was validated by comparing hand calculations with the MATLAB
code. A sample calculation is shown below, but multiple points were tested and verified.
𝜎𝑧𝑧 =
𝑀 𝑦 𝐼𝑥𝑥 − 𝑀 𝑥 𝐼𝑥𝑦
𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦
2
𝑥 +
𝑀 𝑥 𝐼 𝑦𝑦 − 𝑀 𝑦 𝐼𝑥𝑦
𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦
2
𝑦
𝐼𝑥𝑥 = 2.04 ∗ 10−5
𝐼 𝑦𝑦 = 6.02 ∗ 10−5
𝐼𝑥𝑦 = 9.23 ∗ 10−4
𝜎𝑧𝑧 =
(−401 .56 𝑁𝑚) 𝐼𝑥𝑥−(−51517𝑁𝑚) 𝐼𝑥𝑦
𝐼𝑥𝑥 𝐼 𝑦𝑦 −𝐼𝑥𝑦
2 (0.3599𝑚) +
(−51517𝑁𝑚) 𝐼 𝑦𝑦 −(−401.56𝑁𝑚) 𝐼𝑥𝑦
𝐼𝑥𝑥 𝐼 𝑦𝑦 −𝐼𝑥𝑦
2 (0.0309𝑚) = -
154 MPa
MATLAB = 156 MPa
The difference can be attributed to significant figures.
Shear Flow
Shear flow code is validated by using it to calculate example question 5.9 from the Sun’s
textbook.
57
In this example question, a force of magnitude 4800N is applied at node one and the
geometry of the structure is shown above. The result in shown in the book and calculated from
the matlab code is tabulated below:
Textbookanswer Matlab answer
q_b q q_b q
6=1 (cut) 0 -36.47 6=1 -100 -36.47
1=2 -20 -56.47 1=2 -120 -56.47
2=3 0 -36.47 2=3 -100 -36.47
3=4 0 -43.53 3=4 -60 -43.53
4=5 60 16.47 4=5 (cut) 0 16.47
5=6 (cut) 0 -43.53 5=6 -60 -43.53
6=3 -40 -47.06 6=3 (cut) 0 -47.06
q1 -36.47 63.53
q2 -43.53 16.47
The answer from the textbook and the matlab code are identical, so it can be concluded
that the code is valid.
Buckling
The buckling equations were done in excel similarly to the centroid and area moment of
inertias. The comparison is shown below
critical buckling
(MPa) Excel MATLAB
stringer 354.5 354.8217
skin,compressive 301.479 303.479
skin,shear 112.631 111.9543
spar 1 10200 10238
spar 2 10200 10200
Fracture/Fatigue
58
Fracture and Fatigue codes were compared with hand calculations. The sample
calculation is shown below showing the process with the answers from the CDR when another
aluminum was being used.
Aluminum2023-T3
a = 0.0025
m = 3.59
C = 1.6e-11
KIC= 34
𝐾𝐼 = 𝜎∞√ 𝜋𝑎 = 160 ∗ √𝜋 ∗ 0.0025
𝑎𝑓 =
1
𝜋
(
𝐾𝐼𝐶
𝜎 𝑚𝑎𝑥
)2
=
1
𝜋
(
34
160
)2
= 0.01437 𝑚
1 −
𝑚
2
= 1 −
3.59
2
= −0.795
𝑁 =
𝑎𝑓
(1− 𝑚
2⁄ )
− 𝑎𝑖
(1− 𝑚
2⁄ )
(1 − 𝑚
2⁄ )𝐶(𝜎 𝑚𝑎𝑥√ 𝜋) 𝑚
=
0.01437(−0.795 )
− 0.0025(−0.795)
(−0.795)(1.6 ∗ 10−11 )(160√ 𝜋)3.59
= 10829.8 𝑐𝑦𝑐𝑙𝑒𝑠
Wing Divergence
Wing divergence was also validated through basic hand calculations. A sample
calculation is shown below.
K = 1.9947e5
S = 7.7764 𝑚2
Ρ = 1.225
𝑘𝑔
𝑚3
ec = 0.0965 m
𝜕𝐶𝑙
𝜕𝛼
= 6.87
𝑉𝑑 = √
2𝐾
𝜌𝑆𝑒𝑐
𝜕𝐶𝑙
𝜕𝛼
= √
2∗1.9948∗105
1.225∗7.7764∗0.1265∗6.87
= 264.34214
59
28. References
[1] Regulations, Federal Aviation. "Part 23 - Airworthiness Standards: Normal." Utility,
Acrobatic and Commuter Category Airplanes (1996).
[2] Lancair. Docs: Legacy. [http://www.lancair.com/support/docs-legacy/]
[3] Megson, Thomas Henry Gordon. Aircraft structures for engineering students. Elsevier,
2012.
[4] Sun, C.T. Mechanics of Aircraft Structures. John Wiley & Sons, Inc.
[5] Abbott, I.H., von Doenhoff, A.E. Theory of Wing Sections, Dover, 1959
[6] Lombard, Albert E. An Investigation of the Conditions for the Occurrence of Flutter in
Aircraft and the Development of Criteria for the Prediction and Elimination of such Flutter
(Doctoral dissertation), 1939.
60
29. MATLAB Code
Optimization
%%%% READ ME:
%%%% When the code completes, a data file will be saved containing all the
%%%% variables used during the optimization. I'll make a list of the
%%%% important ones below
%%%% NOTE: ALL COMPRESSIVE STRESSES ARE NEGATIVE, MUST RE-ORIENT THEM TO BE
%%%% POSITIVE FOR FINAL REPORT AND FIGURES
% weight = weight of the wing
% t_sk = skin thickness
%
% t_st = stringer thickness
% L1_st = length of stringer top
% L2_st = length of stringer mid
% L3_st = length of stringer base
%
% t_sp = spar thickness
% L4_sp1 = length of spar top
% L5_sp1 = length of spar mid
% L6_sp1 = length of spar base
%
% n_r = number of ribs in one wing
% R = rib spacing
%
% sigma_skU & sigma_skL = skin critical buckling stress (compression) upper &
lower surface
% sigma_sp1 & sigma_sp2 = spar critical buckling stress
% sigma_st = stringer critical buckling stress
% sigmae = von mises stress
%
% max_bending_stress = maximum compressive stress skin
% max_stress_str = maximum compressive stress stringer
% max_spar# = maximum compressive stress spar
%
% a = initial crack size
% af = final crack size
% KI = stress intensity factor
% N = cycles till fatigue
close all
clear all
clc
rng('shuffle')
bool = 0;
count = 0;
iter = 1000;
W_min = 2500; %N
rho_sea = 1.225; %kg/m^3
rho_cruise = 0.9652; %kg/m^3
vc = 123.383; %cruise velocity m/s
vd = 185.07; %dive velocity m/s
61
h = waitbar(0, 'Processing...',
'CreateCancelBtn','setappdata(gcbf,''canceling'',1)');
setappdata(h,'canceling', 0)
n = [-3.69 -2.5186 4.5186 5.6915 -3.8377 -2.6283 4.6283 5.8377]; % loading
conditions from VN Diagram
V = [vc vd vd vc vc vd vd vc]; % velocities from VN Diagram [m/s]
rho_air = [rho_sea*ones(1,4) rho_cruise*ones(1,4)]; % air density [kg/m^3]
while count < iter
if getappdata(h,'canceling')
break
end
%% constants
% W_min = 453.592; %N
% rho_sea = 1.225; %kg/m^3
% rho_cruise = 0.9652; %kg/m^3
% vc = 123.383; %cruise velocity m/s
% vd = 185.07; %dive velocity m/s
% Cl_a_sea = 6.58;
% Cl_a_cruise = 6.87;
% n = [-3.69 -2.5186 4.5186 5.6915 -3.8377 -2.6283 4.6283 5.8377];
% V = [vc vd vd vc vc vd vd vc];
% rho_air = [rho_sea*ones(1,4) rho_cruise*ones(1,4)];
NACA = csvread('NACA2412.dat');
b = 7.7724; % span m
c = 0.986116; % chord m
NACA = NACA*c; % airfoil profile
g = 9.8;
Cl_a_sea = 6.58;
Cl_a_cruise = 6.87;
%% Material Properties Aluminum 2024-T4
% Aluminum 6061-T6 original, Tensile yield too low
% E = 73.1e9; %Pa
% G = 26.91e9;
% v = 0.33;
% rho = 2700;
% sigma_yield = 276; % [MPa]
E = 73.1e9; % Young's Modulus
G = 28e9; % Shear Modulus [Pa]
v = 0.33; % Poisson ratio
rho = 2780; % density [kg/m^3]
sigma_yield = 324; % Tensile yield strength [MPa]
FOS = 1.5; % factor of safety
%% Component Dimensions
t_sk_max = 0.003;
t_sk_min = 0.002;
t_sp_max = 0.005;
62
t_sp_min = 0.002;
t_st_max = 0.004;
t_st_min = 0.002;
%A_sc_max = 1.5e-4;
%A_sc_min = 0.5e-5;
t_sk = t_sk_min + (t_sk_max - t_sk_min)*rand;
t_sp = t_sp_min + (t_sp_max - t_sp_min)*rand;
t_st = t_st_min + (t_st_max - t_st_min)*rand;
%A_sc = A_sc_min + (A_sc_max - A_sc_min)*rand;
% stringer geometry
% Z stringers
%---L1---|
% |L2
% |
% |---L3---
L1_max = 0.025; L1_min = 0.015;
L2_max = 0.035; L2_min = 0.013;
L3_max = 0.025; L3_min = 0.015;
L1_st = L1_max + (L1_max-L1_min)*rand;
L2_st = L2_max + (L2_max-L2_min)*rand;
L3_st = L3_max + (L3_max-L3_min)*rand;
%A_st = t_st * (L1_st+L2_st+L3_st)
% spar geometry
% I beams
% Spars
% ----L4-----
% |
% |L5
% |
% ----L6-----
L4_max = 0.025; L4_min = 0.015;
%L5_max = 0.035; L5_min = 0.013;
L6_max = 0.025; L6_min = 0.015;
L4_sp1 = L4_max + (L4_max-L4_min)*rand;
L5_sp1 = .1198;
L6_sp1 = L6_max + (L6_max-L6_min)*rand;
L4_sp2 = L4_sp1;
L5_sp2 = 0.06;
L6_sp2 = L6_sp1;
% Ribs
R_min = 0.11;
R_max = 0.15;
R = R_min+(R_max-R_min)*rand;
%R = 0.13;
t_rib = 0.0125;
n_r = floor(b/(2*R));
63
% Centroid, Moment of Inertia
[xbar,ybar,x,y,Ixx,Iyy,Ixy,A_st,A_sp1,A_sp1_cp,A_sp2,A_sp2_cp,A_rib,stringX,s
tringY,n_st,sp_cpX,sp_cpY] = find_prop(NACA,t_sk,t_st,L1_st,L2_st,L3_st,t_sp,
L4_sp1,L5_sp1,L6_sp1,L4_sp2,L5_sp2,L6_sp2);
% Wing Weight
[weight,w_skin,w_sp1,w_sp2,w_st,w_rib] =
find_wing_weight(NACA,A_st,A_sp1,A_sp2,A_rib,t_rib,t_sk,b,rho,n_r,n_st);
for ii = 1: length(n)
% find shear forces, moments, max stress
[My,Mx,Sy,Sx,wy,wx,defly,deflx,max_bending_stress,lift,stress] =
find_shear_moments(x,y,n(ii),b,V(ii),rho_air(ii),Ixx,Iyy,Ixy);
% buckling
[sigma_pl, sigma_cr,
sigma_sp1,sigma_sp2,sigma_st,sigma_skU,sigma_skSU,sigma_skU_array] =
find_buckling(E,v,R,stringX,stringY,t_sk,t_st,L1_st,L2_st,L3_st,Ixx,A_st,A_sp
1_cp,A_sp2_cp);
% shear stresses
[q_o1, q_o2, max_shear_stress, torque, twist_angle, x_sc, sigmae] =
find_shear(c,G,Ixx,Iyy,Ixy,Sx,Sy,Mx,My,xbar,ybar,A_st,t_sk,stringX,stringY,sp
_cpX,sp_cpY);
% max stresses
[max_stress_str, stringer_stress_array] =
find_max_stress('stringer',Ixx,Iyy,Ixy,My(1),Mx(1),stringX,stringY,sp_cpX,sp_
cpY);
[max_stress_sp1] =
find_max_stress('spar1',Ixx,Iyy,Ixy,My(1),Mx(1),stringX,stringY,sp_cpX,sp_cpY
);
[max_stress_sp2] = find_max_stress('spar2',Ixx,Iyy,Ixy,My(1),Mx(1),
stringX,stringY,sp_cpX,sp_cpY);
% fracture/fatigue
KIC = 26; % MPA*m^0.5
a = 0.001;
KI = -max_bending_stress*sqrt(a*pi);
if KI > KIC
bool_crack = 0;
else
bool_crack = 1;
end
af = (1/pi)*(KIC/-max_bending_stress)^2;
C = 3.7086e-12; m = 4.1908; const = 1-m/2;
N = (af^const - a^const)/(const * C * (-max_bending_stress * pi)^2);
% wing divergence
[v_diverge] = find_divergence(rho_air(ii),b,x_sc,twist_angle,torque,
lift,Cl_a_sea);
64
if 1.2*V(2) > v_diverge
bool_divergence = 0;
else
bool_divergence = 1;
end
% check failure
bool_skin = sigma_skU/FOS > abs(max_bending_stress);
bool_skin_shear = sigma_skSU/FOS > abs(max_shear_stress);
bool_spar1 = sigma_sp1/FOS > abs(max_stress_sp1);
bool_spar2 = sigma_sp2/FOS > abs(max_stress_sp2);
bool_st = sigma_st/FOS > abs(max_stress_str);
bool_von_mises = min(sigma_yield/FOS > sigmae);
if mean(bool_skin) == 1 && mean(bool_skin_shear) == 1 &&
mean(bool_spar1) == 1 && ...
mean(bool_spar2) == 1 && mean(bool_st) == 1 && bool_crack ==
1 && bool_divergence == 1 && bool_von_mises == 1
bool_cases(ii) = 1;
else
bool_cases(ii) = 0;
end
end
if weight < W_min && mean(bool_cases) == 1
W_min = weight;
save optimized_data_2
end
%save optimized_data_2
count = count + 1;
clearvars -except bool count iter W_min h n V rho_air
waitbar(count/iter);
end
delete(h)
65
Centroid, Moment of Inertia
function [centx, centy, x, y, Ixx, Iyy, Ixy,
A_st,A_sp1,A_sp1_cp,A_sp2,A_sp2_cp,A_rib,stringX,stringY,n_st,sp_cpX,sp_cpY]
= find_prop(M,t_sk,t_st,L1_st,L2_st,L3_st,t_sp,
L4_sp1,L5_sp1,L6_sp1,L4_sp2,L5_sp2,L6_sp2)
x = [];
y = [];
for ii = 1:162
y(ii) = M(ii,2)*0.986116;
x(ii) = M(ii,1)*0.986116;
if x(ii) > 0.74
x(ii) = 0; y(ii) = 0;
end
end
x(x==0)=[];
y(y==0)=[];
%add spar at 30% chord====at x = 0.3
xx = [];
yy = [];
for ii = 1:length(x)
a = y(ii);
b = x(ii);
if b < 0.3
xx(ii) = 0.3;
yy(ii) = a;
end
end
xx(xx==0)=[];
yy(yy==0)=[];
%add spar at 75% of chord===at x = 0.7396
yyy = y(1):-0.002:y(length(y))-0.001;
xxx = ones(length(yyy),1)' * 0.7396;
%centroid calculation
Ax = [];
Ay = [];
A = [];
for ii = 1:length(x)-1
b = sqrt((x(ii+1) - x(ii))^2+(y(ii+1)-y(ii))^2);
A(ii) = t_sk*b;
Ax(ii) = A(ii) * x(ii);
Ay(ii) = A(ii) * y(ii);
end
% Z stringers
%---L1---|
% |L2
% |
% |---L3---
% stringer placement
% ranges
66
q1 = 5; q2 = 9; % index separation
q3 = 8; q4 = 12; % separate index separation to avoid stringer cluster at LE
d_st1 = 2; d_st3 = 4; % inital index
n_st1 = 12; n_st3 = 15; % number of stringers
% set parameters
st = floor(d_st1 + (d_st3-d_st1)*rand);
n_st = floor(n_st1 + (n_st3-n_st1)*rand);
stringX = []; stringY = [];
stringX(1) = x(st); stringY(1) = y(st);
count = 0;
while count < n_st
q = floor(q1 + (q2-q1)*rand);
qo = floor(q3 + (q4-q3)*rand);
%q = 8; qo = 14;
if st+q < length(x) && x(st+q) > 0.23
stringX(count+2) = x(st+q); stringY(count+2) = y(st+q);
st = st + q;
if st+q == 23 || st+q == 24 || st+q == 25
stringX(count+2) = x(22); stringY(count+2) = y(22); st = 22;
elseif st+q == 82 || st+q == 83 || st+q == 84
stringX(count+2) = x(81); stringY(count+2) = y(81); st = 81;
end
elseif st+q < length(x) && x(st+q) < 0.23
stringX(count+2) = x(st+qo); stringY(count+2) = y(st+qo);
st = st + qo;
if st+qo == 23 || st+qo == 24 || st+qo == 25
stringX(count+2) = x(26); stringY(count+2) = y(26); st = 26;
elseif st+qo == 82 || st+qo == 83 || st+qo == 84
stringX(count+2) = x(81); stringY(count+2) = y(81); st = 81;
end
else
break
end
count = count + 1;
end
n_st = length(stringX);
%t_st = 0.005; %stringer thickness [m]
%L1_st = 0.01; L2_st = 0.02-2*t_st; L3_st = 0.01; %dimensions [m]
str = [L1_st L2_st L3_st]; %format the function takes
[A_st, Ixx_st, Iyy_st, Ixy_st] =
find_moment_inertia('stringer',str,t_st);%cross section area
A_st_total = A_st * length(stringX);
Ax_st = A_st*stringX;
Ay_st = A_st*stringY;
Ax_st = sum(Ax_st); Ay_st = sum(Ay_st);
67
% Spars
% ----L4-----
% |
% |L5
% |
% ----L6-----
%First spar
%t_sp = 0.0125; %spar thickness
%L4_sp1 = 0.05; L5_sp1 = 0.1192-2*t_sp; L6_sp1 = 0.05; %dimensions[m]
spr1 = [L4_sp1 L5_sp1 L6_sp1];
[A_sp1, Ixx_sp1, Iyy_sp1, Ixy_sp1] =
find_moment_inertia('spar',spr1,t_sp);%cross section area
%Second spar
%L4_sp2 = 0.05; L5_sp2 = 0.06-2*t_sp; L6_sp2 = 0.05;
spr2 = [L4_sp2 L5_sp2 L6_sp2];
[A_sp2, Ixx_sp2, Iyy_sp2, Ixy_sp2] = find_moment_inertia('spar',spr2,t_sp);
%spar centroid coordinates
spar1 = [0.3 (-0.0406+L5_sp1/2)];
spar2 = [0.7396 (-0.0206+L5_sp2/2)];
%spar cap coordinates
sp_cpX = [xxx(1) xx(1) xx(1) xxx(1)];
sp_cpY = [yyy(1) yy(1) yy(length(yy)) yyy(length(yyy))];
%centroid coordinates
centx = (sum(Ax)+(A_sp1*spar1(1))+(A_sp2*spar2(1))+Ax_st)/...
(sum(A)+A_sp1+A_sp2+A_st_total);
centy = (sum(Ay)+(A_sp1*spar1(2))+(A_sp2*spar2(2))+Ay_st)/...
(sum(A)+A_sp1+A_sp2+A_st_total);
%translate centroid of airfoil to origin
x = x-centx; y = y-centy;
xx = xx - centx; yy = yy - centy;
xxx = xxx - centx; yyy = yyy - centy;
airfoil = [x;y];
[A_rib, Ixxa, Iyya, Ixya] = find_moment_inertia('airfoil',airfoil,t_sk);
stringX = stringX-centx; stringY = stringY-centy;
sparX = [spar1(1) spar2(1)]-centx; sparY = [spar1(2) spar2(2)]-centy;
sp_cpX = sp_cpX - centx; sp_cpY = sp_cpY - centy;
%parallel axis theorem for spars and stringers
%stringers
Ixx_st_array = Ixx_st + (A_st*stringY.*stringY);
Iyy_st_array = Iyy_st + (A_st*stringX.*stringX);
Ixy_st_array = Ixy_st + (A_st*stringX.*stringY);
%spar 1
68
Ixx_sp1 = Ixx_sp1 + A_sp1*spar1(2)^2;
Iyy_sp1 = Iyy_sp1 + A_sp1*spar1(1)^2;
Ixy_sp1 = A_sp1*spar1(2)*spar1(1);
%spar 2
Ixx_sp2 = Ixx_sp2 + A_sp2*spar2(2)^2;
Iyy_sp2 = Iyy_sp2 + A_sp2*spar2(1)^2;
Ixy_sp2 = A_sp2*spar2(2)*spar2(1);
Ixx = Ixxa + sum(Ixx_st_array) + Ixx_sp1 + Ixx_sp2;
Iyy = Iyya + sum(Iyy_st_array) + Iyy_sp1 + Iyy_sp2;
Ixy = Ixya + sum(Ixy_st_array) + Ixy_sp1 + Ixy_sp2;
A_sp1_cp = L4_sp1*t_sp; A_sp2_cp = L4_sp2*t_sp;
end
% X = [x xx xxx]; Y = [y yy yyy];
% plot(x,y,'b'); hold on; grid on
% plot(centx, centy, '*r')
% plot(stringX,stringY, '.g')
% plot(xx,yy,'.b'); plot(xxx,yyy,'.b');
% axis([-0.1 0.8 -0.25 0.25]);
% legend('wing model','centroid', 'stringers')
% xlabel('length(m)'); ylabel('length(m)');
69
Wing Weight
function [weight,w_skin,w_sp1,w_sp2,w_st,w_rib] =
find_wing_weight(M,A_st,A_sp1,A_sp2,A_rib,t_rib,t_skin,b,rho, n_r,n_st)
%Wing Weight
x = M(:,1);
y = M(:,2);
A = [];
for ii = 1:length(x)-1
dist = sqrt((x(ii+1) - x(ii))^2+(y(ii+1)-y(ii))^2);
A(ii) = t_skin* dist;
end
V_skin = sum(A)* (b/2);
w_skin = V_skin * rho;
%spars
%First spar
V_sp1 = A_sp1*(b/2); V_sp2 = A_sp2*(b/2);
w_sp1 = V_sp1*rho; w_sp2 = V_sp2*rho;
%stringers
V_st = A_st * (b/2);
w_st = n_st* V_st * rho; %14 stringers of equal dimensions
%ribs
V_rib = A_rib * t_rib;
w_rib = n_r*V_rib*rho;
weight = (w_skin + w_sp1 + w_sp2 + w_st + w_rib) * 9.8;
end
70
Aerodyanmic Forces and Moments
function [My,Mx,Sy,Sx,wy,wx,defly,deflx,max_bending_stress,Force,stress] =
find_shear_moments(x,y,n,b,V,rho,Ixx,Iyy,Ixy)
%%%%% Constants needed SI units
%m
E = 73.1e9;
e = 0.79;
W = 997.903*0.5*9.8; %N
S = 7.664487; %m^2
AR = (b*b)/S;
%rho = 1.225; %sea level
%rho_8000 = 0.0018728;
%%%%% Lift and Drag Calc
Cla = 6.58; %sea level
%Cla_8000 = 6.87;
CL = (2*W)/(rho*S*V*V);
alpha = CL*(AR+2)/(AR*Cla);
CD0 = 0.01069;
CD = CD0 + (CL*CL)/(pi*e*AR);
drag = 0.5*rho*S*V*V*CD;
%%% Lift
dz = 0.01;
z = 0:dz:b/2;
l_dist = ((1-(2*z/b).^2).^0.5);
l_dist = l_dist/(sum(l_dist)*dz);
l_dist = l_dist * (n*W); % Elliptical Distribution
l_rect = ones(1,length(z));
l_rect = l_rect * (n*(W/(b/2)));% Uniform Distribution
lift = mean([l_dist; l_rect],1);% Averaged lift distribution
%%% Drag
d_dist = ones(1,length(z));
u = floor(.8*length(z));
d_dist(u:end) = 1.2;
dint = sum(d_dist)*dz;
drag = drag*d_dist/dint;
%%% Lift Distribution
%E = 73.1e9; %N/m^2
% Ixx = 0.000008478233; %m^4
% Iyy = 0.00137197407;
% Ixy = -0.00000119787;
wy = lift*cos(alpha) + drag*sin(alpha);
wx = -lift*sin(alpha) + drag*cos(alpha);
wy = fliplr(wy);
wx = fliplr(wx);
Force = trapz(z,wy);
71
a = []; aa = [];
Sy = [];
Sx = [];
for ii = 1:length(z)
a(ii) = wy(ii) * -dz;
aa(ii) = wx(ii) * -dz;
Sy(ii) = sum(a);
Sx(ii) = sum(aa);
end
Moment = -trapz(z,Sy);
b = []; bb = [];
My = [];
Mx = [];
for ii = 1:length(z)
b(ii) = Sy(ii) * dz;
bb(ii) = Sx(ii) * dz;
My(ii) = sum(bb);
Mx(ii) = sum(b);
end
%%% Bending Calc
stress = [];
for ii = 1:length(z)
for i = 1:length(x)
stress(ii,i) = ((((My(ii)*Ixx)-(Mx(ii)*Ixy))*x(i)) +...
(((Mx(ii)*Iyy)-(My(ii)*Ixy))*y(i)))/(Ixx*Iyy - Ixy*Ixy);
end
end
stress = stress*10^-6;
max_bending_stress = min(min(stress)); %[MPA]
% [g h] = ind2sub(size(stress),find(stress==max_bending_stress))
%%%%%%%%%%%%%%%%%%%%%%%%% Reorienting so that origin is at root chord
wy = fliplr(wy); wx = fliplr(wx);
Sy = fliplr(Sy); Sx = fliplr(Sx);
My = fliplr(My); Mx = fliplr(Mx);
%%% Deflection
deflx2 = (-My*Ixx + Mx*Ixy)/(E*(Ixx*Iyy-Ixy*Ixy));
defly2 = (-Mx*Iyy + My*Ixy)/(E*(Ixx*Iyy-Ixy*Ixy));
c = []; cc = [];
defly1 = [];
deflx1 = [];
for ii = 1:length(z)
c(ii) = defly2(ii) * dz;
cc(ii) = deflx2(ii) * dz;
defly1(ii) = sum(c);
deflx1(ii) = sum(cc);
end
d = []; dd = [];
defly = [];
72
deflx = [];
for ii = 1:length(z)
d(ii) = defly1(ii) * dz;
dd(ii) = deflx1(ii) * dz;
defly(ii) = sum(d);
deflx(ii) = sum(dd);
end
end
73
Buckling
function [sigma_pl, sigma_cr,
sigma_sp1,sigma_sp2,sigma_st,sigma_skU,sigma_skSU,sigma_skU_array] =
find_buckling(E,v,R,stringX,stringY,t_sk,t_st,L1_st,L2_st,L3_st,Ixx,A_st,A_sp
1_cp,A_sp2_cp)
K = 1; %Effective length factor
%separating out each individual plate
d_U = zeros(1, length(stringX)-1);
%d_L = zeros(1, length(stringLx)-1);
for ii = 1:length(stringX)-1
d_U(ii) = sqrt((stringX(ii+1) - stringX(ii))^2 + ...
(stringY(ii+1) - stringY(ii))^2);
end
% % Z stringers
% %---L1---|
% % |L2
% % |
% % |---L3---
%
% str = [L1_st L2_st L3_st t_st];
% [A_st, Ixx_st, Iyy_st, Ixy_st] = find_moment_inertia('stringer',str);
%
% % Spars
% % ----L4-----
% % |
% % |L5
% % |
% % ----L6-----
%
% %spar 1
% sp1 = [L4_sp1 L5_sp1 L6_sp1 t_sp];
% [A_sp1, Ixx_sp1, Iyy_sp1, Ixy_sp1] = find_moment_inertia('spar',sp1);
%
% %spar 2
% sp2 = [L4_sp2 L5_sp2 L6_sp2 t_sp];
% [A_sp2, Ixx_sp2, Iyy_sp2, Ixy_sp2] = find_moment_inertia('spar',sp2);
% Spar column buckling
sigma_sp1 = ((pi*pi*E*Ixx)/(K*R*R*A_sp1_cp))*1e-6; %[MPA]
sigma_sp2 = ((pi*pi*E*Ixx)/(K*R*R*A_sp2_cp))*1e-6; %[MPA]
% Stringer plate buckling
a = R; b1 = L1_st; b2 = L2_st; b3 = L3_st; %rib and stringer spacing
k = .43; % from graph pg 172 megson for top and bottom plate
k_m = 4; % for middle plate
%eff = 1; % assuming elastic buckling
%%% Top and Bottom plate
sigma_t = ((k*E*pi^2)/(12*(1-v^2)))*(t_st/b1)^2;
sigma_b = ((k*E*pi^2)/(12*(1-v^2)))*(t_st/b3)^2;
%%% Middle Plate
74
sigma_m = ((k_m*E*pi^2)/(12*(1-v^2)))*(t_st/b2)^2;
%%% Weighted Average
sigma_pl = ((t_st*sigma_m + L1_st*sigma_t +
L3_st*sigma_b)/(t_st+L3_st+L1_st))*1e-6;
% Stringer column buckling
sigma_cr = ((pi*pi*E*Ixx)/(K*R*R*A_st))*1e-6; %[MPA]
sigma_st = (min(sigma_pl,min(sigma_cr))); %[MPA]
% Skin Plate Buckling
k = 4.1; %a/b ~ 1
sigma_skU = zeros(1,length(d_U));
%sigma_skL = zeros(1,length(d_L));
for ii = 1:length(d_U)
sigma_skU(ii) = ((k*E*pi^2)/(12*(1-v^2)))*(t_sk/d_U(ii))^2;
end
% for ii = 1:length(d_L)
% sigma_skL(ii) = ((k*E*pi^2)/(12*(1-v^2)))*(t_sk/d_L(ii))^2;
% end
sigma_skU_array = sigma_skU*1e-6;
sigma_skU = max(sigma_skU)*1e-6;
%sigma_skL = min(sigma_skL)*1e-6;
% Skin Plate Shear Buckling
k1 = 10; %a/b ~ 5
sigma_skSU = zeros(1,length(d_U));
%sigma_skSL = zeros(1,length(d_L));
for ii = 1:length(d_U)
sigma_skSU(ii) = ((k1*E*pi^2)/(12*(1-v^2)))*(t_sk/d_U(ii))^2;
end
% for ii = 1:length(d_L)
% sigma_skSL(ii) = ((k1*E*pi^2)/(12*(1-v^2)))*(t_sk/d_L(ii))^2;
% end
sigma_skSU = min(sigma_skSU)*1e-6;
%sigma_skSL = min(sigma_skSL)*1e-6;
end
75
Shear Stresses
function [q_o1, q_o2,max_shear_stress, Torque, twist_angle, x_sc,
sigmae,i_sp1u,i_sp1l,i_sp2u,i_sp2l,x_boom,y_boom] =
find_shear(c,G,Ixx,Iyy,Ixy,Sx,Sy,Mx,My,x_cent,y_cent,A_st,t_skin,stringX,stri
ngY,sp_cpx,sp_cpy)
%airfoil shape
NACA_number = '2412';
Mi = str2double(NACA_number(1));
Pi = str2double(NACA_number(2));
Ti = str2double(NACA_number(3:4));
gridPts = 500;
M = Mi/100*c;
P = Pi/10*c;
T = Ti/100*c;
stringX = stringX + x_cent;
stringY = stringY + y_cent;
sp_cpx = sp_cpx + x_cent;
sp_cpy = sp_cpy + y_cent;
xc = linspace(0,c,gridPts)';
yc = ones(gridPts,1);
dyc_dx = ones(gridPts,1);
theta = ones(gridPts,1);
for i=1:1:gridPts;
if (xc(i) >= 0 && xc(i) < P)
yc(i) = (M/P^2)*((2*P*xc(i))-xc(i)^2);
dyc_dx(i) = ((2*M)/(P^2))*(P-xc(i));
elseif (xc(i) >= P && xc(i) <= c)
yc(i) = (M/(1-P)^2)*(1-(2*P)+(2*P*xc(i))-(xc(i)^2));
dyc_dx(i) = ((2*M)/((1-P)^2))*(P-xc(i));
end
theta(i) = atan(dyc_dx(i));
end
%thickness
yt = ones(gridPts,1);
for i = 1:1:gridPts
yt(i) = 5*T*(0.2969*sqrt(xc(i)/c)-0.1260*(xc(i)/c)-
0.3516*(xc(i)/c)^2+0.2843*(xc(i)/c)^3-0.1015*(xc(i)/c)^4);
end
%upper
xu = ones(gridPts,1);
yu = ones(gridPts,1);
for i = 1:1:gridPts
xu(i) = xc(i) - yt(i)*sin(theta(i));
yu(i) = yc(i) + yt(i)*cos(theta(i));
end
%lower
xl = ones(gridPts,1);
yl = ones(gridPts,1);
76
for i = 1:1:gridPts
xl(i) = xc(i) + yt(i)*sin(theta(i));
yl(i) = yc(i) - yt(i)*cos(theta(i));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%spar and stringer location
%stringers varying in position
%x_sp = [0.3; 0.74];
x_ac = 0.25;
%creating array with stringer and spar cap coordinates
x_boom = zeros(length(stringX)+4,1);
y_boom = zeros(length(stringY)+4,1);
num_boom = length(x_boom);
x_boom(1) = sp_cpx(1); x_boom(num_boom) = sp_cpx(4);
y_boom(1) = sp_cpy(1); y_boom(num_boom) = sp_cpy(4);
count = 1;
n = 1;
while count < length(stringX)
x_boom(count+n) = stringX(count);
y_boom(count+n) = stringY(count);
if stringX(count) > sp_cpx(2) && stringX(count+1) < sp_cpx(2) && count <
num_boom/2
x_boom(count+n) = stringX(count);
y_boom(count+n) = stringY(count);
n = n+1;
x_boom(count+n) = sp_cpx(2);
y_boom(count+n) = sp_cpy(2);
elseif stringX(count) < sp_cpx(3) && stringX(count+1) > sp_cpx(3)
x_boom(count+n) = stringX(count);
y_boom(count+n) = stringY(count);
n = n+1;
x_boom(count+n) = sp_cpx(3);
y_boom(count+n) = sp_cpy(3);
elseif count == length(stringX) - 1
x_boom(count+n+1) = stringX(count +1);
end
count = count +1;
end
i_sp2u = 1; i_sp2l = num_boom;
i_sp1u = 0; i_sp1l = 0;
%x_spar_cap = 0.3;
count = 1;
for ii = 1:num_boom
if x_boom(ii) == sp_cpx(2) && count < num_boom/2
i_sp1u = count;
elseif x_boom(ii) == sp_cpx(3) && count > num_boom/2
i_sp1l = count;
end
77
count = count +1;
end
x_boom = x_boom'; y_boom = y_boom';
%v is the x-location of stringer nearest to leading edge
[g v] = find(x_boom == min(x_boom));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%% no idea what's going on here
index =zeros (num_boom, 1);
% gridPts = 500; xu = ones(gridPts,1);
% for ii = 1:num_boom
% k = find(abs(xu-x_boom(ii))<0.001);
% index(ii) = k;
% end
for ii=1:1:min(v)
[u, k] = min(abs(xu-x_boom(ii)));
index(ii) = k;
end
for ii = min(v)+1:1:num_boom
[u, k] = min(abs(xl-x_boom(ii)));
index(ii) = k;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%structure idealization
%length between booms
l = zeros(num_boom,num_boom);
for ii = 1:1:num_boom
jj = ii+1;
if ii == 1
l(ii,jj) = sqrt((xu(index(jj))-xu(index(ii)))^2+(yu(index(jj))-
yu(index(ii)))^2);
l(jj,ii) = l(ii,jj);
elseif ii <= min(v) && ii > 1
l(ii,jj) = sqrt((xu(index(jj))-xu(index(ii)))^2+(yu(index(jj))-
yu(index(ii)))^2);
l(jj,ii) = l(ii,jj);
%upper half
elseif ii == min(v)
l(ii,jj) = sqrt((xl(ii)-xl(1))^2+(yl(index(ii))-
yl(1))^2)+sqrt((xu(index(ii))-xu(1))^2+(yu(index(ii))-yu(1))^2);
l(jj,ii) = l(ii,jj);
elseif ii > min(v) && ii < num_boom
l(ii,jj) = sqrt((xl(index(jj))-xl(index(ii)))^2+(yl(index(jj))-
yl(index(ii)))^2);
l(jj,ii) = l(ii,jj);
%lower half
end
78
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% How I calculate skin and spar length
% % length between each stringer including spar caps
% % starts from top right corner and goes counter-clockwise
% d_S = zeros(1, length(x_boom)-1);
% for ii = 1:length(x_boom)-1
% d_S(ii) = sqrt((x_boom(ii+1) - x_boom(ii))^2 + ...
% (y_boom(ii+1) - y_boom(ii))^2);
% end
%
% % spar1 is the spar closest to leading edge
% % Spar2 is the spar at the trailing edge
% spar1_length = abs(sp_cpx(1)) + abs(sp_cpx(2));
% spar2_length = abs(sp_cpx(2)) + abs(sp_cpx(3));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%spar length, need to be changed if the spar location/index is moved
l(i_sp1u,i_sp1l) = y_boom(i_sp1u) - y_boom(i_sp1l);
l(i_sp2u,i_sp2l) = y_boom(i_sp2u) - y_boom(i_sp2l);
l(i_sp1l,i_sp1u) = l(i_sp1u,i_sp1l);
l(i_sp2l,i_sp2u) = l(i_sp2u,i_sp2l);
div = Ixx*Iyy-Ixy^2;
%length(z)-1 corresponds to the middle between the root and the first rib
%max moment at the root and maximum shear right between ribs, so this is
%the critical value
%%%%%%%%%%%%% ?????????????????????????????????
sigmazz = zeros(num_boom,1); %bending loads at booms
for ii =1:1:num_boom
sigmazz(ii) = (My(2)*Ixx-Mx(2)*Ixy)/div*(x_boom(ii)-
x_cent)+(Mx(2)*Iyy-My(2)*Ixy)/div*(y_boom(ii)-y_cent);
end
%area of stringer and spars, dummy value for now
A_boom = zeros(num_boom, 1);
A_boom(:,1) = A_st; %stringer area
t_sk = zeros(num_boom, 1);
t_sk(:,1) = t_skin; %skin thickness
t_sp = [0.005, 0.005];
B = zeros(num_boom, num_boom);
for ii = 1:1:num_boom-1
jj = ii+1;
if ii == 1 || ii == min(v)+1;
79
B(ii,jj) =
A_boom(ii)+t_sk(ii).*l(ii,jj)/6*(2+sigmazz(ii+1)./sigmazz(ii));
elseif 1<ii<min(v) && min(v)+1<ii< num_boom
B(ii,jj) = A_boom(ii)+t_sk(ii).*l(ii-1,jj-1)/6*(2+sigmazz(ii-
1)./sigmazz(ii))+t_sk(ii).*l(ii,jj)/6*(2+sigmazz(ii+1)./sigmazz(ii));
else
B(ii,jj) = A_boom(ii)+t_sk(ii).*l(ii-1,jj-1)/6*(2+sigmazz(ii-
1)./sigmazz(ii));
end
end
%%
%cut on the spars
%open cell shear
%ccw
q_b= zeros(num_boom,num_boom);
k1 = -(Sx(2)*Ixx-Sy(2)*Ixy)/div;
k2 = -(Sy(2)*Iyy-Sx(2)*Ixy)/div;
for ii = 1:1:num_boom-1
jj = ii+1;
if ii == 1
q_b(ii,jj) = k1*B(ii,jj).*(x_boom(ii)-x_ac)+k2*B(ii,jj).*(y_boom(ii)-
y_cent);
else
q_b(ii,jj) = k1*B(ii,jj).*(x_boom(ii)-x_ac)+k2*B(ii,jj).*(y_boom(ii)-
y_cent)+q_b(ii-1,jj-1);
end
end
%%
% pure torsion shear
% 1 - between sp1 and sp2
% 2 - between LE and sp1
%ccw
A1=0;
A2=0;
for ii = 1:1:index(i_sp1u)
A2 = A2+abs(yu(ii)*(xc(ii+1)-xc(ii)));
end
for ii = index(i_sp1l):1:num_boom
A2 = A2+(yl(ii)*(xc(ii+1)-xc(ii)));
end
for ii = index(i_sp1u):1:index(i_sp2u)
A1 = A1+abs(yu(ii)*(xc(ii+1)-xc(ii)));
end
for ii = index(i_sp1l):1:index(i_sp2l)
A1 = A1+abs(yl(ii)*(xc(ii+1)-xc(ii)));
end
80
c1 = zeros(num_boom,1);
c2 = zeros(num_boom,1);
c3 = zeros(num_boom,1);
c4 = zeros(num_boom,1);
for ii = 1:1:i_sp1u-1
c1(ii) = (q_b(ii, ii+1))*l(ii,ii+1)/t_sk(ii);
c2(ii) = 0;
c3(ii) = l(ii,ii+1)/t_sk(ii);
end
for ii = i_sp1l:1:num_boom-1
c1(ii) = (q_b(ii, ii+1))*l(ii,ii+1)/t_sk(ii);
c2(ii) = 0;
c3(ii) = l(ii,ii+1)/t_sk(ii);
end
for ii = i_sp1u:1:i_sp1l-1
c2(ii) = (q_b(ii, ii+1))*l(ii,ii+1)/t_sk(ii);
c1(ii) = 0;
c4(ii) = l(ii,ii+1)/t_sk(ii);
end
const_1 = sum(c2)/A2-sum(c1)/A1;
const_3 = sum(c3)/A1;
const_4 = sum(c4)/A2;
% internal moment = external moment
% moment of Lift taken at center of pressure
int_mom = [];
beta = [];
f = [];
for ii = 1:1:(num_boom-1)
jj = ii+1;
dy = y_boom(jj)-y_boom(ii);
if 1<=ii<0.5*num_boom
dx = abs(x_boom(jj)-x_boom(ii));
else
dx = x_boom(jj)-x_boom(ii);
end
beta(ii) = atan(dy/dx);
int_mom(ii) = q_b(ii,jj)*l(ii,jj)*cos(beta(ii))*abs(y_boom(ii)-
y_cent)+q_b(ii,jj)*l(ii,jj)*sin(beta(ii))*abs(x_boom(ii)-x_ac);
end
% int_mom = int_mom + 2*A1*q_o1 + 2*A2*q_o2;
const_2 = sum(int_mom);
A = [(l(i_sp1u, i_sp1l)/(A2*t_sp(1))+l(i_sp1u, i_sp1l)/(A1*t_sp(1))+l(i_sp2u,
i_sp2l)/(A1*t_sp(2))+const_3) -(2*l(i_sp1u, i_sp1l)/(A2*t_sp(1))+const_4);-
2*A1 -2*A2];
qo = [];
qo = inv(A)*[const_1; const_2];
q_o1 = qo(1);
q_o2 = qo(2);
81
Torque = 2*A1*q_o1+2*A2*q_o2;
%torsion
twist_angle = 0;
for ii = i_sp1u:1:i_sp1l-1
twist_angle = twist_angle + (q_b(ii, ii+1)+q_o2)*l(ii,ii+1)/t_sk(ii);
end
twist_angle = twist_angle+(q_b(i_sp1l, i_sp1u)+(q_o2-q_o1))*l(i_sp1u,
i_sp1l)/t_sp(1);
twist_angle = twist_angle/(2*A2*G); % dtheta/dz [rad/m]
NA = -(Mx(2)*Iyy - My(2)*Ixy)/(My(2)*Ixx - Mx(2)*Ixy); % neutral axis,
yNA/xNA or tan(alpha)
%total shear
q = zeros(num_boom, num_boom);
for ii = 1:1:i_sp1u
q(ii, ii+1) = q_b(ii, ii+1)+q_o1;
end
for ii = i_sp1l:1:num_boom-1
q(ii, ii+1) = q_b(ii, ii+1)+q_o1;
end
for ii = i_sp1u:1:i_sp1l-1
q(ii, ii+1) = q_b(ii, ii+1)+q_o2;
end
q(i_sp1u, i_sp1l) = q_b(i_sp1u, i_sp1l) + q_o1-q_o2;
q(i_sp1l, i_sp1u) = -q(i_sp1u, i_sp1l);
q(i_sp2l, i_sp2u) = q_o1;
%shear stress
tau = zeros(num_boom, num_boom);
for ii = 1:1:num_boom-1
tau(ii, ii+1) = q(ii, ii+1)./t_sk(ii);
end
tau(i_sp1u, i_sp1l) = q(i_sp1u, i_sp1l)/t_sp(1);
tau(i_sp1l, i_sp1u) = -tau(i_sp1u, i_sp1l);
tau(i_sp2l, i_sp2u) = q(i_sp2l, i_sp2u)/t_sp(2);
max_shear_stress = max(max(tau))*1e-6;
%%
%shear center
% internal moment = external moment
% moment of Lift taken at center of pressure
csc_1 = sum(int_mom)-Sy(2)*x_ac;
csc_2 = sum(c1)/A1;
csc_3 = sum(c2)/A2;
A = [(l(i_sp2u,i_sp2l)/t_sp(2)+l(i_sp1u, i_sp1l)/(A1*t_sp(1)))+const_3 -
l(i_sp1u, i_sp1l)/(A2*t_sp(1)) 0; -l(i_sp1u, i_sp1l)/(A1*t_sp(1)) l(i_sp1u,
i_sp1l)/(A2*t_sp(1))+const_4 0; -2*A1 -2*A2 Sy(2)];
sol = [];
sol = inv(A)*[-csc_2; -csc_3; csc_1];
q01 = sol(1); q02 = sol(2); x_sc = sol(3);
%von mises
82
index_2 = [];
% mid point between stringers
for i = 1:1:num_boom-1
if i < 0.5*num_boom || 0.5*num_boom<i<=num_boom-1
index_2(i) = round((index(i)+index(i+1))/2);
else
index_2(i) = 0;
end
end
sigma33 = zeros(num_boom-1,1);
for ii =1:1:num_boom-1
if i < 0.5*num_boom
sigma33(ii) = (My(2)*Ixx-Mx(2)*Ixy)/div*(xu(index_2(ii))-
x_cent)+(Mx(2)*Iyy-My(2)*Ixy)/div*(yu(index_2(ii))-y_cent);
elseif i > 0.5*num_boom
sigma33(ii) = (My(2)*Ixx-Mx(2)*Ixy)/div*(xl(index_2(ii))-
x_cent)+(Mx(2)*Iyy-My(2)*Ixy)/div*(yl(index_2(ii))-y_cent);
else
sigma33(ii) = 0;
end
end
sigmae = [];
for ii = 1:1:num_boom-1
sigmae(ii) = 1/sqrt(2)*sqrt(2*sigma33(ii)^2+6*(tau(ii, ii+1))^2);
end
sigmae = sigmae*1e-6;
end
83
Max Stresses
function [max_stress,stress_str] = find_max_stress(q,Ixx,Iyy,Ixy,My,Mx,
stringX, stringY, sparX, sparY)
switch q
case 'stringer'
stress_str = zeros(length(stringX),1);
for i = 1:length(stringX)
stress_str(i) = (((((My*Ixx)-(Mx*Ixy))*stringX(i)) +...
(((Mx*Iyy)-(My*Ixy))*stringY(i)))*1e-6)/(Ixx*Iyy -
Ixy*Ixy);
end
max_stress = min(stress_str); %[MPA]
case 'spar1'
stress = ((((My*Ixx)-(Mx*Ixy))*sparX(2)) +...
(((Mx*Iyy)-(My*Ixy))*sparY(2)))/(Ixx*Iyy - Ixy*Ixy);
max_stress = stress*10^-6;
case 'spar2'
stress = ((((My*Ixx)-(Mx*Ixy))*sparX(1)) +...
(((Mx*Iyy)-(My*Ixy))*sparY(1)))/(Ixx*Iyy - Ixy*Ixy);
max_stress = stress*10^-6;
otherwise
disp('invalid')
end
end
84
Divergence
function [Vd] = find_divergence(rho,b,x_sc,twist_angle,torque, lift, Cl_a)
ac = 0.25*0.986116; %aerodynamic center
ec = x_sc - ac;
S = 7.7764; %m^2
max_twist = twist_angle*(b/2); %rad/m
K = (torque + lift*ec)/max_twist;
Vd = sqrt((2*K)/(rho*S*ec*Cl_a));
end
85
Plots
function
make_plots(x,y,b,stringX,stringY,sp_cpX,sp_cpY,wx,wy,Sx,Sy,Mx,My,deflx,defly,
sigma_yield,FOS,sigmae)
%spar 0.3 m from LE
spar1y = sp_cpY(2):-0.001:sp_cpY(3);
spar1x = ones(length(spar1y),1)' * sp_cpX(2);
% spar at end
spar2y = sp_cpY(1):-0.001:sp_cpY(4);
spar2x = ones(length(spar2y),1)' * sp_cpX(1);
z = 0:0.01:b/2;
% airfoil cross_section
figure
plot(x,y,'b'); hold on;
plot(stringX, stringY, 'or')
plot(spar1x,spar1y, '.b')
plot(spar2x,spar2y, '.b')
legend('wing model', 'stringers')
axis([-0.5 0.5 -0.25 0.25]);
xlabel('length(m)'); ylabel('length(m)');
set(gca,'fontsize', 15)
grid on
saveas(gca,'Wing Cross-section','jpg');
% Force Distribution
figure
subplot(2,1,1)
plot(z,wy,'b')
ylabel('Normal Force Distribution [N/m]', 'fontname','times new roman')
xlabel('Spanwise Location, z [m]', 'fontname','times new roman')
grid on
set(gca,'fontsize', 15)
subplot(2,1,2)
plot(z,wx,'r')
ylabel('Tangential Force Distribution [N/m]', 'fontname','times new roman')
xlabel('Spanwise Location, z [m]', 'fontname','times new roman')
set(gca,'fontsize', 15)
grid on
saveas(gca,'Force Distribution','jpg');
% Shear Distribution
figure
subplot(2,1,1)
plot(z,Sy,'b')
ylabel('Shear, Sy [N]', 'fontname','times new roman')
xlabel('Spanwise Location, z [m]', 'fontname','times new roman')
%set(gca,'fontsize', 15)
grid on
subplot(2,1,2)
plot(z,Sx,'r')
86
ylabel('Shear, Sx [N]', 'fontname','times new roman')
xlabel('Spanwise Location, z [m]', 'fontname','times new roman')
set(gca,'fontsize', 15)
grid on
saveas(gca,'Shear','jpg');
% Moment Distribution
figure
subplot(2,1,1)
plot(z,My,'b')
ylabel('Moment, My [N*m]', 'fontname','times new roman')
xlabel('Spanwise Location, z [m]', 'fontname','times new roman')
set(gca,'fontsize', 15)
grid on
subplot(2,1,2)
plot(z,Mx,'r')
ylabel('Moment, Mx [N*m]', 'fontname','times new roman')
xlabel('Spanwise Location, z [m]', 'fontname','times new roman')
set(gca,'fontsize', 15)
grid on
saveas(gca,'Moments','jpg');
%Deflections
figure
subplot(2,1,1)
plot(z,defly,'b')
ylabel('Deflection, wy [m]', 'fontname','times new roman')
xlabel('Spanwise Location, z [m]', 'fontname','times new roman')
set(gca,'fontsize', 15)
grid on
subplot(2,1,2)
plot(z,deflx,'r')
ylabel('Deflection, wx [m]', 'fontname','times new roman')
xlabel('Spanwise Location, z [m]', 'fontname','times new roman')
set(gca,'fontsize', 15)
grid on
saveas(gca,'Deflections','jpg');
% Stresses
figure
cs = 15;
scatter(x,y,cs,stress(1,:),'filled'); hold on;
jj = colorbar;
ylabel(jj,'Max Stresses [MPa]');
axis([-0.5 0.5 -0.25 0.25]);
xlabel('length(m)'); ylabel('length(m)');
set(gca,'fontsize', 15)
grid on
saveas(gca,'Bending Stress','jpg');
%Von Mises Plot
yield = sigma_yield/FOS; %yield strength with safety factor
alpha = -pi/4; %rotation angle
87
a = sqrt(2)*yield; % semi-major axis in x'y' coordinate frame
b = 1.15*yield*sin(alpha); % semi-minor axis
%plot ellipse
x = linspace(-a,a);
yu = b*sqrt(1-x.^2/a^2);
yl = -b*sqrt(1-x.^2/a^2);
%changes coordinate system to xy
xcu = x*cos(alpha)+yu*sin(alpha);
ycu = yu*cos(alpha)-x*sin(alpha);
xcl = x*cos(alpha)+yl*sin(alpha);
ycl = yl*cos(alpha)-x*sin(alpha);
%plots ellipse in xy coordinate frame for von Mises
figure('units', 'normalized','outerposition',[0 0 1 1])
%subplot(2,1,1)
hold on
plot(xcu,ycu,'b')
plot(xcl,ycl,'b')
% %vertical lines
% line([yield yield],[0 yield]);
% line([-yield -yield],[0 -yield]);
% %horizaontal lines
% line([0 yield],[yield yield]);
% line([0 -yield],[-yield -yield]);
%diagonal lines
% line([0 -yield],[yield 0]);
% line([0 yield],[-yield 0]);
% plot ([0,0],[yield,-yield],'-');
% %y axis
% plot([0 0], [yield,-yield]);
% %x asix
% plot([-yield,yield], [0,0]);
%Sigma Effective
%plot(0,sigmae,'xr','Color',[0.6 0 0]);
plot(sigmae,0,'xr','Color',[0.6 0 0],'markersize',15);
grid on
xlabel('Princle Stress sigma_2 [MPa]')
ylabel('Princle Stress sigma_1 [MPa]')
set(gca,'fontsize', 15)
grid on
saveas(gca,'Von Mises','jpg');
end

Más contenido relacionado

La actualidad más candente

The International Standard Atmosphere (ISA)
The International Standard Atmosphere (ISA)The International Standard Atmosphere (ISA)
The International Standard Atmosphere (ISA)Sayogyo Rahman Doko
 
Drag polar | Flight Mechanics | GATE Aerospace
Drag polar | Flight Mechanics | GATE AerospaceDrag polar | Flight Mechanics | GATE Aerospace
Drag polar | Flight Mechanics | GATE AerospaceAge of Aerospace
 
Primary Flight Instruments | Flight Mechanics | GATE Aerospace
Primary Flight Instruments | Flight Mechanics | GATE AerospacePrimary Flight Instruments | Flight Mechanics | GATE Aerospace
Primary Flight Instruments | Flight Mechanics | GATE AerospaceAge of Aerospace
 
Aircraft Design Proposal 2016
Aircraft Design Proposal 2016Aircraft Design Proposal 2016
Aircraft Design Proposal 2016Francisco Davila
 
Widespread Fatigue Damage
Widespread Fatigue DamageWidespread Fatigue Damage
Widespread Fatigue Damagesyedrooh
 
11 fighter aircraft avionics - part iv
11 fighter aircraft avionics - part iv11 fighter aircraft avionics - part iv
11 fighter aircraft avionics - part ivSolo Hermelin
 
Helicopter structure
Helicopter structureHelicopter structure
Helicopter structureBai Haqi
 
Aircraft design lab report converted
Aircraft design lab report convertedAircraft design lab report converted
Aircraft design lab report convertedPramod Yadav
 
FM-Basics Topics Wise Solutions | Q & A | Flight Mechanics | GATE Aerospace
FM-Basics Topics Wise Solutions | Q & A | Flight Mechanics | GATE AerospaceFM-Basics Topics Wise Solutions | Q & A | Flight Mechanics | GATE Aerospace
FM-Basics Topics Wise Solutions | Q & A | Flight Mechanics | GATE AerospaceAge of Aerospace
 
Aircraft Performance: Part I
Aircraft Performance: Part IAircraft Performance: Part I
Aircraft Performance: Part IMohammad Tawfik
 

La actualidad más candente (20)

The International Standard Atmosphere (ISA)
The International Standard Atmosphere (ISA)The International Standard Atmosphere (ISA)
The International Standard Atmosphere (ISA)
 
Drag polar | Flight Mechanics | GATE Aerospace
Drag polar | Flight Mechanics | GATE AerospaceDrag polar | Flight Mechanics | GATE Aerospace
Drag polar | Flight Mechanics | GATE Aerospace
 
Primary Flight Instruments | Flight Mechanics | GATE Aerospace
Primary Flight Instruments | Flight Mechanics | GATE AerospacePrimary Flight Instruments | Flight Mechanics | GATE Aerospace
Primary Flight Instruments | Flight Mechanics | GATE Aerospace
 
Avionics sai
Avionics saiAvionics sai
Avionics sai
 
Aircraft Design Proposal 2016
Aircraft Design Proposal 2016Aircraft Design Proposal 2016
Aircraft Design Proposal 2016
 
Wind tunnel testing aerospace
Wind tunnel testing aerospaceWind tunnel testing aerospace
Wind tunnel testing aerospace
 
Widespread Fatigue Damage
Widespread Fatigue DamageWidespread Fatigue Damage
Widespread Fatigue Damage
 
rc plane design guide
rc plane design guiderc plane design guide
rc plane design guide
 
Blended Wing Body Aircraft
Blended Wing Body AircraftBlended Wing Body Aircraft
Blended Wing Body Aircraft
 
Aerodynamics
AerodynamicsAerodynamics
Aerodynamics
 
11 fighter aircraft avionics - part iv
11 fighter aircraft avionics - part iv11 fighter aircraft avionics - part iv
11 fighter aircraft avionics - part iv
 
Helicopter structure
Helicopter structureHelicopter structure
Helicopter structure
 
Stall and Spins - Awareness and Avoidance
Stall and Spins - Awareness and AvoidanceStall and Spins - Awareness and Avoidance
Stall and Spins - Awareness and Avoidance
 
V n diagram
V n diagramV n diagram
V n diagram
 
My Air and Space Career Presentation.pdf
My Air and Space Career Presentation.pdfMy Air and Space Career Presentation.pdf
My Air and Space Career Presentation.pdf
 
Aircraft Design
Aircraft DesignAircraft Design
Aircraft Design
 
Aircraft design lab report converted
Aircraft design lab report convertedAircraft design lab report converted
Aircraft design lab report converted
 
FM-Basics Topics Wise Solutions | Q & A | Flight Mechanics | GATE Aerospace
FM-Basics Topics Wise Solutions | Q & A | Flight Mechanics | GATE AerospaceFM-Basics Topics Wise Solutions | Q & A | Flight Mechanics | GATE Aerospace
FM-Basics Topics Wise Solutions | Q & A | Flight Mechanics | GATE Aerospace
 
ATDA Commercial Transport Airframe Part 4.pdf
ATDA Commercial Transport Airframe Part 4.pdfATDA Commercial Transport Airframe Part 4.pdf
ATDA Commercial Transport Airframe Part 4.pdf
 
Aircraft Performance: Part I
Aircraft Performance: Part IAircraft Performance: Part I
Aircraft Performance: Part I
 

Destacado

Aer 101 chapter 5
Aer 101 chapter 5Aer 101 chapter 5
Aer 101 chapter 5anashalim
 
FDR Report
FDR ReportFDR Report
FDR ReportElmer Wu
 
6 1 wing-sayap-pesawat-udara
6 1 wing-sayap-pesawat-udara6 1 wing-sayap-pesawat-udara
6 1 wing-sayap-pesawat-udaraHusni Mubarok
 
2412 ICC Company Presentation
2412 ICC Company Presentation2412 ICC Company Presentation
2412 ICC Company Presentationmhimcc
 
Naca 2415 finding lift coefficient using cfd, theoretical and javafoil
Naca 2415  finding lift coefficient using cfd, theoretical and javafoilNaca 2415  finding lift coefficient using cfd, theoretical and javafoil
Naca 2415 finding lift coefficient using cfd, theoretical and javafoileSAT Journals
 
Flowdirection
FlowdirectionFlowdirection
FlowdirectionApoorv00
 
JacobSiegler_Research_2015
JacobSiegler_Research_2015JacobSiegler_Research_2015
JacobSiegler_Research_2015Jacob Siegler
 
A comparative flow analysis of naca 6409 and naca 4412 aerofoil
A comparative flow analysis of naca 6409 and naca 4412 aerofoilA comparative flow analysis of naca 6409 and naca 4412 aerofoil
A comparative flow analysis of naca 6409 and naca 4412 aerofoileSAT Journals
 
Effect of spikes integrated to airfoil at supersonic speed
Effect of spikes integrated to airfoil at supersonic speedEffect of spikes integrated to airfoil at supersonic speed
Effect of spikes integrated to airfoil at supersonic speedeSAT Journals
 
Numerical simulation and optimization of high performance supersonic nozzle a...
Numerical simulation and optimization of high performance supersonic nozzle a...Numerical simulation and optimization of high performance supersonic nozzle a...
Numerical simulation and optimization of high performance supersonic nozzle a...eSAT Journals
 
Design Analysis Of Uav (Unmanned Air Vehicle) Using NACA 0012 Aerofoil Profile
Design Analysis Of Uav (Unmanned Air Vehicle) Using NACA 0012 Aerofoil ProfileDesign Analysis Of Uav (Unmanned Air Vehicle) Using NACA 0012 Aerofoil Profile
Design Analysis Of Uav (Unmanned Air Vehicle) Using NACA 0012 Aerofoil ProfileDr. Bhuiyan S. M. Ebna Hai
 
MMAE545-Final Report-Analysis of Aircraft Wing
MMAE545-Final Report-Analysis of Aircraft WingMMAE545-Final Report-Analysis of Aircraft Wing
MMAE545-Final Report-Analysis of Aircraft WingLI HE
 
Advanced structures - wing section, beams, bending, shear flow and shear center
Advanced structures - wing section, beams, bending, shear flow and shear centerAdvanced structures - wing section, beams, bending, shear flow and shear center
Advanced structures - wing section, beams, bending, shear flow and shear centerRohan M Ganapathy
 
CFD analysis of Flow across an Aerofoil
CFD analysis of Flow across an AerofoilCFD analysis of Flow across an Aerofoil
CFD analysis of Flow across an AerofoilJJ Technical Solutions
 

Destacado (20)

Aer 101 chapter 5
Aer 101 chapter 5Aer 101 chapter 5
Aer 101 chapter 5
 
Aircraft Wing
Aircraft Wing Aircraft Wing
Aircraft Wing
 
Aircraft wing
Aircraft wingAircraft wing
Aircraft wing
 
FDR Report
FDR ReportFDR Report
FDR Report
 
6 1 wing-sayap-pesawat-udara
6 1 wing-sayap-pesawat-udara6 1 wing-sayap-pesawat-udara
6 1 wing-sayap-pesawat-udara
 
F012413942
F012413942F012413942
F012413942
 
2412 ICC Company Presentation
2412 ICC Company Presentation2412 ICC Company Presentation
2412 ICC Company Presentation
 
Naca 2415 finding lift coefficient using cfd, theoretical and javafoil
Naca 2415  finding lift coefficient using cfd, theoretical and javafoilNaca 2415  finding lift coefficient using cfd, theoretical and javafoil
Naca 2415 finding lift coefficient using cfd, theoretical and javafoil
 
Flowdirection
FlowdirectionFlowdirection
Flowdirection
 
JacobSiegler_Research_2015
JacobSiegler_Research_2015JacobSiegler_Research_2015
JacobSiegler_Research_2015
 
A comparative flow analysis of naca 6409 and naca 4412 aerofoil
A comparative flow analysis of naca 6409 and naca 4412 aerofoilA comparative flow analysis of naca 6409 and naca 4412 aerofoil
A comparative flow analysis of naca 6409 and naca 4412 aerofoil
 
Effect of spikes integrated to airfoil at supersonic speed
Effect of spikes integrated to airfoil at supersonic speedEffect of spikes integrated to airfoil at supersonic speed
Effect of spikes integrated to airfoil at supersonic speed
 
Numerical simulation and optimization of high performance supersonic nozzle a...
Numerical simulation and optimization of high performance supersonic nozzle a...Numerical simulation and optimization of high performance supersonic nozzle a...
Numerical simulation and optimization of high performance supersonic nozzle a...
 
Cfd notes 1
Cfd notes 1Cfd notes 1
Cfd notes 1
 
Project Full
Project FullProject Full
Project Full
 
FYP Presentation
FYP PresentationFYP Presentation
FYP Presentation
 
Design Analysis Of Uav (Unmanned Air Vehicle) Using NACA 0012 Aerofoil Profile
Design Analysis Of Uav (Unmanned Air Vehicle) Using NACA 0012 Aerofoil ProfileDesign Analysis Of Uav (Unmanned Air Vehicle) Using NACA 0012 Aerofoil Profile
Design Analysis Of Uav (Unmanned Air Vehicle) Using NACA 0012 Aerofoil Profile
 
MMAE545-Final Report-Analysis of Aircraft Wing
MMAE545-Final Report-Analysis of Aircraft WingMMAE545-Final Report-Analysis of Aircraft Wing
MMAE545-Final Report-Analysis of Aircraft Wing
 
Advanced structures - wing section, beams, bending, shear flow and shear center
Advanced structures - wing section, beams, bending, shear flow and shear centerAdvanced structures - wing section, beams, bending, shear flow and shear center
Advanced structures - wing section, beams, bending, shear flow and shear center
 
CFD analysis of Flow across an Aerofoil
CFD analysis of Flow across an AerofoilCFD analysis of Flow across an Aerofoil
CFD analysis of Flow across an Aerofoil
 

Similar a Final Design Report

Optimization of an Energy-Generating Turnstile
Optimization of an Energy-Generating TurnstileOptimization of an Energy-Generating Turnstile
Optimization of an Energy-Generating TurnstileWayne Smith
 
Fusegrade_FinalReport
Fusegrade_FinalReportFusegrade_FinalReport
Fusegrade_FinalReportDylan Moore
 
Power-Jib-Crane-Design.pdf
Power-Jib-Crane-Design.pdfPower-Jib-Crane-Design.pdf
Power-Jib-Crane-Design.pdfYOOSHIN3
 
Engineering symbology-prints-and-drawings-handbook
Engineering symbology-prints-and-drawings-handbookEngineering symbology-prints-and-drawings-handbook
Engineering symbology-prints-and-drawings-handbookIbrahim Khleifat
 
SE_Drivetrain_Model_Report
SE_Drivetrain_Model_ReportSE_Drivetrain_Model_Report
SE_Drivetrain_Model_ReportTaylor Parsons
 
A Solution of Partial Differential Equations by Finite-Difference Approximations
A Solution of Partial Differential Equations by Finite-Difference ApproximationsA Solution of Partial Differential Equations by Finite-Difference Approximations
A Solution of Partial Differential Equations by Finite-Difference ApproximationsElliot Newman
 
Nine speed transmission design
Nine speed transmission designNine speed transmission design
Nine speed transmission designCarlos J Gutierrez
 
The-effct-of-load-on-tyre-temperature-and-contact-patch
The-effct-of-load-on-tyre-temperature-and-contact-patchThe-effct-of-load-on-tyre-temperature-and-contact-patch
The-effct-of-load-on-tyre-temperature-and-contact-patchMichael McManus
 
Machine Components Test.pptx
Machine Components Test.pptxMachine Components Test.pptx
Machine Components Test.pptxVasantAmbig
 
Gonski-MLA Thesis
Gonski-MLA ThesisGonski-MLA Thesis
Gonski-MLA ThesisAlex Gonski
 
The on-time completion of light rails in the United States: a qualitative com...
The on-time completion of light rails in the United States: a qualitative com...The on-time completion of light rails in the United States: a qualitative com...
The on-time completion of light rails in the United States: a qualitative com...Sally Indah N
 
1987 army-corps-wetlands-delineation-manual
1987 army-corps-wetlands-delineation-manual1987 army-corps-wetlands-delineation-manual
1987 army-corps-wetlands-delineation-manualJA Larson
 
Grid connected pv power system
Grid connected pv power systemGrid connected pv power system
Grid connected pv power systemZelalem Girma
 
Capstone Final Report
Capstone Final ReportCapstone Final Report
Capstone Final ReportVaibhav Menon
 
3rd Year Formula Student Frame Project Report
3rd Year Formula Student Frame Project Report3rd Year Formula Student Frame Project Report
3rd Year Formula Student Frame Project ReportJessica Byrne
 
WHAT CONSTITUTES AN AGILE ORGANIZATION? ? DESCRIPTIVE RESULTS OF AN EMPIRICAL...
WHAT CONSTITUTES AN AGILE ORGANIZATION? ? DESCRIPTIVE RESULTS OF AN EMPIRICAL...WHAT CONSTITUTES AN AGILE ORGANIZATION? ? DESCRIPTIVE RESULTS OF AN EMPIRICAL...
WHAT CONSTITUTES AN AGILE ORGANIZATION? ? DESCRIPTIVE RESULTS OF AN EMPIRICAL...iasaglobal
 

Similar a Final Design Report (20)

Optimization of an Energy-Generating Turnstile
Optimization of an Energy-Generating TurnstileOptimization of an Energy-Generating Turnstile
Optimization of an Energy-Generating Turnstile
 
Design Final Report
Design Final ReportDesign Final Report
Design Final Report
 
Fusegrade_FinalReport
Fusegrade_FinalReportFusegrade_FinalReport
Fusegrade_FinalReport
 
Power-Jib-Crane-Design.pdf
Power-Jib-Crane-Design.pdfPower-Jib-Crane-Design.pdf
Power-Jib-Crane-Design.pdf
 
Datasheet
DatasheetDatasheet
Datasheet
 
Engineering symbology-prints-and-drawings-handbook
Engineering symbology-prints-and-drawings-handbookEngineering symbology-prints-and-drawings-handbook
Engineering symbology-prints-and-drawings-handbook
 
SE_Drivetrain_Model_Report
SE_Drivetrain_Model_ReportSE_Drivetrain_Model_Report
SE_Drivetrain_Model_Report
 
A Solution of Partial Differential Equations by Finite-Difference Approximations
A Solution of Partial Differential Equations by Finite-Difference ApproximationsA Solution of Partial Differential Equations by Finite-Difference Approximations
A Solution of Partial Differential Equations by Finite-Difference Approximations
 
Capstone project
Capstone projectCapstone project
Capstone project
 
Nine speed transmission design
Nine speed transmission designNine speed transmission design
Nine speed transmission design
 
The-effct-of-load-on-tyre-temperature-and-contact-patch
The-effct-of-load-on-tyre-temperature-and-contact-patchThe-effct-of-load-on-tyre-temperature-and-contact-patch
The-effct-of-load-on-tyre-temperature-and-contact-patch
 
Machine Components Test.pptx
Machine Components Test.pptxMachine Components Test.pptx
Machine Components Test.pptx
 
WP-1762-FR
WP-1762-FRWP-1762-FR
WP-1762-FR
 
Gonski-MLA Thesis
Gonski-MLA ThesisGonski-MLA Thesis
Gonski-MLA Thesis
 
The on-time completion of light rails in the United States: a qualitative com...
The on-time completion of light rails in the United States: a qualitative com...The on-time completion of light rails in the United States: a qualitative com...
The on-time completion of light rails in the United States: a qualitative com...
 
1987 army-corps-wetlands-delineation-manual
1987 army-corps-wetlands-delineation-manual1987 army-corps-wetlands-delineation-manual
1987 army-corps-wetlands-delineation-manual
 
Grid connected pv power system
Grid connected pv power systemGrid connected pv power system
Grid connected pv power system
 
Capstone Final Report
Capstone Final ReportCapstone Final Report
Capstone Final Report
 
3rd Year Formula Student Frame Project Report
3rd Year Formula Student Frame Project Report3rd Year Formula Student Frame Project Report
3rd Year Formula Student Frame Project Report
 
WHAT CONSTITUTES AN AGILE ORGANIZATION? ? DESCRIPTIVE RESULTS OF AN EMPIRICAL...
WHAT CONSTITUTES AN AGILE ORGANIZATION? ? DESCRIPTIVE RESULTS OF AN EMPIRICAL...WHAT CONSTITUTES AN AGILE ORGANIZATION? ? DESCRIPTIVE RESULTS OF AN EMPIRICAL...
WHAT CONSTITUTES AN AGILE ORGANIZATION? ? DESCRIPTIVE RESULTS OF AN EMPIRICAL...
 

Final Design Report

  • 1. Analysis of a NACA 2412 Wing for a Low-speed Utility Aircraft Final Design Report Kassandra Rick, Jason Ro, Yifang Zhu 6-9-2015
  • 2. i Contents 1. List of Figures and Tables......................................................................................................... ii 2. Executive Summary .................................................................................................................iv 3. GANTT Chart .............................................................................................................................v 4. Introduction ............................................................................................................................. 1 5. Airfoil shape............................................................................................................................. 2 6. Spar Placement.........................................................................Error! Bookmark not defined. 7. Centroid ................................................................................................................................... 3 8. Area Moments of Inertia ......................................................................................................... 8 9. Aerodynamic Coefficients...................................................................................................... 10 10. Aerodynamic Structural Loads........................................................................................... 12 11. Velocity-Load Factor Diagram............................................................................................ 19 12. Bending Stress.................................................................................................................... 23 13. Shear Flow.............................................................................Error! Bookmark not defined. 14. Torsion ..................................................................................Error! Bookmark not defined. 18. Buckling Analysis................................................................................................................ 29 19. Fracture.............................................................................................................................. 33 20. Fatigue................................................................................................................................ 34 21. Failure criterion.................................................................................................................. 35 22. Divergence ......................................................................................................................... 36 23. Aileron Reversal ................................................................................................................. 38 24. Optimization....................................................................................................................... 44 25. Final Model ........................................................................................................................ 45 26. Finite Element Analysis...................................................................................................... 47 27. Conclusion.......................................................................................................................... 52 28. Appendix ............................................................................................................................ 53 Symbols ..................................................................................................................................... 53 XFLR5 Data ................................................................................................................................ 54 29. References.......................................................................................................................... 59 30. MATLAB code
  • 3. ii 1. List of Figures and Tables Figure 1: NACA 2412 profile ......................................................................................................... 2 Figure 2: Center of pressure as a function of angle of attack ......................................................... 3 Figure 3: Moment coefficient as a function of angle of attack ....................................................... 4 Figure 4: Spar placement in NACA2412 airfoil ............................................................................. 5 Figure 5: Updated spar and stringer placement .............................................................................. 5 Figure 6: Final wing profile ............................................................................................................ 6 Figure 7: Centroid with two spars................................................................................................... 7 Figure 8: 2-D lift coefficient at sea level as a function of angle of attack .................................... 10 Figure 9: 2-D lift coefficient at 8000ft as a function of angle of attack ....................................... 11 Figure 10: Lift Distributions ......................................................................................................... 12 Figure 11: Coefficient of lift and drag distribution along span (at 8000ft, alpha=0).................... 13 Figure 12: Approximated Force Distribution ............................................................................... 14 Figure 13: Shear Forces along Wing Span, Sx and Sy ................................................................. 16 Figure 14: Moments along Wing Span, Mx and My .................................................................... 16 Figure 15: Deflections along Wing Span, wy and wx .................................................................. 18 Figure 16: V-N Diagram at (a) Sea Level and (b) Cruising Altitude @ 8000 ft. ......................... 21 Figure 17: Limited Flight Envelope at (a) Sea Level and (b) Cruising Altitude @8000 ft. ......... 22 Figure 18: Bending Stress at Root Chord ..................................................................................... 23 Figure 19: Buckling Coefficient for Simply Supported Plates ..................................................... 30 Figure 20: Shear Buckling Coefficient ......................................................................................... 30 Figure 21: Von Mises Stress Plot.................................................................................................. 35 Figure 22: 2D Wing Divergence................................................................................................... 36 Figure 23: Flutter of a Wing Section ............................................................................................ 42 Figure 24: Wing in COMSOL ...................................................................................................... 46 Figure 25: COMSOL Displacements............................................................................................ 47 Figure 26: COMSOL Max Normal Stress .................................................................................... 48 Figure 27: COMSOL Max Torsional Moment ............................................................................. 49 Figure 28: COMSOL Vertical Shear ............................................................................................ 50 Figure 29: COMSOL Stringer Stress............................................................................................ 51 Table 1: Lancair Legacy Specifications............................................................................................ 1 Table 2: Area Moment of Inertias................................................................................................... 9 Table 3: Velocities encountered during flight............................................................................... 20 Table 4: Gust Loads at Sea Level and Cruise ............................................................................... 21 Table 5: Shear Flow in the Airfoil Section ................................................................................... 26 Table 6: Skin Plate Critical Buckling Stress vs. Max Stress found in Skin.................................. 31 Table 7: Critical Column Buckling Stress vs. Max Bending Stress ............................................. 32 Table 8: Fracture Analysis Values and Results ............................................................................ 33 Table 9: R relations........................................................................................................................ 39
  • 4. iii Table 10: Wing Dimensions for One Wing.................................................................................... 45
  • 5. iv 2. Executive Summary This report summarizes the work done in designing a wing for a low-speed utility aircraft. The analysis was done based on a Lancair Legacy RG-550 approximated as a straight wing. Spars, stringers, and ribs were placed within the wing; the last 25% of the airfoil was considered to be control surfaces. The centroid and the area moments of inertia were calculated from the cross section of the wing. From the FAR and Legacy specifications, maneuvering and gust loads were determined and combined to graph the limited flight envelope for two flight conditions: at sea level and cruising altitude. Xflr5 simulations were used to determine the lift-curve slope, lift distribution, and drag profile of the airfoil for both flight conditions. The lift distribution along the semi-span of the wing was the result of averaging an elliptical distribution and a constant load. The drag profile was assumed to be constant along the wing until a 20% increase at 80% chord. After orienting the axes into a normal and tangential frame of reference, shear forces, moments and deflections were calculated, which were used to determine the bending and shear stresses in the wing. Several modes of failure were analyzed: buckling, fracture, and fatigue. Additionally, the stresses were compared to the Von Mises criterion to ensure structural integrity. Furthermore, these results were compared to the finite element analysis results obtained in COMSOL. A simplified analysis regarding wing divergence, aileron reversal, and flutter were discussed. All components of the wing were optimized using the Monte Carlo method to reduce the weight of the wing while surviving all failure analyses. The goal was to create the lightest wing that could handle the loads and stresses experienced at all ranges of flight. The final results are tabulated at the end of this report. Sample calculations, shown in the appendix, were carried out by hand or Excel and compared with MATLAB outputs to ensure accurate results.
  • 7. 1 4. Introduction The wings on an aircraft endure many stresses while in flight. Regardless of the aircraft’s purpose, the wings must maintain structural integrity for the aircraft to complete its mission and keep its crew and payload safe. This wing design analysis began with choosing an aircraft. The Lancair Legacy RG-550 is a single engine, small aircraft with a maximum crew of two people. This aircraft design was chosen because its specifications and dimensions were similar to previous analyses done on wing structures yet provided enough variance for different results. In order to simplify the analysis, the wing was approximated to be a straight wing. The Legacy specifications are shown in Table 1. Table 1: Lancair Legacy Specifications Max Aircraft Weight 997.903 kg Standard Empty Weight 680.388 kg Cruise Velocity @ 8000 ft. 123.383 m/s Wing Span 7.7724 m Chord Length 0.98611 m Wing Area 7.6644 m2 The results that are displayed or discussed in each section are the numbers obtained after optimization unless stated otherwise. All validation and tests done by either comparing calculations against another program or using simpler geometries can be seen in the appendix located at the end of the report.
  • 8. 2 5. Airfoil shape The NACA 2412 profile was used as the airfoil shape of the wing. Based off the specification listed in Table 1, the airfoil has a chord length of 0.986 meters. A data file obtained online was used in MATLAB to scale and graph out its shape which is shown in Figure 1. Figure 1: NACA 2412 profile The coordinate system in Figure 1 and the rest of the report has the x-axis directed along the chord from leading edge to trailing edge as positive, y-axis directed vertically with upward as positive, and the z-axis directed along the span from root to tip. The last 25% of the wing was reserved for control surfaces such as flaps and ailerons, thus would not contribute to aerodynamic loading.
  • 9. 3 6. Cross-Section Geometry Lift and drag act on all parts of a wing in a pressure field. The center of pressure is where the sum of this field is concentrated. This is where the main spar of the wing should be located; however, the center of pressure shifts as lift and drag vary and at differing angles of attack. The center of pressure may be determined from Eq. 1. 𝑥 𝑐𝑝 = − 𝑀𝐿𝐸 𝐿 = − 𝑐 𝑚,𝑙𝑒 𝑐 𝐶𝐿 (1) The data used to find the center of pressure for this report was given by XFLR5, rather than by hand. Figure 2 shows this data as a function of angle of attack. -1 0 1 2 3 4 5 -5 0 5 10 15 20 CenterofPressure[%ofchord] Angle of Attack [°] Center of Pressure Center of Pressure Figure 2: Center of pressure as a function of angle of attack
  • 10. 4 The center of pressure remains between 20% and 40% of the chord length for reasonable angles of attack. Since this is a wide margin the spar was placed at the angle of attack that produced the greatest moment coefficient. The moment coefficient data is shown in Figure 3. The largest moment coefficient was located at 1° angle of attack. Therefore, the center of pressure at this angle of attack was originally selected for the placement of the main spar. This location was at 39.43% of the chord, or 0.3888m behind the leading edge. It was determined later that the front of the wing was unsupported. Consequently, the main spar was moved closer to the front, at 0.3m behind the leading edge. This was still in the 20%-40% of the chord range that the center or pressure data indicated as ideal. Stringers were also added in along the airfoil; inititally by inspection but revised after completing the wing analysis. Another spar was placed at 75% of the chord, or .740m behind the leading edge. This is where the control surfaces begin. Placing a spar here makes sense because it will not interfere with the control surfaces, and it provides extra stability to account for additional lift produced when -0.07 -0.06 -0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 -5 0 5 10 15 20 MomentCoefficient Angle of Attack [°] Moment Coefficient Figure 3: Moment coefficient as a function of angle of attack
  • 11. 5 controls are active. When controls are active, the effective angle of attack increases, changing the center of pressure. Having a second spar minimizes the consequence of this change through a redundancy of structural stability. The original placement of these spars is shown in Figure 4. The new placement from CDR, along with stringers, is shown in Figure 5. Figure 5: Updated spar and stringer placement Through optimization, stringer placement was further changed, and more were added. The number of stringers increased from 12 to 14, and were placed closer to the front of the airfoil. Figure 6 shows the new placement of the stringers with the spars (and spar caps) as designed in SolidWorks. The optimization process is described in detail further in the report. Figure 4: Spar placement in NACA2412 airfoil
  • 12. 6 Figure 6: Final wing profile Final stringer locations are 0.01, 0.1, 0.25, 0.34, 0.37, 0.56, and 0.67 meter from the leading edge on the upper skin, and 0.02, 0.11, 0.23, 0.32, 0.43, 0.54, and 0.65 meter on the lower skin. The spars are located at 0.3 and 0.74 m from the leading edge.
  • 13. 7 7. Centroid The centroid of the structure was calculated by dividing the wing into small components and taking the weighted sum of their cross-sections. Eq. 2 and Eq. 3 were the mathematical expressions used for this calculation. 𝑋 𝑐 = ∑ 𝑥 𝑖 𝐴𝑖 𝑇𝑜𝑡𝑎𝑙 𝐴𝑟𝑒𝑎 (2) 𝑌𝑐 = ∑ 𝑦𝑖 𝐴𝑖 𝑇𝑜𝑡𝑎𝑙 𝐴𝑟𝑒𝑎 (3) where 𝑥 𝑖 and 𝑦𝑖 are the position of the centroid of each component and 𝐴𝑖 is the area of the cross section. Figure 7 shows the location of the centroid for the wing analyzed. The centroid for this structure was located at (0.3678, 0.0147). Figure 7: Centroid with two spars
  • 14. 8 8. Area Moments of Inertia The skin of the airfoil was assumed to be made of small rectangular elements with a length defined by the distance between two data points and a height equal to the skin thickness. The distance formula shown in Eq. 4 was used to measure the length of each element. 𝑙𝑒𝑛𝑔𝑡ℎ = √(𝑥2 − 𝑥1)2 + (𝑦2 − 𝑦1)2 (4) The area moment of inertia for each rectangular element is calculated using the Eq. 5-7 𝐼𝑥𝑥𝑏 = 𝑙𝑒𝑛𝑔𝑡ℎ ∗ 𝑡ℎ𝑖𝑐𝑘𝑛𝑒𝑠𝑠3 12 (5) 𝐼 𝑦𝑦𝑏 = 𝑡ℎ𝑖𝑐𝑘𝑛𝑒𝑠𝑠 ∗ 𝑙𝑒𝑛𝑔𝑡ℎ3 12 (6) 𝐼𝑥𝑦𝑏 = 0 (7) where thickness refers to the skin thickness of the airfoil. The area moment of inertia must be calculated with respect to the centroid of the wing. Thus the results must be converted from the body frame of reference to the rotated frame of reference. This was done using the Eq. 8-11. 𝐼𝑥𝑥,𝑟 = 𝐼𝑥𝑥𝑏 𝑐𝑜𝑠2 𝜃 + 𝐼 𝑦𝑦𝑏 𝑠𝑖𝑛2 𝜃 (8) 𝐼 𝑦𝑦,𝑟 = 𝐼𝑥𝑥𝑏 𝑠𝑖𝑛2 𝜃 + 𝐼 𝑦𝑦𝑏 𝑐𝑜𝑠2 𝜃 (9) 𝐼𝑥𝑦,𝑟 = 𝐼𝑥𝑥𝑏 𝑠𝑖𝑛𝜃𝑐𝑜𝑠𝜃 + 𝐼 𝑦𝑦𝑏 𝑠𝑖𝑛𝜃𝑐𝑜𝑠𝜃 (10)
  • 15. 9 where 𝜃 = arctan( 𝑦2 − 𝑦1 𝑥2 − 𝑥1 ) (11) In order to account for the distance between the each element and the centroid, the parallel axis theorem was applied to each element. The parallel axis theorem is shown in Eq. 12-14. 𝐼𝑥𝑥𝑐 = 𝐼𝑥𝑥𝑟 + 𝐴𝑖 𝑦2 (12) 𝐼 𝑦𝑦𝑐 = 𝐼 𝑦𝑦𝑟 + 𝐴𝑖 𝑥2 (13) 𝐼𝑥𝑦𝑐 = 𝐼𝑥𝑦𝑟 + 𝐴𝑖 𝑥𝑦 (14) For the spars and stringers, the same principle was applied. After all the calculations, the total area moment of inertia was calculated by summing up the individual area moment of inertias using Eq. 15-17. Table 2 shows the results of these calculations. 𝐼𝑥𝑥 = ∑ 𝐼𝑥𝑥𝑐 (15) 𝐼 𝑦𝑦 = ∑ 𝐼 𝑦𝑦𝑐 (16) 𝐼𝑥𝑦 = ∑ 𝐼𝑥𝑦𝑐 (17) Table 2: Area Moment of Inertias 𝐼𝑥𝑥 (𝑚4 ) 𝐼 𝑦𝑦 (𝑚4 ) 𝐼𝑥𝑦 (𝑚4 ) 1.526 * 10−5 4.9139 * 10−4 1.0077 * 10−5
  • 16. 10 9. Aerodynamic Coefficients The 2-D lift coefficient was determined using xflr5, a CFD software based on xfoil that can compute aerodynamic forces and moments acting on an airfoil. The NACA 2412 was analyzed at sea level and at the cruising altitude of 8000 ft (2438m). Calculations were based off the aircraft specifications. Variation in density and viscosity at different altitudes was also considered in the input of the CFD simulation. The 2-D lift coefficient Cl is a function of angle of attack. The lift curve varies slightly with altitude due to variation of aerodynamic conditions, however the difference is very small. The lift curve is linear within a regime before approaching stall, thus the lift curve slope can be calculated using linear regression. The maximum and minimum value of Cl values were determined from Figure 8 after applying a greater range of angle of attacks. Figure 8: 2-D lift coefficient at sea level as a function of angle of attack -0.5 0 0.5 1 1.5 2 -5 0 5 10 15 20 Cl Angle of Attack (degree)
  • 17. 11 Figure 9: 2-D lift coefficient at 8000ft as a function of angle of attack The same simulation and analysis was done at cruising altitude shown in Figure 9. The lift curve slopes at sea level and 8000 ft. are 6.58 and 6.87 respectively. Additionally, the maximum Cl at each altitude is about 1.74 and 1.62 respectively. Unfortunately, the CFD results failed to converge at this Reynolds number to determine a minimum Cl value. In order to work around this obstacle, wind tunnel data for this airfoil was used. The minimum Cl is approximately -0.95 at a lower Reynolds number. [5] -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 -4 -2 0 2 4 6 8 10 12 14 Cl Angle of attack (degree)
  • 18. 12 10. Aerodynamic Structural Loads In order to be realistic, lift was approximated to be an average between an idealized elliptical and constant distribution along the wing. Eq. 18 show the equation used to calculate the former. L′ 𝑒𝑙𝑙𝑖𝑝𝑡𝑖𝑐𝑎𝑙 = 0.327631 ∗ 𝑊 2 (1 − ( 2𝑧 𝑏 ) 2 )1/2 (18) where W is the aircraft weight, b is the wing span, and z is the position along the span measured from the root chord. Eq. 18 takes into account that the analysis is meant for a single wing, hence the weight and span are divided by two. The constant in the front is a correction factor to ensure that the total force calculated from the elliptical distribution is equal to one half of the total aircraft weight. Figure 10 displays the averaged lift distribution compared to the others. Figure 10: Lift Distributions These values were calculated with a load factor of one during cruise conditions. As a sanity check, the wings were assumed to carry the entire weight of the plane; thus one wing must support
  • 19. 13 half of the aircraft weight. By integrating the average distribution, the total lift equals 4889.72 N, which is equal to half the maximum aircraft weight. Figure 11 depicts lift and drag along the wing that was obtained from the CFD calculations. The lift distribution is almost elliptical as discussed above; however the induced drag is relatively stable until it reaches the wing tip. Figure11: Coefficient of lift and drag distribution along span (at 8000ft, alpha=0) The drag distribution is not very smooth thus not easy to process in later calculation. For simplification, the drag was assumed to be constant until 80% span where it would increase by 20%. Since the Legacy is a relatively small airplane travelling at low speeds, the wing is assumed to be in complete laminar flow. The parasite drag coefficient is then calculated using Eq. 19 C 𝑝 = 1.328 × (𝑅)−1/2 (19) where R is the Reynolds number. C 𝑝 = 1.328 × (6860335)−1/2 ≅ 0.0005 0 0.0005 0.001 0.0015 0.002 0.0025 0.003 0.0035 0.004 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 0 1 2 3 4 5 Cd Cl Span (m) Cl vs span Cdi vs span
  • 20. 14 The actual drag is calculated using Eq. 20 D = 1 2 𝜌𝑆𝑉2 (𝐶 𝑝 + 𝐶 𝐿 2 𝜋𝐴𝑒 ) (20) where ρ is air density, S is the wing area, V is the aircraft velocity, 𝐶 𝑝 is the parasite drag, 𝐶𝑙 is the coefficient of lift, A is the aspect ratio, e is the Oswald efficiency which was assumed to be 0.79. Figure 12 shows the resulting force distribution along the span of the wing at the max load factor of 5.84. Figure 12: Approximated Force Distribution At different angle of attacks, the force distributions can be resolved into components that are tangent or normal to the free stream velocity. The tangential and normal force distributions can be found using Eq. 21 and Eq. 22 F 𝑁 = L(y)cosα + D(y)sinα (21)
  • 21. 15 𝐹𝑇 = −L(y)sinα + D(y)cosα (22) For the sake of simplicity, this report will refer to the normal and tangential axes as the ‘y’ and ‘x’ axes respectively. The resulting components after applying Eq. 21 and Eq. 22 can be utilized to determine the shear force and the moments along the normal and tangential axes. Eq. 23 and Eq. 24 shows the relationship between these concepts −𝐹𝑦 = 𝑑𝑆 𝑦 𝑑𝑧 = 𝑑2 𝑀 𝑥 𝑑𝑧2 (23) −𝐹𝑥 = 𝑑𝑆 𝑥 𝑑𝑧 = 𝑑2 𝑀 𝑦 𝑑𝑧2 (24) where F represents the distributions, S represents the shear forces, and M represents the moments. Thus, to find the shear and moments, the distributions must be numerically integrated along the wing span. The wing was treated as a clamped-free beam, thus imposing that at the root chord, there is no deflection or rotation. Figure 13 and Figure 14 shows the results which were produced in MATLAB.
  • 22. 16 Figure 13: Shear Forces along Wing Span, Sx and Sy Figure 14: Moments along Wing Span, Mx and My As expected, the maximum shear and moment are located at the root chord of the wing and eventually trails off to zero at the wing tip. Additionally, the shear force is greatest along the y –
  • 23. 17 axis with its maximum equal to about half the aircraft weight, and the greatest moment is generated about the x-axis. This suggests that the greatest risk for structural failure will occur at the root chord of the wing. When the wing is subject to bending loads, its shape is distorted. In order to check whether this alteration is not extreme, a deflection analysis was done along the x and y axes. The wing deflections due to bending moments was calculated using Eq. 25 and Eq. 26 𝑤 𝑦 ′′ = −𝑀 𝑦 𝐼𝑥𝑥 + 𝑀 𝑥 𝐼𝑥𝑦 𝐸(𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦 2 ) (25) 𝑤 𝑥 ′′ = −𝑀 𝑥 𝐼 𝑦𝑦 + 𝑀 𝑦 𝐼𝑥𝑦 𝐸(𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦 2 ) (26) where w represent the deflections, M are the moments, I are the area moment of inertias, and E is the modulus of elasticity which is 73.1 GPa for aluminum 2024-T4. These equations were numerically integrated twice to find the deflections in the wing. For details regarding these equations, refer to T.C. Sun’s Mechanics of Aircraft Structures [4]. Figure 15 shows the resulting deflections under cruise conditions.
  • 24. 18 Figure 15: Deflections along Wing Span, wy and wx As expected, the wing deflects significantly more in the y-direction as opposed to the x- direction because lift significantly exceeds drag. The deflection in the y-direction peaks at 0.17 cm while the deflection in the x-direction is almost negligible.
  • 25. 19 11. Velocity-Load Factor Diagram The V-N diagram illustrates the loading conditions a wing endures when maneuvering and confronted with wind gusts. These load factors are exclusive to the specifications of an aircraft and what altitudes the aircraft flies at. Two V-N diagrams were made for each flight condition: sea level and cruise. Many parameters used in the analysis, such as the gust velocities, are detailed in the FAR 23 document [1]. The flight envelope was determined by obtaining different velocities encountered during flight. The cruise velocity was provided in the Legacy specifications. The dive velocity and stall speeds were calculated using the Eq. 27-29. 𝑉𝑑𝑖𝑣𝑒 = 𝑉𝑐𝑟𝑢𝑖𝑠𝑒 ∗ 1.5 (27) 𝑉𝑝𝑜𝑠,𝑠𝑡𝑎𝑙𝑙 = √ 2𝑊 𝜌𝑆𝐶𝑙 𝑚𝑎𝑥 (28) 𝑉𝑛𝑒𝑔,𝑠𝑡𝑎𝑙𝑙 = √ 2𝑊 𝜌𝑆𝐶𝑙 𝑚𝑖𝑛 (29) These equations were applied separately at different flight conditions. W is the weight of the aircraft, ρ is the density and S is the wing area. The coefficients of lift were obtained through xfoil simulations. It is worth noting that the absolute value of 𝐶𝑙 𝑚𝑖𝑛 was used. These values are listed in the Table 3 for both sea level and cruising altitude.
  • 26. 20 Table 3: Velocities encountered during flight Altitude Cruise Dive Positive Stall Negative Stall Sea Level 123.38 m/s 185.07 m/s 34.61 m/s 42.57 m/s 8000 ft. 123.38 m/s 185.07 m/s 34.99 m/s 42.96 m/s The load factor in relation to the aircraft velocity is shown in Eq. 30 and Eq. 31. For utility aircrafts, the max load limit is 4.4 and minimum is -1.76. 𝑛 𝑝𝑜𝑠 = 𝜌𝑉2 𝑆𝐶𝑙 𝑚𝑎𝑥 2𝑊 (30) 𝑛 𝑛𝑒𝑔 = 𝜌𝑉2 𝑆𝐶𝑙 𝑚𝑖𝑛 2𝑊 (31) These equations are again, applied separately at different flight conditions. The load curves are graphed until they reach the limit specified in the FAR. Once all data points were collected, the flight envelope was graphed which are displayed in Figures 16, outlined in blue. The acronyms PHAA and PLAA refer to positive high and positive low angle of attack. Similarly, NHAA and NLAA are the negative high and negative low angle of attack. The gust envelope was developed using the Eq. 32-34 that were provided in the FAR. 𝑛 𝑔𝑢𝑠𝑡 = 1 + 𝐾𝑔 𝑈 𝑑𝑒 𝑉 𝑑𝐶𝑙 𝑑𝛼 498 𝑊 𝑆 (32) where 𝐾𝑔 = 0.88𝜇 5.3 + 𝜇 (33) where 𝜇 = 2 ∗ 𝑊 𝑆 𝜌𝑐𝑔 𝑑𝐶𝑙 𝑑𝛼 (34)
  • 27. 21 Many of these values are not in SI units. V is the velocity (cruise or dive) in knots, 𝑈 𝑑𝑒 is the gust velocity ft/s, W is the aircraft weight in lbs, S is the wing area in ft^2, ρ is the density in slugs/ft^3, g is the acceleration due to gravity in ft/s^2, and c is the chord length in ft. Our findings are shown in Figure 16 and Table 4. (a) (b) Table 4: Gust Loads at Sea Level and Cruise Speed condition Gust Load at Sea Level Gust Load at 8000 ft. Cruise velocity 5.69 5.84 Dive Velocity 3.69 3.84 By observing the maximums and minimums from the V-N Diagrams, a limited combined flight envelope was graphed out that encompasses the extreme cases from both the maneuvering and gust loads. The stall velocities and dive velocity was used as the minimum and maximum limits respectively while the gust loads represented the limits for the load factor. Any gust loads present before the PHAA and NHAA were ignored. This procedure was done for both sea level Figure 16: V-N Diagram at (a) Sea Level and (b) Cruising Altitude @ 8000 ft.
  • 28. 22 and cruising altitude. Figure 17 displays the limited flight envelope traced out in green on the V- N Diagram. (a) (b) Figure 17: Limited Flight Envelope at (a) Sea Level and (b) Cruising Altitude @8000 ft. This wing will experience very high load factors. Since failure will occur at the extreme load cases, this report will be using calculations using the highest loading condition to ensure the wing is structurally stable for all conditions.
  • 29. 23 12. Bending Stress The normal stress for an asymmetric wing can be calculated using the bending moments and area moment of inertia using Eq. 35 𝜎𝑧𝑧 = 𝑀 𝑦 𝐼𝑥𝑥 − 𝑀 𝑥 𝐼𝑥𝑦 𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦 2 𝑥 + 𝑀 𝑥 𝐼 𝑦𝑦 − 𝑀 𝑦 𝐼𝑥𝑦 𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦 2 𝑦 (35) where Mx and My are the moments, Ixx, Iyy, Ixy are the area moment of inertia, and x and y are the coordinate positions with respect to the centroid. Since the moments were greatest at the root chord, the bending stress should be at its maximum there as well. Figure 18 shows the distribution of stress along the cross-section of the wing at the root chord at the highest load factor during cruise. The graph was re-oriented so that compressive stress is positive and tensile stress is negative for visual aesthetic. The maximum stress is 216 MPa and is located at the top of the wing, close to the location of the first spar. Figure 18: Bending Stress at Root Chord
  • 30. 24 13. Shear flow Shear stress is an important factor in structural design because it indicates whether or not the skin is going to fail. In order to calculate shear stress, shear flow in a two cell structure is simulated using MATLAB. Two assumptions were made for this calculation: the stringers were idealized as booms, which are modified stringers that takes into account of axial stress on the skin; additionally, the boom area was used in order to assume that the stringers carry only axial loads and the skin carry only shear loads. There are 14 stringers and 4 spar caps. The indexing starts at upper cap of the rear spar, and continues counter clockwise along the skin, ending at the lower cap of the rear spar. The upper and lower cap of the first stringer are index 6 and 13 respectively. The coordinate system is oriented so that the origin is located at the leading edge, the x-axis runs along the chord, and the y-axis runs vertically in the upward direction. The external forces were assumed to be placed at the aerodynamic center (in the x- direction), and center of gravity (in the y-direction). The axial stress in each stringer was determined using Eq. 35 from the previous section. The equivalent boom area was subsequently calculated using Eq. 36 𝐵𝑖 = 𝐴𝑖 + 𝑡 𝐷 𝑙 𝑖−1,𝑖 6 (2 + 𝜎𝑖−1 𝜎𝑖 ) + 𝑡 𝐷 𝑙 𝑖+1,𝑖 6 (2 + 𝜎𝑖+1 𝜎𝑖 ) (36) where 𝐴𝑖 is the area of stringer i, and σ is the stress, 𝑡 𝐷 is the skin thickness, and l is the length of skin.
  • 31. 25 Shear flow is the sum of two components: open-section shear flow (qb), and closed-section shear flow (qo). For open-cell shear flow, cuts were made between the spars (1 to 17 and 6 to 13) and. Eq. 37-39 were used to determine the shear flow between each stringer. 𝑞 𝑏 = 𝑘1 ∑ 𝐵𝑖 𝑥 𝑖 𝑛 𝑖=1 + 𝑘2 ∑ 𝐵𝑖 𝑦𝑖 𝑛 𝑖=1 (37) 𝑘1 = − 𝑆 𝑥 𝐼𝑥𝑥 − 𝑆 𝑦 𝐼𝑥𝑦 𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦 2 (38) 𝑘2 = − 𝑆 𝑦 𝐼 𝑦𝑦 − 𝑆 𝑥 𝐼𝑥𝑦 𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦 2 (39) where xi and yi are distance between stringer location to location of the forces. The closed section shear flow was calculated by solving this set of equations. At an arbitrary point, the internal moment due to shear is equal to the moment due to external forces as shown in Eq. 40. By setting this point at the location of the applied force, the left hand side of the equation is conveniently set to zero. (40) The angle of twist from both cells should be the same by geometric compatibility, determined by using Eq. 41. From Eq. 40 and Eq. 41, the closed-section shear flow can be solved. dθ dz ( 𝑖) = 1 2𝐴𝑖 𝐺 ∮(𝑞 𝑏 + 𝑞 𝑠,𝑜)𝑑𝑠 (41) Since the stress is known to be greatest near the root and the shear stress on the skin is the greatest between two ribs, the shear flow calculation was only performed between the root and the last rib to get the maximum shear in skin. In order to check the accountability of the program, the
  • 32. 26 code is used on a simplified 2 cell shear flow problem, Example 5.9 from Sun’s textbook. The results are identical answers in the textbook. The validation results are presented in the appendix. Shear flow in the airfoil calculated from the MATLAB program is tabulated in Table 5 Table 5:Shear Flow in the Airfoil Section Location q_b q 1=2 6745 -9369 2=3 23732 7618 3=4 49696 33582 4=5 84114 67999 5=6 113371 97257 6=7 132514 30644 6=13 (1st spar) 0 85756 7=8 165758 63888 8=9 177093 75223 9=10 181876 80006 10=11 170422 68551 11=12 140619 38749 12=13 110750 8879 13=14 93730 77616 14=15 71801 55687 15=16 39795 23681 16=17 12339 -3775 17=18 -2351 -18465 1=18 (2nd spar) 0 16114 q_01 -20545 q_02 -152967
  • 33. 27 The shear stress in the skin can then be calculated using Eq. 42 τ = 𝑞 𝑡 (42) Apply equation 42 to every skin segment it can be found that the highest shear stress occurs between stringer 9 and 10 with a value of 41.5 MPa. This value is very close to the shear strength of the material (208MPa) with a safety factor of around 5. As a result, the wing design will not likely to suffer from failure due to shear stress. The shear center, also called the elastic axis is the axis which maintains a twist angle of zero. The closed-section shear flow of both cells was found by equating Eq. 41 to zero. That result was plugged in the closed-cell shear flow into Eq. 40. As a result, the shear center is calculated to be at 0.5325m from the leading edge. It’s behind the aerodynamic center and the centroid. But it’s shown in the aeroelasticity section that the divergence speed of the wing is still within a safe margin.
  • 34. 28 14. Torsion As shown in previous section, that the angle of twist was obtained by using Eq. 41. Plugging in the shear flow value from Table 5 to calculate twist angle in the first and second cell. The angle of twist of two cells are equal and the maximum angle at the root has a value of 0.0083 rad/m, which is 0.476 degree/m. Since the wing is only less than four meters long in half span, the maximum twist at the tip is only approximately 2 degrees. The small value shows that the wing is very resistant to twist. The neutral axis is the line in the plane that does not experience any compression or tension. It can be found by equating the stress σ from Eq. 35 to zero, as seen in Eq. 43 𝑦 𝑁𝐴 𝑥 𝑁𝐴 = 𝑀 𝑦 𝐼𝑥𝑥 − 𝑀 𝑥 𝐼𝑥𝑦 𝑀 𝑥 𝐼𝑥𝑥 − 𝑀 𝑦 𝐼𝑥𝑦 (43) This value calculated is 0.0111. This means the neutral axis is essentially the x-axis. It makes sense because the Mx is much greater than My due to the difference between lift and drag. Thus, the x-axis should stay relatively unmoved in bending.
  • 35. 29 15. Buckling Analysis Buckling is a structural instability that leads to a failure under compressive or shear loading. This is characterized by either a flat plate or column that fails at stresses that are less than the material yield stress. In general, buckling is mostly dependent on the geometry of the structure; shortening the length of the structure along the loading axis effectively increases its resistance to this instability. Therefore, an aircraft wing incorporates ribs and stringers that are strategically spaced in order minimize the risk of buckling in the spars and skin. The stringers themselves are also prone to buckling. The subsequent sections detail the buckling analysis done on each of these components except for the ribs. For this analysis, the stringers and ribs were separated by however much seemed necessary. A range of placements were specified for both components, which defined the dimensions of each plate of skin. For simplification, each of these skin plates were idealized as simply supported flat plates. Additionally, each plate was assumed to carry compressive and shear stresses. The critical buckling stresses were calculated using the Eq. 44 𝜎𝑐𝑟 = 𝑘𝜋2 𝐸 12(1− 𝑣2) ( 𝑡 𝑏 )2 (44) where t is the thickness of the skin, b is the length of the side under compression, v is the Poisson ratio, and k is the buckling coefficient which is dependent on the dimensions of the plate, shown in Eq. 45 𝑘 = ( 𝑚𝑏 𝑎 + 𝑎 𝑚𝑏 )2 (45) Figure 19 and Figure 20 shows k graphically as a function of the ratio 𝑎 𝑏⁄ which is taken from the Megson [3]. The k value changes depending on normal or shear buckling analysis. The results of this analysis is shown in Table 6.
  • 36. 30 Figure 19: Buckling Coefficient for Simply Supported Plates Figure 20: Shear Buckling Coefficient
  • 37. 31 Table 6: Skin Plate Critical Buckling Stress vs. Max Stress found in Skin Skin Plate Number Skin Critical Buckling Stress (MPa) Max Stress found in Skin (MPa) 1 232.25 133.35 2 310.90 177.60 3 362.87 199.57 4 363.95 216.28 5 232.67 171.47 6 310.19 40.35 7 700.89 -40.62 8 319.89 -162.83 9 178.07 -178.57 10 400.37 -183.25 11 236.83 -177.70 12 220.64 -172.61 13 232.06 -143.25 These numbers are taken from the maximum loading case from the V-N diagram. The maximum stress was found on the top of the wing above the spar which aligns with skin plate 4. At this plate, the critical buckling stress exceeds the compressive stress by a factor of safety of 1.68. The other plates also exceed the stress applied, thus none of the plates are in danger of buckling. For this wing design, Z stringers were used and assumed to only carry bending stresses. The length of each beam element was determined by the rib spacing, with each ended assumed to be pinned. In other words, the stringers were assumed to be constrained in stretching but allowed to rotate freely. The dimensions of these stringers were chosen arbitrarily for this initial analysis. The area moment of inertia and cross-sectional area for each stringer was calculated based on these dimensions and applied to Eq. 46 𝜎𝑐𝑟 = 𝜋2 𝐸𝐼𝑥𝑥 𝐾𝐴𝐿2 (46) where E is the Young’s modulus, L is the rib spacing, and K is effective length factor which for pinned-pinned beams is assumed to be equal to one.
  • 38. 32 The critical buckling load for spars were determined using the same methodology. Table 7 summarizes the results of column buckling. The values shown are the maximum cases. Table 7: Critical Column Buckling Stress vs. Max Bending Stress Critical Column Buckling Stress (MPa) Maximum Bending Stress (MPa) Stringer 354.822 215.06 Spar 500.630 216.21 The max normal stress was calculated using Eq. 35. The critical buckling stress greatly exceeds the maximum stress endured by the wing structure. Thus by these numbers the wing will not buckle. However, there are some inconsistencies with the MATLAB code used when compared to simple hand calculations. The code will need to be corrected. The plates that make up the stringers are also prone to buckling. By applying the same methodology as the skin plates, all individual plates on the Z stringer evaluated using Eq. 44 with different buckling coefficients. Then, a weighted average was taken using Eq. 47 𝜎𝑐𝑟 = ∑ 𝜎𝑐𝑟,𝑖 𝑤𝑖𝑑𝑡ℎ𝑖 𝑤𝑖𝑑𝑡ℎ𝑖 (47) where 𝜎𝑐𝑟,𝑖 equals the critical buckling stress of each plate.
  • 39. 33 16. Fracture Material fracture refers to the cracks that form when a structure is under an applied stress. Cracks weaken the structural integrity of a material. Under stress, cracks can propagate eventually leading to fracture or failure of a wing. Thus, this type of failure can occur below the yield stress of a material if large enough cracks are present. In this analysis, the stress intensity factor K is calculated given an initial crack size and stress applied using Eq. 48 and compared to the fracture toughness ‘KIC’ of a material. 𝐾 = 𝜎∞√ 𝜋𝑎 (48) where 𝜎∞ represents the stress applied on the crack and a is the length of the initial crack. If the stress intensity factor exceeds the fracture toughness, the crack would grow until the structure fails. In the wing, fracture is most likely to occur at the root of the wing where the greatest stress is applied. The initial crack size was assumed to be 2.5 mm. Table 8 summarizes the values used and the results. Table 8: Fracture Analysis Values and Results Initial Crack Length 0.001 m Tensile Yield Stress 324 MPa Fracture Toughness 29 MPa*𝑚 1 2 Stress Intensity Factor 12.1 MPa*𝑚 1 2 Based on these numbers, the stress intensity factor does not exceed the fracture toughness, thus the structure will not fracture in these conditions.
  • 40. 34 17. Fatigue Fatigue refers to weakening strength of a material that undergoes repeated loadings. The amount of cycles to failure was determined using Paris’s Law which is shown in Eq. 49 𝑁 = 𝑎𝑓 (1− 𝑚 2⁄ ) − 𝑎𝑖 (1− 𝑚 2⁄ ) (1 − 𝑚 2⁄ )𝐶(𝜎 𝑚𝑎𝑥 √ 𝜋) 𝑚 (49) where 𝑎𝑓 is the final crack length, 𝑎𝑖 is the initial crack length, σ is the ultimate yield stress, C and m are material properties. The final crack length was found using Eq. 50 𝑎𝑓 = 1 𝜋 ( 𝐾𝐼𝐶 𝜎 𝑚𝑎𝑥 )2 (50) where 𝐾𝐼𝐶 is the fracture toughness and 𝜎 𝑚𝑎𝑥 yield stress. The final crack length was found to be 4.6 mm. Applying this value along with those in the previous section to Eq. 49, the total number of cycles to failure was found to be approximately 8.369*108 cycles. This was a vast improvement from the critical design report because the Aluminum 6061-T3 was switched out to 2024-T4.
  • 41. 35 18. Failure criterion The failure analysis is performed using the von Mises method. The von Mises yield criterion takes the axial stress and shear stress and computes an equivalent axial stress with Eq. 51 𝜎𝑒 = 1 √2 [( 𝜎11 − 𝜎22)2 + ( 𝜎22 − 𝜎33 )2 + ( 𝜎33 − 𝜎11 )2 + 6( 𝜎12 2 + 𝜎23 2 + 𝜎13 2 )2]1/2 (51) In the equation, 𝜎11 𝜎22 𝜎33 represents axial stress in x, y, z directions respectively, and only 𝜎33 has a non-zero value and is calculated in the bending section. Among the shear stresses on the skin 𝜎12 𝜎23 𝜎13 , only 𝜎23 has a non-zero value calculated in the shear flow stress. The highest equivalent yield strength is calculated to be 196 MPa, which has a safety factor of 1.6 compared to the yield strength of the material at 324 MPa. Figure 21: Von Mises Stress Plot
  • 42. 36 19. Divergence Torsional divergence is a static aero-elastic effect when the angle of twist of a wing approaches infinity resulting in structural failure. The phenomena is the result of the inertial, elastic, and aerodynamic forces that occur when the center of twist is located aft of the aerodynamic center. Larger loads generate greater pitch-up moments about this point, leading to an increased twist angle and by extension, a larger angle of attack. Consequently this positive feedback-loop of increased angle of attack to greater loads to greater twist ultimately ends with the wing shredding off the aircraft. This analysis applied a simplified model of a 2D case shown in Figure 22 and Eq. 52 Figure 22: 2D Wing Divergence 𝑀0 + 𝐿𝑒𝑐 = 𝐾𝜃 (52) where K is the torsional stiffness, θ is the twist angle, M is the pitching moment, L is the lift, and ec is the elastic center. The torsional stiffness resists the moment generated by the lift vector on
  • 43. 37 the aerodynamic center and the pitching moment of the wing. The values in Eq. 52 can be modified to be in terms of aircraft velocity. The velocity which leads to an infinite twist is known as the divergence velocity which is shown in Eq. 53. The derivation of this equation can be view in the Megson textbook [3]. 𝑉𝑑 = √ 2𝐾 𝜌𝑆𝑒𝑐( 𝜕𝐶𝑙 𝜕𝛼⁄ ) (53) where S is the wing area, and 𝜕𝐶𝑙 𝜕𝛼⁄ is the lift-curve slope. According to the FAR, the divergence velocity may not be below 1.2 times the dive velocity. For this plane, the divergence velocity may not be below 222.084 m/s. Eq. 52 was applied to both sea level and cruise conditions, equaling 260.03 m/s and 284.83 m/s respectively, therefore the wing should not diverge in any part of its flight.
  • 44. 38 20. Aileron Reversal The speed at which aileron reversal occurs is given by Eq. 54 [6]. 𝑣𝑟 = 𝑣 𝑑√ 𝑅1 ∗ 𝜀 𝑅2 (54) Where 𝑣 𝑑 is the divergence speed, 𝑅1 𝑅2 is a function of the aileron chord divided by the wing chord, and ε is the distance between the elastic axis (shear center) and quarter chord, as a fraction of the wing chord. For this wing geometry, the aileron was specifically chosen to be a quarter of the wing chord, so 𝑐 𝑎 𝑐 𝑤 = .25 by definition. Table 9 shows the tabulated relation between this and 𝑅1 𝑅2 . The shear center, as recorded in the shear flow section, is .5325, so ε = .2825, and 𝑣𝑟 = 1.17𝑣 𝑑, where 𝑣 𝑑 is the divergence speed as detailed in the previous section. Therefore the speed that will trigger aileron reversal is 259.83 m/s. This is well above any velocity the plane can reach, thus aileron reversal is not a problem.
  • 45. 39 Table 9: R relations
  • 46. 40 21. Natural Frequency To calculate the natural frequency, the wing is approximated as a cantilever beam with the root fixed. Rayleigh’s energy method states that the maximum strain energy (Eq. 55) equals to maximum kinetic energy (Eq. 56) 𝑈 𝑚𝑎𝑥 = 𝐸𝐼 2 ∫ ( 𝑑2 𝑦 𝑑𝑥2 ) 2 𝑑𝑥 𝑙 0 (55) 𝑇 𝑚𝑎𝑥 = 𝛾 2 ∫ [ 𝜔 𝑛 𝑦(𝑥, 𝑡) 𝑚𝑎𝑥]2 𝑑𝑥 𝑙 0 (56) where E is the young’s modulus, I is area moment of inertia, γ is the mass per length, and ω is the natural frequency. Rearranging the two equations, the natural frequency can be calculate by using Eq. 57. 𝜔 𝑛 2 = 𝐸𝐼 𝛾 ∫ ( 𝑑2 𝑦 𝑑𝑥2) 2 𝑑𝑥 𝑙 0 ∫ [ 𝑦(𝑥, 𝑡) 𝑚𝑎𝑥]2 𝑑𝑥 𝑙 0 (57) By approximating the wing as a cantilever beam with the root end fixed, the deflection y along span x can be assumed to be: 𝑦 = 𝐴 (1 − 𝑐𝑜𝑠 (𝜋 𝑥 2𝑙 )) (58) thus 𝑑𝑦 𝑑𝑥 = 𝐴 ( 𝜋 2𝑙 ) 𝑠𝑖𝑛 𝜋𝑥 2𝐿 (59) and 𝑑2 𝑦 𝑑𝑥2 = 𝐴 ( 𝜋 2𝐿 ) 2 𝑐𝑜𝑠 𝜋𝑥 2𝐿 (60)
  • 47. 41 The boundary condition is checked by substituting x = 0 (the root). Additionally, y and 𝑑𝑦 𝑑𝑥⁄ are both equal to zero whereas 𝑑2 𝑦 𝑑𝑥2⁄ is not. At x = L (the tip), y is equal to the maximum deflection. Thus, the boundary condition is satisfied. Substituting in the appropriate variables, the natural frequency was calculated to be 31.16 rad/s or 4.96 Hz. The first bending mode of the aircraft has a natural frequency of 4.96Hz.
  • 48. 42 22. Flutter A detailed flutter analysis is beyond the scope of this course. Therefore, this section will briefly discuss the effect of flutter and the methods used for flutter analysis. Flutter is defined as the dynamic instability of an elastic body in an airstream. Flutter occurs at a critical speed 𝑉𝑓𝑙𝑢𝑡𝑡𝑒𝑟 which, in turn is defined as the lowest airspeed at which a given structure will oscillate with sustained simple harmonic motion. At speeds above the flutter speed represents the condition of unstable structural oscillation [3]. For systems with two or more degrees of freedom, the forces associated with each individual degree of freedom can interact and cause divergent oscillation. This type of flutter that involves two distinctly different types oscillating motion resulting in a divergent motion is called classical flutter. Other types of flutter, non- classical flutter, include stalling flutter and aileron buzz and will not be discussed in this section. In the case of a wing, flutter is usually the coupling of flexural and torsional modes. Figure 23 illustrates an example of flutter for a wing section. There is a coupled motion between the angle α and vertical displacement y. Figure 23: Flutter of a Wing Section
  • 49. 43 The equation of this coupled system is set up as a simple harmonic motion. 𝑦 = 𝑦0 𝑒 𝑖𝜔𝑡 (61) 𝛼 = 𝛼0 𝑒 𝑖𝜔𝑡 (62) The root of the determinant in Eq. 63 should take the form δ + iω, where δ represents the exponential growth rate and ω gives the frequency of the oscillating system. At low speed the oscillation decays and δ is negative. At high speed, δ is positive and it diverges. The critical flutter [ −𝜔2 (𝑚 − 𝐿 𝑦̈ ) − 𝑖𝜔𝐿 𝑦̇ + 𝑘 − 𝐿 𝑦 𝜔2( 𝑚𝑔𝑐 + 𝐿 𝛼̈ ) − 𝑖𝜔𝐿 𝛼̇ − 𝐿 𝛼 𝜔2 (𝑚𝑔𝑐 + 𝑀 𝑦̇) − 𝑖𝜔𝑀 𝑦̇ − 𝑀 𝑦 −𝜔2( 𝐼 𝑂 − 𝑀 𝛼̈ ) − 𝑖𝜔𝑀 𝛼̇ + 𝑘 𝜃 − 𝑀 𝛼 ] { 𝑦0 𝛼0 } = 0 (63) speed Vf corresponds to the zero growth rate. Flutter speed can be obtained by calculating δ for a range os speeds and find the value of Vf for δ = 0.
  • 50. 44 23. Optimization The final step in completing this design was to optimize its cross-sectional geometry. Its purpose is to create the lightest wing structure that can survive all loading conditions specified in the V-N diagram. This is accomplished by running a Monte Carlo iteration scheme compiling all analyses discussed prior to this section. All components were taken into account: stringer placement, stringer dimensions, spar dimensions, rib spacing, rib thickness, and skin thickness. A set of ranges was set for each of these parameters, chosen based off the dimensions of similar aircrafts such as the Cessna 140 and the optimization code was run for 20,000 iterations. The final design did not differ much from the original. The spars did not shift much and the number of stringers increase from 12 to 14. The skin thickness was increased to ensure the skin would not buckle in compression while the spar thickness as well as stringer dimensions and thickness were reduced. The number of ribs did not change. The entire code is located at the end of the report.
  • 51. 45 24. Final Model The final dimensions of the wing are tabulated in Table 10. The wing as designed in COMSOL is shown in Figure 24. Table 10: Wing Dimensions for One Wing Element Size (m) Wing Chord .9861 Wing Span 7.7724 Airfoil NACA 2412 Skin Thickness .0032 Spar Thickness .0033 Spar Cap Thickness .0033 Spar Cap Width (top) .0151 Spar Cap Width (bottom) .0199 Stringer Thickness .0031 Stringer Width (top) .0077 Stringer Width (bottom) .0086 Stringer Length .0098 Rib Spacing .1441 Rib Thickness .0125 Wing Weight 1701.7 N Number of Stringers 14 Number of Spars 2 Number of Ribs 26
  • 52. 46 Figure 24: Wing in COMSOL
  • 53. 47 25. Finite Element Analysis The finite element analysis was done in COMSOL. The wing was created as an exact replica of the SolidWorks wing, with the stringers represented as beams on the surface of the wing. The wing was then loaded with lift, drag, gravity, moment, and shear forces to model its behavior in flight in cruise conditions. The root of the wing was held fixed. The displacement results from the loading are shown in Figure 25. Figure 25: COMSOL Displacements This figure, displayed in units of meters, shows that the overall displacement is as one might expect, with the majority of displacement at the wing tip. The maximum displacement was
  • 54. 48 4.75*10-4 meters, or about half of a millimeter. This number, while being somewhat close to the displacement generated by MATLAB (shown in Figure 14), is still much smaller than MATLAB’s average vertical deflection of 7 cm, and very small in general. The other graphs given from the finite element analysis match well with the numbers generated with MATLAB. The normal stresses are shown in Figure 26. Figure 26: COMSOL Max Normal Stress The maximum stress in this graph is 1.59*108 N/m2, or 159 MPa. This compares very favorably with the max bending stress from MATLAB, which had a max of 154.38 MPa; the
  • 55. 49 percent difference is 2.9%. In addition, like the MATLAB generated stress, the stress is concentrated near the root of the wing. The finite element analysis was also able to produce graphs for the shear and torsional moment. While torsion was not computed on a moment basis in MATLAB, the COMSOL graph (Figure 27) is worth noting, as it shows the locations that the torsion is applied. Figure 27: COMSOL Max Torsional Moment
  • 56. 50 As shown, the torsion is at a maximum near the root of the airfoil. Between the root and the first rib, torsion only really occurs around the spars, but this evens out as one traverses further down the span of the wing. The shear in the vertical direction is shown in Figure 28. Figure 28: COMSOL Vertical Shear Like in the MATLAB code, the maximum shear is negative and appears at the root of the wing. The COMSOL graphs, however, also show the effect of the ribs on the shear force. While
  • 57. 51 the skin is subjected to a negative shear, the ribs compensate with a positive shear all the way down the wing. These balancing forces are why the wing is able to resist vertical deflection well. Also interesting to note is the stress as viewed from the plane of the airfoil. This is shown in Figure 29. Figure 29: COMSOL Stringer Stress The stress is concentrated in the stringers and the main spar. This is exactly what is expected, and it justifies the assumption that stringers carry only axial loads and skin carries only shear loads.
  • 58. 52 26. Conclusion The goal of this project was to design the lightest wing structure for all the loading conditions for the Lancair RG-550. A straight wing with a NACA2412 airfoil profile with stringers, spars and ribs was analyzed. After determining the geometric properties of the wing and the aerodynamic loads it would experience, the V-N diagrams and limited flight envelope were graphed. From there the shear forces, moments, and deflections in the wing were calculated. From this information, structural failure was determined to occur at the root chord. Additionally this analysis examined several important structure characteristics, namely the bending stress, shear stress, angle of twist, buckling and fatigue. The shear stress was calculated by first calculating shear flow in the skin plates in between the stringers. The maximum shear stress was found to be 41 MPa. The shear center is located at 0.5362 m. It is behind the first spar and close to the centroid, so it is at a desired place. The maximum angle of twist is calculated to be 0.0083 rad/m, indicating that there will not be a lot of twist. The maximum stresses were determined for the skin, spars and stringers and compared to the critical buckling stresses for each. The critical buckling stresses far exceeded these max stresses, thus the wing should not buckle. Fracture analysis was done on the wing assuming an initial crack size and was determined that the crack will not propagate. Additionally, a fatigue analysis was performed, determining that the wing will not fail until 8.369*108 cycles. The failure criterion is examined by using the von Mises yield criterion, which takes the axial and shear stress to calculate an equivalent axial stress. The maximum equivalent stress is found to be 196MPa. It’s still under the yield strength of the material and has a safety factor of 1.6.
  • 59. 53 27. Appendix Symbols MLE Moment about the leading edge xcp Location of center of pressure cm,le Coefficient of moment about the leading edge CL Lift coefficient C Chord length L Lift 𝑋 𝑐 Centroid x-position 𝑌𝑐 Centroid y-position 𝑥 𝑖 Component x-position 𝑦𝑖 Component y-position 𝐴𝑖 Component area 𝐼𝑥𝑥𝑏 Body xx area moment of inertia 𝐼 𝑦𝑦𝑏 Body yy area moment of inertia 𝐼𝑥𝑦𝑏 Body xy area moment of inertia 𝐼𝑥𝑥,𝑟 Rotated xx area moment of inertia 𝐼 𝑦𝑦,𝑟 Rotated yy area moment of inertia 𝐼𝑥𝑦,𝑟 Rotated xy area moment of inertia 𝐼𝑥𝑥𝑐 Component xx area moment of inertia 𝐼 𝑦𝑦𝑐 Component yy area moment of inertia 𝐼𝑥𝑦𝑐 Component xy area moment of inertia 𝐼𝑥𝑥 xx area moment of inertia 𝐼 𝑦𝑦 yy area moment of inertia 𝐼𝑥𝑦 xy area moment of inertia C𝑓 Parasite drag
  • 60. 54 𝐴 Aspect ratio 𝑒 Oswald efficiency number 𝐶 𝑝 Coefficient of pressure F 𝑁 Normal force F 𝑇 Tangential Force 𝜌 Density 𝑆 Wing planform area 𝐶 𝐿 𝑚𝑖𝑛 Minimum lift coefficient 𝑛 Load Factor 𝑈 𝑑𝑒 Gust velocity 𝑑𝐶𝑙 𝑑𝛼 Lift-curve slope XFLR5 Data alpha CL CD CDp Cm Top Xtr Bot Xtr Cpmin Chinge XCp -3 -0.1101 0.00571 0.00109 -0.0564 0.566 0.0683 -1.3712 0 -0.2754 -2 0.0148 0.00554 0.00089 -0.0564 0.5102 0.1066 -0.9331 0 4.103 -1 0.1397 0.00537 0.00078 -0.0566 0.4667 0.164 -0.602 0 0.6565 0 0.2643 0.00524 0.00075 -0.0568 0.4222 0.2408 -0.6228 0 0.4637 1 0.3886 0.00519 0.00081 -0.0571 0.3807 0.334 -0.7386 0 0.3943 2 0.5108 0.00525 0.00099 -0.057 0.3143 0.4722 -0.8833 0 0.358 3 0.6312 0.00553 0.00132 -0.0565 0.2363 0.6142 -1.1023 0 0.335 4 0.7503 0.00605 0.00184 -0.0554 0.1553 0.7463 -1.45 0 0.3185 5 0.8666 0.00668 0.00252 -0.0534 0.0849 0.8916 -1.9206 0 0.3054 6 0.9804 0.0074 0.00327 -0.0502 0.0488 0.9879 -2.5224 0 0.2939 7 1.1112 0.00836 0.00412 -0.0503 0.0284 1 -3.2821 0 0.2868 8 1.2281 0.00933 0.00506 -0.047 0.0188 1 -4.2232 0 0.2784 9 1.3441 0.01047 0.00621 -0.0429 0.0138 1 -5.3027 0 0.2706 10 1.4586 0.0117 0.00752 -0.038 0.0116 1 -6.5163 0 0.2631 11 1.5622 0.01342 0.00934 -0.0308 0.008 1 -7.8095 0 0.255 12 1.639 0.01574 0.01193 -0.0192 0.0068 1 -9.1836 0 0.245 13 1.7022 0.01925 0.01574 -0.0076 0.0067 1 - 10.6801 0 0.2357 14 1.7411 0.02525 0.02213 0.0027 0.0064 1 - 12.0772 0 0.2274 15 1.7406 0.03617 0.03351 0.0088 0.006 1 - 13.0907 0 0.2214
  • 61. 55 Validation Geometric Properties of the Airfoil For the centroid and moment of inertia calculations, the MATLAB code was compared to values outputted by Excel. Initially the airfoil was assumed to only have spars with no stringers seen below The methodology for calculating these values are described in the centroid and area moment of inertias section. Calculations began with the spars set as I-beams with arbitrarily set dimensions and fixed locations on the airfoil. Then the airfoil skin properties was calculated separately, then the moment of inertias were added together for the total area moment of inertia. Below are the comparisons between Excel and MATLAB outputs. Table The slight difference in values can be attributed to different significant figures when running through the calculation. Structure Loading To check the structure loading code, the wing was analyzed at a load factor of 1 while at cruise. Under these conditions, the lift of the wing must equal the aircraft weight. Assuming the wings are the sole contributor to lift with the tail’s lift only meant for stability, one wing should
  • 62. 56 carry half the weight. Using the methodology described in the report, the total lift was calculated from the lift distribution and was found to equal half the aircraft weight. The same methodology was used for shears to moments and also deflections. Bending Stress Bending stress code was validated by comparing hand calculations with the MATLAB code. A sample calculation is shown below, but multiple points were tested and verified. 𝜎𝑧𝑧 = 𝑀 𝑦 𝐼𝑥𝑥 − 𝑀 𝑥 𝐼𝑥𝑦 𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦 2 𝑥 + 𝑀 𝑥 𝐼 𝑦𝑦 − 𝑀 𝑦 𝐼𝑥𝑦 𝐼𝑥𝑥 𝐼 𝑦𝑦 − 𝐼𝑥𝑦 2 𝑦 𝐼𝑥𝑥 = 2.04 ∗ 10−5 𝐼 𝑦𝑦 = 6.02 ∗ 10−5 𝐼𝑥𝑦 = 9.23 ∗ 10−4 𝜎𝑧𝑧 = (−401 .56 𝑁𝑚) 𝐼𝑥𝑥−(−51517𝑁𝑚) 𝐼𝑥𝑦 𝐼𝑥𝑥 𝐼 𝑦𝑦 −𝐼𝑥𝑦 2 (0.3599𝑚) + (−51517𝑁𝑚) 𝐼 𝑦𝑦 −(−401.56𝑁𝑚) 𝐼𝑥𝑦 𝐼𝑥𝑥 𝐼 𝑦𝑦 −𝐼𝑥𝑦 2 (0.0309𝑚) = - 154 MPa MATLAB = 156 MPa The difference can be attributed to significant figures. Shear Flow Shear flow code is validated by using it to calculate example question 5.9 from the Sun’s textbook.
  • 63. 57 In this example question, a force of magnitude 4800N is applied at node one and the geometry of the structure is shown above. The result in shown in the book and calculated from the matlab code is tabulated below: Textbookanswer Matlab answer q_b q q_b q 6=1 (cut) 0 -36.47 6=1 -100 -36.47 1=2 -20 -56.47 1=2 -120 -56.47 2=3 0 -36.47 2=3 -100 -36.47 3=4 0 -43.53 3=4 -60 -43.53 4=5 60 16.47 4=5 (cut) 0 16.47 5=6 (cut) 0 -43.53 5=6 -60 -43.53 6=3 -40 -47.06 6=3 (cut) 0 -47.06 q1 -36.47 63.53 q2 -43.53 16.47 The answer from the textbook and the matlab code are identical, so it can be concluded that the code is valid. Buckling The buckling equations were done in excel similarly to the centroid and area moment of inertias. The comparison is shown below critical buckling (MPa) Excel MATLAB stringer 354.5 354.8217 skin,compressive 301.479 303.479 skin,shear 112.631 111.9543 spar 1 10200 10238 spar 2 10200 10200 Fracture/Fatigue
  • 64. 58 Fracture and Fatigue codes were compared with hand calculations. The sample calculation is shown below showing the process with the answers from the CDR when another aluminum was being used. Aluminum2023-T3 a = 0.0025 m = 3.59 C = 1.6e-11 KIC= 34 𝐾𝐼 = 𝜎∞√ 𝜋𝑎 = 160 ∗ √𝜋 ∗ 0.0025 𝑎𝑓 = 1 𝜋 ( 𝐾𝐼𝐶 𝜎 𝑚𝑎𝑥 )2 = 1 𝜋 ( 34 160 )2 = 0.01437 𝑚 1 − 𝑚 2 = 1 − 3.59 2 = −0.795 𝑁 = 𝑎𝑓 (1− 𝑚 2⁄ ) − 𝑎𝑖 (1− 𝑚 2⁄ ) (1 − 𝑚 2⁄ )𝐶(𝜎 𝑚𝑎𝑥√ 𝜋) 𝑚 = 0.01437(−0.795 ) − 0.0025(−0.795) (−0.795)(1.6 ∗ 10−11 )(160√ 𝜋)3.59 = 10829.8 𝑐𝑦𝑐𝑙𝑒𝑠 Wing Divergence Wing divergence was also validated through basic hand calculations. A sample calculation is shown below. K = 1.9947e5 S = 7.7764 𝑚2 Ρ = 1.225 𝑘𝑔 𝑚3 ec = 0.0965 m 𝜕𝐶𝑙 𝜕𝛼 = 6.87 𝑉𝑑 = √ 2𝐾 𝜌𝑆𝑒𝑐 𝜕𝐶𝑙 𝜕𝛼 = √ 2∗1.9948∗105 1.225∗7.7764∗0.1265∗6.87 = 264.34214
  • 65. 59 28. References [1] Regulations, Federal Aviation. "Part 23 - Airworthiness Standards: Normal." Utility, Acrobatic and Commuter Category Airplanes (1996). [2] Lancair. Docs: Legacy. [http://www.lancair.com/support/docs-legacy/] [3] Megson, Thomas Henry Gordon. Aircraft structures for engineering students. Elsevier, 2012. [4] Sun, C.T. Mechanics of Aircraft Structures. John Wiley & Sons, Inc. [5] Abbott, I.H., von Doenhoff, A.E. Theory of Wing Sections, Dover, 1959 [6] Lombard, Albert E. An Investigation of the Conditions for the Occurrence of Flutter in Aircraft and the Development of Criteria for the Prediction and Elimination of such Flutter (Doctoral dissertation), 1939.
  • 66. 60 29. MATLAB Code Optimization %%%% READ ME: %%%% When the code completes, a data file will be saved containing all the %%%% variables used during the optimization. I'll make a list of the %%%% important ones below %%%% NOTE: ALL COMPRESSIVE STRESSES ARE NEGATIVE, MUST RE-ORIENT THEM TO BE %%%% POSITIVE FOR FINAL REPORT AND FIGURES % weight = weight of the wing % t_sk = skin thickness % % t_st = stringer thickness % L1_st = length of stringer top % L2_st = length of stringer mid % L3_st = length of stringer base % % t_sp = spar thickness % L4_sp1 = length of spar top % L5_sp1 = length of spar mid % L6_sp1 = length of spar base % % n_r = number of ribs in one wing % R = rib spacing % % sigma_skU & sigma_skL = skin critical buckling stress (compression) upper & lower surface % sigma_sp1 & sigma_sp2 = spar critical buckling stress % sigma_st = stringer critical buckling stress % sigmae = von mises stress % % max_bending_stress = maximum compressive stress skin % max_stress_str = maximum compressive stress stringer % max_spar# = maximum compressive stress spar % % a = initial crack size % af = final crack size % KI = stress intensity factor % N = cycles till fatigue close all clear all clc rng('shuffle') bool = 0; count = 0; iter = 1000; W_min = 2500; %N rho_sea = 1.225; %kg/m^3 rho_cruise = 0.9652; %kg/m^3 vc = 123.383; %cruise velocity m/s vd = 185.07; %dive velocity m/s
  • 67. 61 h = waitbar(0, 'Processing...', 'CreateCancelBtn','setappdata(gcbf,''canceling'',1)'); setappdata(h,'canceling', 0) n = [-3.69 -2.5186 4.5186 5.6915 -3.8377 -2.6283 4.6283 5.8377]; % loading conditions from VN Diagram V = [vc vd vd vc vc vd vd vc]; % velocities from VN Diagram [m/s] rho_air = [rho_sea*ones(1,4) rho_cruise*ones(1,4)]; % air density [kg/m^3] while count < iter if getappdata(h,'canceling') break end %% constants % W_min = 453.592; %N % rho_sea = 1.225; %kg/m^3 % rho_cruise = 0.9652; %kg/m^3 % vc = 123.383; %cruise velocity m/s % vd = 185.07; %dive velocity m/s % Cl_a_sea = 6.58; % Cl_a_cruise = 6.87; % n = [-3.69 -2.5186 4.5186 5.6915 -3.8377 -2.6283 4.6283 5.8377]; % V = [vc vd vd vc vc vd vd vc]; % rho_air = [rho_sea*ones(1,4) rho_cruise*ones(1,4)]; NACA = csvread('NACA2412.dat'); b = 7.7724; % span m c = 0.986116; % chord m NACA = NACA*c; % airfoil profile g = 9.8; Cl_a_sea = 6.58; Cl_a_cruise = 6.87; %% Material Properties Aluminum 2024-T4 % Aluminum 6061-T6 original, Tensile yield too low % E = 73.1e9; %Pa % G = 26.91e9; % v = 0.33; % rho = 2700; % sigma_yield = 276; % [MPa] E = 73.1e9; % Young's Modulus G = 28e9; % Shear Modulus [Pa] v = 0.33; % Poisson ratio rho = 2780; % density [kg/m^3] sigma_yield = 324; % Tensile yield strength [MPa] FOS = 1.5; % factor of safety %% Component Dimensions t_sk_max = 0.003; t_sk_min = 0.002; t_sp_max = 0.005;
  • 68. 62 t_sp_min = 0.002; t_st_max = 0.004; t_st_min = 0.002; %A_sc_max = 1.5e-4; %A_sc_min = 0.5e-5; t_sk = t_sk_min + (t_sk_max - t_sk_min)*rand; t_sp = t_sp_min + (t_sp_max - t_sp_min)*rand; t_st = t_st_min + (t_st_max - t_st_min)*rand; %A_sc = A_sc_min + (A_sc_max - A_sc_min)*rand; % stringer geometry % Z stringers %---L1---| % |L2 % | % |---L3--- L1_max = 0.025; L1_min = 0.015; L2_max = 0.035; L2_min = 0.013; L3_max = 0.025; L3_min = 0.015; L1_st = L1_max + (L1_max-L1_min)*rand; L2_st = L2_max + (L2_max-L2_min)*rand; L3_st = L3_max + (L3_max-L3_min)*rand; %A_st = t_st * (L1_st+L2_st+L3_st) % spar geometry % I beams % Spars % ----L4----- % | % |L5 % | % ----L6----- L4_max = 0.025; L4_min = 0.015; %L5_max = 0.035; L5_min = 0.013; L6_max = 0.025; L6_min = 0.015; L4_sp1 = L4_max + (L4_max-L4_min)*rand; L5_sp1 = .1198; L6_sp1 = L6_max + (L6_max-L6_min)*rand; L4_sp2 = L4_sp1; L5_sp2 = 0.06; L6_sp2 = L6_sp1; % Ribs R_min = 0.11; R_max = 0.15; R = R_min+(R_max-R_min)*rand; %R = 0.13; t_rib = 0.0125; n_r = floor(b/(2*R));
  • 69. 63 % Centroid, Moment of Inertia [xbar,ybar,x,y,Ixx,Iyy,Ixy,A_st,A_sp1,A_sp1_cp,A_sp2,A_sp2_cp,A_rib,stringX,s tringY,n_st,sp_cpX,sp_cpY] = find_prop(NACA,t_sk,t_st,L1_st,L2_st,L3_st,t_sp, L4_sp1,L5_sp1,L6_sp1,L4_sp2,L5_sp2,L6_sp2); % Wing Weight [weight,w_skin,w_sp1,w_sp2,w_st,w_rib] = find_wing_weight(NACA,A_st,A_sp1,A_sp2,A_rib,t_rib,t_sk,b,rho,n_r,n_st); for ii = 1: length(n) % find shear forces, moments, max stress [My,Mx,Sy,Sx,wy,wx,defly,deflx,max_bending_stress,lift,stress] = find_shear_moments(x,y,n(ii),b,V(ii),rho_air(ii),Ixx,Iyy,Ixy); % buckling [sigma_pl, sigma_cr, sigma_sp1,sigma_sp2,sigma_st,sigma_skU,sigma_skSU,sigma_skU_array] = find_buckling(E,v,R,stringX,stringY,t_sk,t_st,L1_st,L2_st,L3_st,Ixx,A_st,A_sp 1_cp,A_sp2_cp); % shear stresses [q_o1, q_o2, max_shear_stress, torque, twist_angle, x_sc, sigmae] = find_shear(c,G,Ixx,Iyy,Ixy,Sx,Sy,Mx,My,xbar,ybar,A_st,t_sk,stringX,stringY,sp _cpX,sp_cpY); % max stresses [max_stress_str, stringer_stress_array] = find_max_stress('stringer',Ixx,Iyy,Ixy,My(1),Mx(1),stringX,stringY,sp_cpX,sp_ cpY); [max_stress_sp1] = find_max_stress('spar1',Ixx,Iyy,Ixy,My(1),Mx(1),stringX,stringY,sp_cpX,sp_cpY ); [max_stress_sp2] = find_max_stress('spar2',Ixx,Iyy,Ixy,My(1),Mx(1), stringX,stringY,sp_cpX,sp_cpY); % fracture/fatigue KIC = 26; % MPA*m^0.5 a = 0.001; KI = -max_bending_stress*sqrt(a*pi); if KI > KIC bool_crack = 0; else bool_crack = 1; end af = (1/pi)*(KIC/-max_bending_stress)^2; C = 3.7086e-12; m = 4.1908; const = 1-m/2; N = (af^const - a^const)/(const * C * (-max_bending_stress * pi)^2); % wing divergence [v_diverge] = find_divergence(rho_air(ii),b,x_sc,twist_angle,torque, lift,Cl_a_sea);
  • 70. 64 if 1.2*V(2) > v_diverge bool_divergence = 0; else bool_divergence = 1; end % check failure bool_skin = sigma_skU/FOS > abs(max_bending_stress); bool_skin_shear = sigma_skSU/FOS > abs(max_shear_stress); bool_spar1 = sigma_sp1/FOS > abs(max_stress_sp1); bool_spar2 = sigma_sp2/FOS > abs(max_stress_sp2); bool_st = sigma_st/FOS > abs(max_stress_str); bool_von_mises = min(sigma_yield/FOS > sigmae); if mean(bool_skin) == 1 && mean(bool_skin_shear) == 1 && mean(bool_spar1) == 1 && ... mean(bool_spar2) == 1 && mean(bool_st) == 1 && bool_crack == 1 && bool_divergence == 1 && bool_von_mises == 1 bool_cases(ii) = 1; else bool_cases(ii) = 0; end end if weight < W_min && mean(bool_cases) == 1 W_min = weight; save optimized_data_2 end %save optimized_data_2 count = count + 1; clearvars -except bool count iter W_min h n V rho_air waitbar(count/iter); end delete(h)
  • 71. 65 Centroid, Moment of Inertia function [centx, centy, x, y, Ixx, Iyy, Ixy, A_st,A_sp1,A_sp1_cp,A_sp2,A_sp2_cp,A_rib,stringX,stringY,n_st,sp_cpX,sp_cpY] = find_prop(M,t_sk,t_st,L1_st,L2_st,L3_st,t_sp, L4_sp1,L5_sp1,L6_sp1,L4_sp2,L5_sp2,L6_sp2) x = []; y = []; for ii = 1:162 y(ii) = M(ii,2)*0.986116; x(ii) = M(ii,1)*0.986116; if x(ii) > 0.74 x(ii) = 0; y(ii) = 0; end end x(x==0)=[]; y(y==0)=[]; %add spar at 30% chord====at x = 0.3 xx = []; yy = []; for ii = 1:length(x) a = y(ii); b = x(ii); if b < 0.3 xx(ii) = 0.3; yy(ii) = a; end end xx(xx==0)=[]; yy(yy==0)=[]; %add spar at 75% of chord===at x = 0.7396 yyy = y(1):-0.002:y(length(y))-0.001; xxx = ones(length(yyy),1)' * 0.7396; %centroid calculation Ax = []; Ay = []; A = []; for ii = 1:length(x)-1 b = sqrt((x(ii+1) - x(ii))^2+(y(ii+1)-y(ii))^2); A(ii) = t_sk*b; Ax(ii) = A(ii) * x(ii); Ay(ii) = A(ii) * y(ii); end % Z stringers %---L1---| % |L2 % | % |---L3--- % stringer placement % ranges
  • 72. 66 q1 = 5; q2 = 9; % index separation q3 = 8; q4 = 12; % separate index separation to avoid stringer cluster at LE d_st1 = 2; d_st3 = 4; % inital index n_st1 = 12; n_st3 = 15; % number of stringers % set parameters st = floor(d_st1 + (d_st3-d_st1)*rand); n_st = floor(n_st1 + (n_st3-n_st1)*rand); stringX = []; stringY = []; stringX(1) = x(st); stringY(1) = y(st); count = 0; while count < n_st q = floor(q1 + (q2-q1)*rand); qo = floor(q3 + (q4-q3)*rand); %q = 8; qo = 14; if st+q < length(x) && x(st+q) > 0.23 stringX(count+2) = x(st+q); stringY(count+2) = y(st+q); st = st + q; if st+q == 23 || st+q == 24 || st+q == 25 stringX(count+2) = x(22); stringY(count+2) = y(22); st = 22; elseif st+q == 82 || st+q == 83 || st+q == 84 stringX(count+2) = x(81); stringY(count+2) = y(81); st = 81; end elseif st+q < length(x) && x(st+q) < 0.23 stringX(count+2) = x(st+qo); stringY(count+2) = y(st+qo); st = st + qo; if st+qo == 23 || st+qo == 24 || st+qo == 25 stringX(count+2) = x(26); stringY(count+2) = y(26); st = 26; elseif st+qo == 82 || st+qo == 83 || st+qo == 84 stringX(count+2) = x(81); stringY(count+2) = y(81); st = 81; end else break end count = count + 1; end n_st = length(stringX); %t_st = 0.005; %stringer thickness [m] %L1_st = 0.01; L2_st = 0.02-2*t_st; L3_st = 0.01; %dimensions [m] str = [L1_st L2_st L3_st]; %format the function takes [A_st, Ixx_st, Iyy_st, Ixy_st] = find_moment_inertia('stringer',str,t_st);%cross section area A_st_total = A_st * length(stringX); Ax_st = A_st*stringX; Ay_st = A_st*stringY; Ax_st = sum(Ax_st); Ay_st = sum(Ay_st);
  • 73. 67 % Spars % ----L4----- % | % |L5 % | % ----L6----- %First spar %t_sp = 0.0125; %spar thickness %L4_sp1 = 0.05; L5_sp1 = 0.1192-2*t_sp; L6_sp1 = 0.05; %dimensions[m] spr1 = [L4_sp1 L5_sp1 L6_sp1]; [A_sp1, Ixx_sp1, Iyy_sp1, Ixy_sp1] = find_moment_inertia('spar',spr1,t_sp);%cross section area %Second spar %L4_sp2 = 0.05; L5_sp2 = 0.06-2*t_sp; L6_sp2 = 0.05; spr2 = [L4_sp2 L5_sp2 L6_sp2]; [A_sp2, Ixx_sp2, Iyy_sp2, Ixy_sp2] = find_moment_inertia('spar',spr2,t_sp); %spar centroid coordinates spar1 = [0.3 (-0.0406+L5_sp1/2)]; spar2 = [0.7396 (-0.0206+L5_sp2/2)]; %spar cap coordinates sp_cpX = [xxx(1) xx(1) xx(1) xxx(1)]; sp_cpY = [yyy(1) yy(1) yy(length(yy)) yyy(length(yyy))]; %centroid coordinates centx = (sum(Ax)+(A_sp1*spar1(1))+(A_sp2*spar2(1))+Ax_st)/... (sum(A)+A_sp1+A_sp2+A_st_total); centy = (sum(Ay)+(A_sp1*spar1(2))+(A_sp2*spar2(2))+Ay_st)/... (sum(A)+A_sp1+A_sp2+A_st_total); %translate centroid of airfoil to origin x = x-centx; y = y-centy; xx = xx - centx; yy = yy - centy; xxx = xxx - centx; yyy = yyy - centy; airfoil = [x;y]; [A_rib, Ixxa, Iyya, Ixya] = find_moment_inertia('airfoil',airfoil,t_sk); stringX = stringX-centx; stringY = stringY-centy; sparX = [spar1(1) spar2(1)]-centx; sparY = [spar1(2) spar2(2)]-centy; sp_cpX = sp_cpX - centx; sp_cpY = sp_cpY - centy; %parallel axis theorem for spars and stringers %stringers Ixx_st_array = Ixx_st + (A_st*stringY.*stringY); Iyy_st_array = Iyy_st + (A_st*stringX.*stringX); Ixy_st_array = Ixy_st + (A_st*stringX.*stringY); %spar 1
  • 74. 68 Ixx_sp1 = Ixx_sp1 + A_sp1*spar1(2)^2; Iyy_sp1 = Iyy_sp1 + A_sp1*spar1(1)^2; Ixy_sp1 = A_sp1*spar1(2)*spar1(1); %spar 2 Ixx_sp2 = Ixx_sp2 + A_sp2*spar2(2)^2; Iyy_sp2 = Iyy_sp2 + A_sp2*spar2(1)^2; Ixy_sp2 = A_sp2*spar2(2)*spar2(1); Ixx = Ixxa + sum(Ixx_st_array) + Ixx_sp1 + Ixx_sp2; Iyy = Iyya + sum(Iyy_st_array) + Iyy_sp1 + Iyy_sp2; Ixy = Ixya + sum(Ixy_st_array) + Ixy_sp1 + Ixy_sp2; A_sp1_cp = L4_sp1*t_sp; A_sp2_cp = L4_sp2*t_sp; end % X = [x xx xxx]; Y = [y yy yyy]; % plot(x,y,'b'); hold on; grid on % plot(centx, centy, '*r') % plot(stringX,stringY, '.g') % plot(xx,yy,'.b'); plot(xxx,yyy,'.b'); % axis([-0.1 0.8 -0.25 0.25]); % legend('wing model','centroid', 'stringers') % xlabel('length(m)'); ylabel('length(m)');
  • 75. 69 Wing Weight function [weight,w_skin,w_sp1,w_sp2,w_st,w_rib] = find_wing_weight(M,A_st,A_sp1,A_sp2,A_rib,t_rib,t_skin,b,rho, n_r,n_st) %Wing Weight x = M(:,1); y = M(:,2); A = []; for ii = 1:length(x)-1 dist = sqrt((x(ii+1) - x(ii))^2+(y(ii+1)-y(ii))^2); A(ii) = t_skin* dist; end V_skin = sum(A)* (b/2); w_skin = V_skin * rho; %spars %First spar V_sp1 = A_sp1*(b/2); V_sp2 = A_sp2*(b/2); w_sp1 = V_sp1*rho; w_sp2 = V_sp2*rho; %stringers V_st = A_st * (b/2); w_st = n_st* V_st * rho; %14 stringers of equal dimensions %ribs V_rib = A_rib * t_rib; w_rib = n_r*V_rib*rho; weight = (w_skin + w_sp1 + w_sp2 + w_st + w_rib) * 9.8; end
  • 76. 70 Aerodyanmic Forces and Moments function [My,Mx,Sy,Sx,wy,wx,defly,deflx,max_bending_stress,Force,stress] = find_shear_moments(x,y,n,b,V,rho,Ixx,Iyy,Ixy) %%%%% Constants needed SI units %m E = 73.1e9; e = 0.79; W = 997.903*0.5*9.8; %N S = 7.664487; %m^2 AR = (b*b)/S; %rho = 1.225; %sea level %rho_8000 = 0.0018728; %%%%% Lift and Drag Calc Cla = 6.58; %sea level %Cla_8000 = 6.87; CL = (2*W)/(rho*S*V*V); alpha = CL*(AR+2)/(AR*Cla); CD0 = 0.01069; CD = CD0 + (CL*CL)/(pi*e*AR); drag = 0.5*rho*S*V*V*CD; %%% Lift dz = 0.01; z = 0:dz:b/2; l_dist = ((1-(2*z/b).^2).^0.5); l_dist = l_dist/(sum(l_dist)*dz); l_dist = l_dist * (n*W); % Elliptical Distribution l_rect = ones(1,length(z)); l_rect = l_rect * (n*(W/(b/2)));% Uniform Distribution lift = mean([l_dist; l_rect],1);% Averaged lift distribution %%% Drag d_dist = ones(1,length(z)); u = floor(.8*length(z)); d_dist(u:end) = 1.2; dint = sum(d_dist)*dz; drag = drag*d_dist/dint; %%% Lift Distribution %E = 73.1e9; %N/m^2 % Ixx = 0.000008478233; %m^4 % Iyy = 0.00137197407; % Ixy = -0.00000119787; wy = lift*cos(alpha) + drag*sin(alpha); wx = -lift*sin(alpha) + drag*cos(alpha); wy = fliplr(wy); wx = fliplr(wx); Force = trapz(z,wy);
  • 77. 71 a = []; aa = []; Sy = []; Sx = []; for ii = 1:length(z) a(ii) = wy(ii) * -dz; aa(ii) = wx(ii) * -dz; Sy(ii) = sum(a); Sx(ii) = sum(aa); end Moment = -trapz(z,Sy); b = []; bb = []; My = []; Mx = []; for ii = 1:length(z) b(ii) = Sy(ii) * dz; bb(ii) = Sx(ii) * dz; My(ii) = sum(bb); Mx(ii) = sum(b); end %%% Bending Calc stress = []; for ii = 1:length(z) for i = 1:length(x) stress(ii,i) = ((((My(ii)*Ixx)-(Mx(ii)*Ixy))*x(i)) +... (((Mx(ii)*Iyy)-(My(ii)*Ixy))*y(i)))/(Ixx*Iyy - Ixy*Ixy); end end stress = stress*10^-6; max_bending_stress = min(min(stress)); %[MPA] % [g h] = ind2sub(size(stress),find(stress==max_bending_stress)) %%%%%%%%%%%%%%%%%%%%%%%%% Reorienting so that origin is at root chord wy = fliplr(wy); wx = fliplr(wx); Sy = fliplr(Sy); Sx = fliplr(Sx); My = fliplr(My); Mx = fliplr(Mx); %%% Deflection deflx2 = (-My*Ixx + Mx*Ixy)/(E*(Ixx*Iyy-Ixy*Ixy)); defly2 = (-Mx*Iyy + My*Ixy)/(E*(Ixx*Iyy-Ixy*Ixy)); c = []; cc = []; defly1 = []; deflx1 = []; for ii = 1:length(z) c(ii) = defly2(ii) * dz; cc(ii) = deflx2(ii) * dz; defly1(ii) = sum(c); deflx1(ii) = sum(cc); end d = []; dd = []; defly = [];
  • 78. 72 deflx = []; for ii = 1:length(z) d(ii) = defly1(ii) * dz; dd(ii) = deflx1(ii) * dz; defly(ii) = sum(d); deflx(ii) = sum(dd); end end
  • 79. 73 Buckling function [sigma_pl, sigma_cr, sigma_sp1,sigma_sp2,sigma_st,sigma_skU,sigma_skSU,sigma_skU_array] = find_buckling(E,v,R,stringX,stringY,t_sk,t_st,L1_st,L2_st,L3_st,Ixx,A_st,A_sp 1_cp,A_sp2_cp) K = 1; %Effective length factor %separating out each individual plate d_U = zeros(1, length(stringX)-1); %d_L = zeros(1, length(stringLx)-1); for ii = 1:length(stringX)-1 d_U(ii) = sqrt((stringX(ii+1) - stringX(ii))^2 + ... (stringY(ii+1) - stringY(ii))^2); end % % Z stringers % %---L1---| % % |L2 % % | % % |---L3--- % % str = [L1_st L2_st L3_st t_st]; % [A_st, Ixx_st, Iyy_st, Ixy_st] = find_moment_inertia('stringer',str); % % % Spars % % ----L4----- % % | % % |L5 % % | % % ----L6----- % % %spar 1 % sp1 = [L4_sp1 L5_sp1 L6_sp1 t_sp]; % [A_sp1, Ixx_sp1, Iyy_sp1, Ixy_sp1] = find_moment_inertia('spar',sp1); % % %spar 2 % sp2 = [L4_sp2 L5_sp2 L6_sp2 t_sp]; % [A_sp2, Ixx_sp2, Iyy_sp2, Ixy_sp2] = find_moment_inertia('spar',sp2); % Spar column buckling sigma_sp1 = ((pi*pi*E*Ixx)/(K*R*R*A_sp1_cp))*1e-6; %[MPA] sigma_sp2 = ((pi*pi*E*Ixx)/(K*R*R*A_sp2_cp))*1e-6; %[MPA] % Stringer plate buckling a = R; b1 = L1_st; b2 = L2_st; b3 = L3_st; %rib and stringer spacing k = .43; % from graph pg 172 megson for top and bottom plate k_m = 4; % for middle plate %eff = 1; % assuming elastic buckling %%% Top and Bottom plate sigma_t = ((k*E*pi^2)/(12*(1-v^2)))*(t_st/b1)^2; sigma_b = ((k*E*pi^2)/(12*(1-v^2)))*(t_st/b3)^2; %%% Middle Plate
  • 80. 74 sigma_m = ((k_m*E*pi^2)/(12*(1-v^2)))*(t_st/b2)^2; %%% Weighted Average sigma_pl = ((t_st*sigma_m + L1_st*sigma_t + L3_st*sigma_b)/(t_st+L3_st+L1_st))*1e-6; % Stringer column buckling sigma_cr = ((pi*pi*E*Ixx)/(K*R*R*A_st))*1e-6; %[MPA] sigma_st = (min(sigma_pl,min(sigma_cr))); %[MPA] % Skin Plate Buckling k = 4.1; %a/b ~ 1 sigma_skU = zeros(1,length(d_U)); %sigma_skL = zeros(1,length(d_L)); for ii = 1:length(d_U) sigma_skU(ii) = ((k*E*pi^2)/(12*(1-v^2)))*(t_sk/d_U(ii))^2; end % for ii = 1:length(d_L) % sigma_skL(ii) = ((k*E*pi^2)/(12*(1-v^2)))*(t_sk/d_L(ii))^2; % end sigma_skU_array = sigma_skU*1e-6; sigma_skU = max(sigma_skU)*1e-6; %sigma_skL = min(sigma_skL)*1e-6; % Skin Plate Shear Buckling k1 = 10; %a/b ~ 5 sigma_skSU = zeros(1,length(d_U)); %sigma_skSL = zeros(1,length(d_L)); for ii = 1:length(d_U) sigma_skSU(ii) = ((k1*E*pi^2)/(12*(1-v^2)))*(t_sk/d_U(ii))^2; end % for ii = 1:length(d_L) % sigma_skSL(ii) = ((k1*E*pi^2)/(12*(1-v^2)))*(t_sk/d_L(ii))^2; % end sigma_skSU = min(sigma_skSU)*1e-6; %sigma_skSL = min(sigma_skSL)*1e-6; end
  • 81. 75 Shear Stresses function [q_o1, q_o2,max_shear_stress, Torque, twist_angle, x_sc, sigmae,i_sp1u,i_sp1l,i_sp2u,i_sp2l,x_boom,y_boom] = find_shear(c,G,Ixx,Iyy,Ixy,Sx,Sy,Mx,My,x_cent,y_cent,A_st,t_skin,stringX,stri ngY,sp_cpx,sp_cpy) %airfoil shape NACA_number = '2412'; Mi = str2double(NACA_number(1)); Pi = str2double(NACA_number(2)); Ti = str2double(NACA_number(3:4)); gridPts = 500; M = Mi/100*c; P = Pi/10*c; T = Ti/100*c; stringX = stringX + x_cent; stringY = stringY + y_cent; sp_cpx = sp_cpx + x_cent; sp_cpy = sp_cpy + y_cent; xc = linspace(0,c,gridPts)'; yc = ones(gridPts,1); dyc_dx = ones(gridPts,1); theta = ones(gridPts,1); for i=1:1:gridPts; if (xc(i) >= 0 && xc(i) < P) yc(i) = (M/P^2)*((2*P*xc(i))-xc(i)^2); dyc_dx(i) = ((2*M)/(P^2))*(P-xc(i)); elseif (xc(i) >= P && xc(i) <= c) yc(i) = (M/(1-P)^2)*(1-(2*P)+(2*P*xc(i))-(xc(i)^2)); dyc_dx(i) = ((2*M)/((1-P)^2))*(P-xc(i)); end theta(i) = atan(dyc_dx(i)); end %thickness yt = ones(gridPts,1); for i = 1:1:gridPts yt(i) = 5*T*(0.2969*sqrt(xc(i)/c)-0.1260*(xc(i)/c)- 0.3516*(xc(i)/c)^2+0.2843*(xc(i)/c)^3-0.1015*(xc(i)/c)^4); end %upper xu = ones(gridPts,1); yu = ones(gridPts,1); for i = 1:1:gridPts xu(i) = xc(i) - yt(i)*sin(theta(i)); yu(i) = yc(i) + yt(i)*cos(theta(i)); end %lower xl = ones(gridPts,1); yl = ones(gridPts,1);
  • 82. 76 for i = 1:1:gridPts xl(i) = xc(i) + yt(i)*sin(theta(i)); yl(i) = yc(i) - yt(i)*cos(theta(i)); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %spar and stringer location %stringers varying in position %x_sp = [0.3; 0.74]; x_ac = 0.25; %creating array with stringer and spar cap coordinates x_boom = zeros(length(stringX)+4,1); y_boom = zeros(length(stringY)+4,1); num_boom = length(x_boom); x_boom(1) = sp_cpx(1); x_boom(num_boom) = sp_cpx(4); y_boom(1) = sp_cpy(1); y_boom(num_boom) = sp_cpy(4); count = 1; n = 1; while count < length(stringX) x_boom(count+n) = stringX(count); y_boom(count+n) = stringY(count); if stringX(count) > sp_cpx(2) && stringX(count+1) < sp_cpx(2) && count < num_boom/2 x_boom(count+n) = stringX(count); y_boom(count+n) = stringY(count); n = n+1; x_boom(count+n) = sp_cpx(2); y_boom(count+n) = sp_cpy(2); elseif stringX(count) < sp_cpx(3) && stringX(count+1) > sp_cpx(3) x_boom(count+n) = stringX(count); y_boom(count+n) = stringY(count); n = n+1; x_boom(count+n) = sp_cpx(3); y_boom(count+n) = sp_cpy(3); elseif count == length(stringX) - 1 x_boom(count+n+1) = stringX(count +1); end count = count +1; end i_sp2u = 1; i_sp2l = num_boom; i_sp1u = 0; i_sp1l = 0; %x_spar_cap = 0.3; count = 1; for ii = 1:num_boom if x_boom(ii) == sp_cpx(2) && count < num_boom/2 i_sp1u = count; elseif x_boom(ii) == sp_cpx(3) && count > num_boom/2 i_sp1l = count; end
  • 83. 77 count = count +1; end x_boom = x_boom'; y_boom = y_boom'; %v is the x-location of stringer nearest to leading edge [g v] = find(x_boom == min(x_boom)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %%% no idea what's going on here index =zeros (num_boom, 1); % gridPts = 500; xu = ones(gridPts,1); % for ii = 1:num_boom % k = find(abs(xu-x_boom(ii))<0.001); % index(ii) = k; % end for ii=1:1:min(v) [u, k] = min(abs(xu-x_boom(ii))); index(ii) = k; end for ii = min(v)+1:1:num_boom [u, k] = min(abs(xl-x_boom(ii))); index(ii) = k; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%structure idealization %length between booms l = zeros(num_boom,num_boom); for ii = 1:1:num_boom jj = ii+1; if ii == 1 l(ii,jj) = sqrt((xu(index(jj))-xu(index(ii)))^2+(yu(index(jj))- yu(index(ii)))^2); l(jj,ii) = l(ii,jj); elseif ii <= min(v) && ii > 1 l(ii,jj) = sqrt((xu(index(jj))-xu(index(ii)))^2+(yu(index(jj))- yu(index(ii)))^2); l(jj,ii) = l(ii,jj); %upper half elseif ii == min(v) l(ii,jj) = sqrt((xl(ii)-xl(1))^2+(yl(index(ii))- yl(1))^2)+sqrt((xu(index(ii))-xu(1))^2+(yu(index(ii))-yu(1))^2); l(jj,ii) = l(ii,jj); elseif ii > min(v) && ii < num_boom l(ii,jj) = sqrt((xl(index(jj))-xl(index(ii)))^2+(yl(index(jj))- yl(index(ii)))^2); l(jj,ii) = l(ii,jj); %lower half end
  • 84. 78 end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % How I calculate skin and spar length % % length between each stringer including spar caps % % starts from top right corner and goes counter-clockwise % d_S = zeros(1, length(x_boom)-1); % for ii = 1:length(x_boom)-1 % d_S(ii) = sqrt((x_boom(ii+1) - x_boom(ii))^2 + ... % (y_boom(ii+1) - y_boom(ii))^2); % end % % % spar1 is the spar closest to leading edge % % Spar2 is the spar at the trailing edge % spar1_length = abs(sp_cpx(1)) + abs(sp_cpx(2)); % spar2_length = abs(sp_cpx(2)) + abs(sp_cpx(3)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %spar length, need to be changed if the spar location/index is moved l(i_sp1u,i_sp1l) = y_boom(i_sp1u) - y_boom(i_sp1l); l(i_sp2u,i_sp2l) = y_boom(i_sp2u) - y_boom(i_sp2l); l(i_sp1l,i_sp1u) = l(i_sp1u,i_sp1l); l(i_sp2l,i_sp2u) = l(i_sp2u,i_sp2l); div = Ixx*Iyy-Ixy^2; %length(z)-1 corresponds to the middle between the root and the first rib %max moment at the root and maximum shear right between ribs, so this is %the critical value %%%%%%%%%%%%% ????????????????????????????????? sigmazz = zeros(num_boom,1); %bending loads at booms for ii =1:1:num_boom sigmazz(ii) = (My(2)*Ixx-Mx(2)*Ixy)/div*(x_boom(ii)- x_cent)+(Mx(2)*Iyy-My(2)*Ixy)/div*(y_boom(ii)-y_cent); end %area of stringer and spars, dummy value for now A_boom = zeros(num_boom, 1); A_boom(:,1) = A_st; %stringer area t_sk = zeros(num_boom, 1); t_sk(:,1) = t_skin; %skin thickness t_sp = [0.005, 0.005]; B = zeros(num_boom, num_boom); for ii = 1:1:num_boom-1 jj = ii+1; if ii == 1 || ii == min(v)+1;
  • 85. 79 B(ii,jj) = A_boom(ii)+t_sk(ii).*l(ii,jj)/6*(2+sigmazz(ii+1)./sigmazz(ii)); elseif 1<ii<min(v) && min(v)+1<ii< num_boom B(ii,jj) = A_boom(ii)+t_sk(ii).*l(ii-1,jj-1)/6*(2+sigmazz(ii- 1)./sigmazz(ii))+t_sk(ii).*l(ii,jj)/6*(2+sigmazz(ii+1)./sigmazz(ii)); else B(ii,jj) = A_boom(ii)+t_sk(ii).*l(ii-1,jj-1)/6*(2+sigmazz(ii- 1)./sigmazz(ii)); end end %% %cut on the spars %open cell shear %ccw q_b= zeros(num_boom,num_boom); k1 = -(Sx(2)*Ixx-Sy(2)*Ixy)/div; k2 = -(Sy(2)*Iyy-Sx(2)*Ixy)/div; for ii = 1:1:num_boom-1 jj = ii+1; if ii == 1 q_b(ii,jj) = k1*B(ii,jj).*(x_boom(ii)-x_ac)+k2*B(ii,jj).*(y_boom(ii)- y_cent); else q_b(ii,jj) = k1*B(ii,jj).*(x_boom(ii)-x_ac)+k2*B(ii,jj).*(y_boom(ii)- y_cent)+q_b(ii-1,jj-1); end end %% % pure torsion shear % 1 - between sp1 and sp2 % 2 - between LE and sp1 %ccw A1=0; A2=0; for ii = 1:1:index(i_sp1u) A2 = A2+abs(yu(ii)*(xc(ii+1)-xc(ii))); end for ii = index(i_sp1l):1:num_boom A2 = A2+(yl(ii)*(xc(ii+1)-xc(ii))); end for ii = index(i_sp1u):1:index(i_sp2u) A1 = A1+abs(yu(ii)*(xc(ii+1)-xc(ii))); end for ii = index(i_sp1l):1:index(i_sp2l) A1 = A1+abs(yl(ii)*(xc(ii+1)-xc(ii))); end
  • 86. 80 c1 = zeros(num_boom,1); c2 = zeros(num_boom,1); c3 = zeros(num_boom,1); c4 = zeros(num_boom,1); for ii = 1:1:i_sp1u-1 c1(ii) = (q_b(ii, ii+1))*l(ii,ii+1)/t_sk(ii); c2(ii) = 0; c3(ii) = l(ii,ii+1)/t_sk(ii); end for ii = i_sp1l:1:num_boom-1 c1(ii) = (q_b(ii, ii+1))*l(ii,ii+1)/t_sk(ii); c2(ii) = 0; c3(ii) = l(ii,ii+1)/t_sk(ii); end for ii = i_sp1u:1:i_sp1l-1 c2(ii) = (q_b(ii, ii+1))*l(ii,ii+1)/t_sk(ii); c1(ii) = 0; c4(ii) = l(ii,ii+1)/t_sk(ii); end const_1 = sum(c2)/A2-sum(c1)/A1; const_3 = sum(c3)/A1; const_4 = sum(c4)/A2; % internal moment = external moment % moment of Lift taken at center of pressure int_mom = []; beta = []; f = []; for ii = 1:1:(num_boom-1) jj = ii+1; dy = y_boom(jj)-y_boom(ii); if 1<=ii<0.5*num_boom dx = abs(x_boom(jj)-x_boom(ii)); else dx = x_boom(jj)-x_boom(ii); end beta(ii) = atan(dy/dx); int_mom(ii) = q_b(ii,jj)*l(ii,jj)*cos(beta(ii))*abs(y_boom(ii)- y_cent)+q_b(ii,jj)*l(ii,jj)*sin(beta(ii))*abs(x_boom(ii)-x_ac); end % int_mom = int_mom + 2*A1*q_o1 + 2*A2*q_o2; const_2 = sum(int_mom); A = [(l(i_sp1u, i_sp1l)/(A2*t_sp(1))+l(i_sp1u, i_sp1l)/(A1*t_sp(1))+l(i_sp2u, i_sp2l)/(A1*t_sp(2))+const_3) -(2*l(i_sp1u, i_sp1l)/(A2*t_sp(1))+const_4);- 2*A1 -2*A2]; qo = []; qo = inv(A)*[const_1; const_2]; q_o1 = qo(1); q_o2 = qo(2);
  • 87. 81 Torque = 2*A1*q_o1+2*A2*q_o2; %torsion twist_angle = 0; for ii = i_sp1u:1:i_sp1l-1 twist_angle = twist_angle + (q_b(ii, ii+1)+q_o2)*l(ii,ii+1)/t_sk(ii); end twist_angle = twist_angle+(q_b(i_sp1l, i_sp1u)+(q_o2-q_o1))*l(i_sp1u, i_sp1l)/t_sp(1); twist_angle = twist_angle/(2*A2*G); % dtheta/dz [rad/m] NA = -(Mx(2)*Iyy - My(2)*Ixy)/(My(2)*Ixx - Mx(2)*Ixy); % neutral axis, yNA/xNA or tan(alpha) %total shear q = zeros(num_boom, num_boom); for ii = 1:1:i_sp1u q(ii, ii+1) = q_b(ii, ii+1)+q_o1; end for ii = i_sp1l:1:num_boom-1 q(ii, ii+1) = q_b(ii, ii+1)+q_o1; end for ii = i_sp1u:1:i_sp1l-1 q(ii, ii+1) = q_b(ii, ii+1)+q_o2; end q(i_sp1u, i_sp1l) = q_b(i_sp1u, i_sp1l) + q_o1-q_o2; q(i_sp1l, i_sp1u) = -q(i_sp1u, i_sp1l); q(i_sp2l, i_sp2u) = q_o1; %shear stress tau = zeros(num_boom, num_boom); for ii = 1:1:num_boom-1 tau(ii, ii+1) = q(ii, ii+1)./t_sk(ii); end tau(i_sp1u, i_sp1l) = q(i_sp1u, i_sp1l)/t_sp(1); tau(i_sp1l, i_sp1u) = -tau(i_sp1u, i_sp1l); tau(i_sp2l, i_sp2u) = q(i_sp2l, i_sp2u)/t_sp(2); max_shear_stress = max(max(tau))*1e-6; %% %shear center % internal moment = external moment % moment of Lift taken at center of pressure csc_1 = sum(int_mom)-Sy(2)*x_ac; csc_2 = sum(c1)/A1; csc_3 = sum(c2)/A2; A = [(l(i_sp2u,i_sp2l)/t_sp(2)+l(i_sp1u, i_sp1l)/(A1*t_sp(1)))+const_3 - l(i_sp1u, i_sp1l)/(A2*t_sp(1)) 0; -l(i_sp1u, i_sp1l)/(A1*t_sp(1)) l(i_sp1u, i_sp1l)/(A2*t_sp(1))+const_4 0; -2*A1 -2*A2 Sy(2)]; sol = []; sol = inv(A)*[-csc_2; -csc_3; csc_1]; q01 = sol(1); q02 = sol(2); x_sc = sol(3); %von mises
  • 88. 82 index_2 = []; % mid point between stringers for i = 1:1:num_boom-1 if i < 0.5*num_boom || 0.5*num_boom<i<=num_boom-1 index_2(i) = round((index(i)+index(i+1))/2); else index_2(i) = 0; end end sigma33 = zeros(num_boom-1,1); for ii =1:1:num_boom-1 if i < 0.5*num_boom sigma33(ii) = (My(2)*Ixx-Mx(2)*Ixy)/div*(xu(index_2(ii))- x_cent)+(Mx(2)*Iyy-My(2)*Ixy)/div*(yu(index_2(ii))-y_cent); elseif i > 0.5*num_boom sigma33(ii) = (My(2)*Ixx-Mx(2)*Ixy)/div*(xl(index_2(ii))- x_cent)+(Mx(2)*Iyy-My(2)*Ixy)/div*(yl(index_2(ii))-y_cent); else sigma33(ii) = 0; end end sigmae = []; for ii = 1:1:num_boom-1 sigmae(ii) = 1/sqrt(2)*sqrt(2*sigma33(ii)^2+6*(tau(ii, ii+1))^2); end sigmae = sigmae*1e-6; end
  • 89. 83 Max Stresses function [max_stress,stress_str] = find_max_stress(q,Ixx,Iyy,Ixy,My,Mx, stringX, stringY, sparX, sparY) switch q case 'stringer' stress_str = zeros(length(stringX),1); for i = 1:length(stringX) stress_str(i) = (((((My*Ixx)-(Mx*Ixy))*stringX(i)) +... (((Mx*Iyy)-(My*Ixy))*stringY(i)))*1e-6)/(Ixx*Iyy - Ixy*Ixy); end max_stress = min(stress_str); %[MPA] case 'spar1' stress = ((((My*Ixx)-(Mx*Ixy))*sparX(2)) +... (((Mx*Iyy)-(My*Ixy))*sparY(2)))/(Ixx*Iyy - Ixy*Ixy); max_stress = stress*10^-6; case 'spar2' stress = ((((My*Ixx)-(Mx*Ixy))*sparX(1)) +... (((Mx*Iyy)-(My*Ixy))*sparY(1)))/(Ixx*Iyy - Ixy*Ixy); max_stress = stress*10^-6; otherwise disp('invalid') end end
  • 90. 84 Divergence function [Vd] = find_divergence(rho,b,x_sc,twist_angle,torque, lift, Cl_a) ac = 0.25*0.986116; %aerodynamic center ec = x_sc - ac; S = 7.7764; %m^2 max_twist = twist_angle*(b/2); %rad/m K = (torque + lift*ec)/max_twist; Vd = sqrt((2*K)/(rho*S*ec*Cl_a)); end
  • 91. 85 Plots function make_plots(x,y,b,stringX,stringY,sp_cpX,sp_cpY,wx,wy,Sx,Sy,Mx,My,deflx,defly, sigma_yield,FOS,sigmae) %spar 0.3 m from LE spar1y = sp_cpY(2):-0.001:sp_cpY(3); spar1x = ones(length(spar1y),1)' * sp_cpX(2); % spar at end spar2y = sp_cpY(1):-0.001:sp_cpY(4); spar2x = ones(length(spar2y),1)' * sp_cpX(1); z = 0:0.01:b/2; % airfoil cross_section figure plot(x,y,'b'); hold on; plot(stringX, stringY, 'or') plot(spar1x,spar1y, '.b') plot(spar2x,spar2y, '.b') legend('wing model', 'stringers') axis([-0.5 0.5 -0.25 0.25]); xlabel('length(m)'); ylabel('length(m)'); set(gca,'fontsize', 15) grid on saveas(gca,'Wing Cross-section','jpg'); % Force Distribution figure subplot(2,1,1) plot(z,wy,'b') ylabel('Normal Force Distribution [N/m]', 'fontname','times new roman') xlabel('Spanwise Location, z [m]', 'fontname','times new roman') grid on set(gca,'fontsize', 15) subplot(2,1,2) plot(z,wx,'r') ylabel('Tangential Force Distribution [N/m]', 'fontname','times new roman') xlabel('Spanwise Location, z [m]', 'fontname','times new roman') set(gca,'fontsize', 15) grid on saveas(gca,'Force Distribution','jpg'); % Shear Distribution figure subplot(2,1,1) plot(z,Sy,'b') ylabel('Shear, Sy [N]', 'fontname','times new roman') xlabel('Spanwise Location, z [m]', 'fontname','times new roman') %set(gca,'fontsize', 15) grid on subplot(2,1,2) plot(z,Sx,'r')
  • 92. 86 ylabel('Shear, Sx [N]', 'fontname','times new roman') xlabel('Spanwise Location, z [m]', 'fontname','times new roman') set(gca,'fontsize', 15) grid on saveas(gca,'Shear','jpg'); % Moment Distribution figure subplot(2,1,1) plot(z,My,'b') ylabel('Moment, My [N*m]', 'fontname','times new roman') xlabel('Spanwise Location, z [m]', 'fontname','times new roman') set(gca,'fontsize', 15) grid on subplot(2,1,2) plot(z,Mx,'r') ylabel('Moment, Mx [N*m]', 'fontname','times new roman') xlabel('Spanwise Location, z [m]', 'fontname','times new roman') set(gca,'fontsize', 15) grid on saveas(gca,'Moments','jpg'); %Deflections figure subplot(2,1,1) plot(z,defly,'b') ylabel('Deflection, wy [m]', 'fontname','times new roman') xlabel('Spanwise Location, z [m]', 'fontname','times new roman') set(gca,'fontsize', 15) grid on subplot(2,1,2) plot(z,deflx,'r') ylabel('Deflection, wx [m]', 'fontname','times new roman') xlabel('Spanwise Location, z [m]', 'fontname','times new roman') set(gca,'fontsize', 15) grid on saveas(gca,'Deflections','jpg'); % Stresses figure cs = 15; scatter(x,y,cs,stress(1,:),'filled'); hold on; jj = colorbar; ylabel(jj,'Max Stresses [MPa]'); axis([-0.5 0.5 -0.25 0.25]); xlabel('length(m)'); ylabel('length(m)'); set(gca,'fontsize', 15) grid on saveas(gca,'Bending Stress','jpg'); %Von Mises Plot yield = sigma_yield/FOS; %yield strength with safety factor alpha = -pi/4; %rotation angle
  • 93. 87 a = sqrt(2)*yield; % semi-major axis in x'y' coordinate frame b = 1.15*yield*sin(alpha); % semi-minor axis %plot ellipse x = linspace(-a,a); yu = b*sqrt(1-x.^2/a^2); yl = -b*sqrt(1-x.^2/a^2); %changes coordinate system to xy xcu = x*cos(alpha)+yu*sin(alpha); ycu = yu*cos(alpha)-x*sin(alpha); xcl = x*cos(alpha)+yl*sin(alpha); ycl = yl*cos(alpha)-x*sin(alpha); %plots ellipse in xy coordinate frame for von Mises figure('units', 'normalized','outerposition',[0 0 1 1]) %subplot(2,1,1) hold on plot(xcu,ycu,'b') plot(xcl,ycl,'b') % %vertical lines % line([yield yield],[0 yield]); % line([-yield -yield],[0 -yield]); % %horizaontal lines % line([0 yield],[yield yield]); % line([0 -yield],[-yield -yield]); %diagonal lines % line([0 -yield],[yield 0]); % line([0 yield],[-yield 0]); % plot ([0,0],[yield,-yield],'-'); % %y axis % plot([0 0], [yield,-yield]); % %x asix % plot([-yield,yield], [0,0]); %Sigma Effective %plot(0,sigmae,'xr','Color',[0.6 0 0]); plot(sigmae,0,'xr','Color',[0.6 0 0],'markersize',15); grid on xlabel('Princle Stress sigma_2 [MPa]') ylabel('Princle Stress sigma_1 [MPa]') set(gca,'fontsize', 15) grid on saveas(gca,'Von Mises','jpg'); end