Top Banner
1 Aircraft Loads 5: A Computational Study of the Major Structural Components and Behaviour of Flexible Aircraft By Lee Catherine Ramsay 1103072R Date of Submission: 22/05/2016
39

Aircraft Loads 5 Report

Apr 11, 2017

Download

Documents

Lee Ramsay
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Aircraft Loads 5 Report

1

Aircraft Loads 5:

A Computational Study of the Major Structural Components and Behaviour of Flexible Aircraft

By Lee Catherine Ramsay

1103072R

Date of Submission: 22/05/2016

Page 2: Aircraft Loads 5 Report

2

Nomenclature AIC = Aerodynamic influence coefficient

AR = Aspect Ratio

b = Half chord

Ctheo = Theodorsen function

Ci = Collocation point

Clα = Lift curve slope

c = Chord

EI = Flexural rigidity

e = Elastic location relative to ¼ chord

GJ = Torsional rigidity

Is = Inertia of store

Iw = Inertia of wing

K = Stiffness matrix

k = Reduced frequency

L = Semi-span

LAM = Sweep angle of half chord

Li = Lift generated by each horseshoe vortex

M = Number of polynomial torsional modes

Mtotal = Total mass matrix

Mstore = Mass matrix of store

Mwing = Mass matrix of wing

m0 = Lift curve slope from Kuchmann-Helmbold

m = Mass of wing

N = Number of polynomial bending modes

NP = Number of panels along the span

S = Wing area

VAiBi = Velocity due to A, B points of horseshoe vortex

VAi∞ = Velcoity due to A, ∞ points of horseshoe vortex

VBi∞ = Velcoity due to B, ∞ points of horseshoe vortex

V∞ = Airspeed

y/L = Position along the span

Greek Symbols

ω = Natural frequency

θ = Twist angle

φ = Bending function

φ = Torsional function

Page 3: Aircraft Loads 5 Report

3

λ = Taper ratio

ρ = Density

Γi = Circulation vector

α = Pitch angle of aircraft

Abstract: Modern aircraft structures may be very flexible and this flexibility of the airframe makes aeroelastic

study an important aspect of aircraft design and verification procedures. Flutter is a dynamic aeroelastic

instability characterized by sustained oscillation of the wing or tail planform structure, arising from interaction

between the elastic, inertial and aerodynamic forces acting on the body. This study presents a computational

analysis of the major structural components and behaviour of flexible aircraft. Using compiled computer codes

unique to this study, an investigation is carried out to determine the accuracy of current industrial methods

which are used to predict aeroelastic effects such as flutter and deduce the affecting numerical parameters.

Page 4: Aircraft Loads 5 Report

4

Section 1 1.1 Method

This section utilises a MATLAB code to determine the natural frequencies and normal loads of a cantilever

wing with store placed at different span-wise positions. The method employed requires calculation of the natural

frequencies of the modes, which are determined from the total mass matrix [Mtotal], and the stiffness matrix

[K], where the total mass matrix is formed through the addition of the individual mass matrices for both the

wing and the store as such:

𝑀$%&' =𝑚.𝐷𝑒𝑙 −𝑚. 𝑥0. 𝑏. 𝐶

−𝑚. 𝑥0. 𝑏. 𝐶3 𝐼$. 𝐷 (1)

𝑀56789 =𝑚5. 𝐷𝑒𝑙5 𝑚5. 𝑥05. 𝑏5. 𝐶5

𝑚5. 𝑥05. 𝑏5. 𝐶35 𝐼5. 𝐷5

(2)

𝑀676:; =𝑚. 𝐷𝑒𝑙 + 𝑚5. 𝐷𝑒𝑙5 −(𝑚. 𝑥0. 𝑏. 𝐶 + 𝑚5. 𝑥05. 𝑏5. 𝐶5)

−(𝑚. 𝑥0. 𝑏. 𝐶3 + 𝑚5. 𝑥05. 𝑏5. 𝐶35) 𝐼$. 𝐷 + 𝐼$5. 𝐷5

(3)

𝐾 = 𝐸𝐼. 𝐵 00 𝐺𝐽. 𝑇 (4)

The addition of the store along the span of the wing changes the natural frequencies of the wing and therefore, it

requires that the mass matrix for the store, Eq. (2), be added to the mass matrix for the wing, Eq. (1), resulting in

Eq. (3). The total stiffness matrix is unaffected by the addition of the store and so, is simply of the form given in

Eq. (4); where EI is the flexural rigidity and GJ is the torsional rigidity.

Once the mass and stiffness matrices have been formed, the basis functions of bending and torsion are then

chosen so that they meet the criteria of admissibility, and are easy to differentiate analytically prior to numerical

evaluation and integration. The basis functions are given by:

𝑤 𝑦, 𝑡 = 𝜑%(𝑦)𝑎%(𝑡)L%MN (5)

𝜃 𝑦, 𝑡 = 𝜙%(𝑦)𝑏%(𝑡)Q%MN (6)

where N and M are the number of assumed bending and torsional modes respectively.

Numerical evaluation of 𝑤 𝑦, 𝑡 and 𝜃 𝑦, 𝑡 gives the bending function and torsional function as:

𝜑% 𝑦 = (𝑦 𝐿)%SN (7)

𝜙% 𝑦 = (𝑦 𝐿)% (8)

These functions are used to form the matrices located within the total mass matrix and the stiffness matrix; the

matrices embedded within each are the resultants of the integrals of products of the assumed modes.

𝐷𝑒𝑙 LTL = 𝜑𝜑U𝑑𝑦WX (9)

Page 5: Aircraft Loads 5 Report

5

𝐷 QTQ = 𝜙𝜙U𝑑𝑦WX (10)

𝐶 LTQ = 𝜑𝜙U𝑑𝑦WX (11)

The corresponding [Dels], [Ds] and [Cs] matrices found within the store mass matrix follow the same format as

those above, but with y=Lstore. The [B] and [T] matrices for the stiffness matrix are also computed using the

format:

𝐵 LTL = 𝜑′′𝜑′′U𝑑𝑦WX (12)

𝑇 QTQ = 𝜙′𝜙′U𝑑𝑦WX (13)

It is important to note that the matrix dimensions of those given above are entirely dependent on the number of

bending (N) and torsional (M) modes. The natural frequencies are then computed by solving the eigenvalue

problem:

𝐾 − 𝜆 𝑀676:; = 0 (14)

Then, the bending and torsion of the wing can be computed for each mode, using the eigenvectors, V, of the

above system as:

𝑤 𝑦 = 𝜑[(𝑦)𝑉[%L[MN (15)

𝜃 𝑦 = 𝜙[(𝑦)𝑉[%Q[MN (16)

The bending and torsion resultants are then combined to produce a clear image of the bending-torsional motions

of the wing, and plotted for N=9 and M=8.

1.2 Validation of Code On consideration of Fig. (1), it is observed that the computed torsional frequency coincides perfectly with the

experimental reference torsional frequency taken from the NACA TN1594 reference paper. The first bending

frequency has a noticeable offset from the experimental values, but nevertheless it follows the profile well, as

does that of the seconding bending mode against corresponding reference data for mass 4 from the NASA

TN1594 article.

The obvious discrepancies in the natural frequencies for bending arise from the basis function which are used in

this study. The basis functions chosen, though acceptable, are not free from simplifications. This means that

although they provide sufficient representations of the bending and torsional modes of the Warren 12 wing

planform, they could be replaced with higher order expressions which are more likely to be used in industrial

design analysis, such as that utilised in the NACA TN1594 document. The specific structural models chosen to

simulate bending and torsional functions determine the accuracy with which the generalised mass and stiffness

matrices are determined, and thus are the most likely source of error in this study.

The basis models prose limitations on the values of N and M that can be computed. The chosen values of N and

M, corresponding to the number of bending and torsional models respectively, are not arbitrary. Both values

Page 6: Aircraft Loads 5 Report

6

must be varied to find the optimal values that are allowed, computationally, by the computer code. For example,

utilising unity for both modes provides an output of less than desirable accuracy, with even the torsional

computed frequency offset from the experimental values. But alternatively, if extremely high values are chosen,

they may be too large for the code to compute.

If the values of bending and torsion modes are increased to N=3 and M=2, as shown in Fig. (3) we see a

credible likeness between the computed and experimental bending and torsional frequencies. Whilst both

computed bending frequencies exhibit similar profiles to those of the experimental data, of interest is the steeper

gradient at the inner most locations of the store position, y/L, between 0 and 0.2, for the first bending mode. The

torsional frequency meanwhile, is seen to be consistent with the experimental data.

As N increases, the results become more accurate, with large values of N approaching the true deformation of

the system. However, the maximum value of N that is computationally feasible by the computer code is 10.

Upon exceeding this value, the plot of frequencies against store position along the span becomes distorted as the

value of frequency becomes imaginary and so, the data is no longer credible. The profile shape reaches a limit

of accuracy prior to N=10 however. As N is increased from 5 to 10, there is no evident change in the profile of

the frequencies for first and second bending mode. The current plot provided in Fig. (1) uses a bending mode of

5 and a torsional mode of 4.

Figure 1 – Modal Frequency variation with store position along span

Page 7: Aircraft Loads 5 Report

7

1.3 3D Mode Shapes for Bending and Torsional Vibrations

Figure 2 - 3D wing mode shape for bending and torsional vibrations for N=5 and M=4

Figure 3 - 3D wing mode shape for bending and torsional vibrations for N=3 and M=2

Figure 4 - 3D wing mode shape for bending and torsional vibrations for N=2 and M=1

Page 8: Aircraft Loads 5 Report

8

1.4 Investigation of Numerical Parameters

Once the code has been validated against the experimental data for the Warren 12 and thus, is accepted as a

viable means of representing a swept, elastic wing section in generating lift, the code can be used to investigate

all of the aerodynamic numerical parameters involved.

a. Mass of the store

Increasing the mass of the store induces a greater root frequency value for both the first and second bending

profiles. During design stages this could be considered dangerous as at the root section of the wing deformation

should be zero to ensure damage to the wing or even in extreme cases, breaking or snapping does not occur. The

effect on the torsional frequency is very slight however, with only the outermost positions of the store

experiencing a very slight reduction in frequency values than that of the experimental data. Decreasing the mass

of the store has much less effect on the frequency modes, as expected. The torsional frequency one again

exhibits a very slight offset in the outer edge positions of the store, with the frequency values laying just slightly

above that of the experimental data, again as expected when utilising a smaller mass.

b. X-location of the store

Increasing the x-location of the store exhibits greater frequency values at the outer edge positions of the store,

with a noticeably sharper peak in frequency between locations 0.7 and 0.9 (y/L). There is no noticeable effect on

the torsional frequency. Decreasing the x-location of the store actually lowers the values of second bending

frequency, making them more consistent with those of the experimental data; particularly between store

locations of ~0.4 and ~0.6. Again there is no noticeable effect on the torsional frequency

c. Inertia of store

Increasing the inertia of the store to ~3 times the value of the wing inertia greatly enhances the similarity

between the computational and experimental data. Both bending profiles are more consistent with the

experimental data. Whilst the general shape of the profiles is improved, the initial higher root frequency values

are still present. The torsional frequency remains consistent with the experimental data. Decreasing the inertia of

the store to ~1.2 times the value of the wing inertia exaggerates the peak of the frequency profile for the first

bending mode between ~0.7 and 1. The frequency values of the second bending mode can also be seen to

increase along the span for store position.

d. Elastic Axis position

Increasing the elastic axis position to ~0.637c distorts both of the bending frequencies from the profiles

illustrated in Fig. (1), producing a slightly lower root frequency for the first bending mode, yet a much greater

root frequency for the second bending mode with a much steeper decline along the length of the wing. Again,

high frequencies at the root are cause for concern in terms of design as the rigid profile of the structure at the

root should not be flexible. Again, no effect is significant in the torsional frequency with increased elastic axis

position. Decreasing the position of the elastic axis to ~ 0.237 creates a very accurate first bending frequency

profile but simultaneously induces a very large root frequency value for the second bending mode. Once again a

Page 9: Aircraft Loads 5 Report

9

safe design must ensure that the wing exhibits zero deformation at the root to avoid breaking/snapping off

during flight. Again, no effect is observed on the torsional frequency.

e. Inertial Axis

Increasing the location of the inertial axis has the same effect as decreasing the elastic axis position. Similarly,

decreasing the location of the inertial axis has the same effect as increasing the elastic axis position.

f. Rho

Decreasing rho (i.e. increasing altitude) has no noticeable effect on the bending or torsional frequencies for any

store location.

Section 2

2.1 Method

Lift computations on a swept, elastic wing are a common area of research in the world of aerodynamics. A

classical method, widely used in both industry and in academia for aerodynamic estimates for the conceptual

and preliminary design predictions of lift is the Vortex Lattice Method (Masson, 1998). The VLM method

provides good insight into the aerodynamics of wings, including interactions between lifting surfaces. It stems

from the theory that a sheet of vortices can support a jump in tangential velocity (i.e. a force) while the normal

velocity is continuous (Masson, 1998). This means that you can use a vortex sheet to represent a lifting surface.

The process of the VLM is to calculate lift by employing a series of panels along the wing span of a given

planform. Each panel includes a horseshoe vortex which trails parallel to the wing axis as illustrated in Fig. (5).

Figure 5 – Horseshoe Vortex

These horseshoe vortices produce lift according to:

𝐿% = 𝜌𝑉 Γ%Δ𝑦% (17)

Each horseshoe vortex consists of 3 segments; ∞ to Ai, Ai to Bi, and Bi to ∞. The primary points are the

connecting points A and B, where a finite vortex is defined. The velocity induced by each horseshoe vortex is

computed at the collocation point, Ci, which coincides with the aerodynamic centre of the panel. The Biot-

Savart law, which can be applied to a vortex filament to reduce the velocity to the correct 2D behaviour, can be

Page 10: Aircraft Loads 5 Report

10

used for the calculation of the downwash at each collocation point provided that the circulation Γ% is known for

each vortex system, (Fung, 1993).

Figure 6 – Nomenclature for induced velocity calculation

Using this method, the resultant velocities due to each section are:

𝑉abcb =dbef

8g×8j

(8g×8j)j 𝑟X.

8g8g

8j8j

𝑉ab^ = dbef

(lmlg)nS(ogmo)p

(lmlg)jS(ogmo)j1 + (TmTg)

(TmTg)jS(omog)j (18)

𝑉cb^ =−Γ%4𝜋

(𝑧 − 𝑧u)[ + (𝑦u − 𝑦)v(𝑧 − 𝑧u)u + (𝑦u − 𝑦)u

1 +(𝑥 − 𝑥u)

(𝑥 − 𝑥u)u + (𝑦 − 𝑦u)u

where the vectors 𝑟X, 𝑟N, 𝑟u used in Eq. (18) are calculated from Ai, Bi, and Cj as such:

𝑟X = 𝐴𝐵 , 𝑟N = 𝐴𝐶, 𝑟u = 𝐵𝐶 (19)

The sum of the contributions to the downwash from all of the components of the horseshoe vortex is the

aerodynamic influence coefficient (AIC). The vortex strength of each panel, Γ%, can be computed by applying a

tangent flow condition:

𝑉. 𝑛 = 0 (20)

i.e. no penetration of the wing surface.

The collocation points, Ci, are taken at ¾c. Initially, 50 panels are implemented on each wing and increased as

necessary in the code. From the taper ratio of the wings, the coordinates of A, B and C can be calculated.

Collecting all induced velocities by each point of A and B to all points of C on the wing results in a system of

the form:

𝐴𝐼𝐶 Γ = 𝐵 (21)

where Γ is the vector of the unknown circulations and B:

𝐵[ = − 𝑉 𝑐𝑜𝑠 ∝ +𝑉 𝑠𝑖𝑛 ∝ (22)

which represents the incident flow in terms of the unit normal to the panel. Once the system is solved, the lift at

each panel can be computed as given in Eq. (17), noting that the lift of the wing is the sum of all the individual

lift contributions from the panels.

Page 11: Aircraft Loads 5 Report

11

The total lift produced is found by integrating the contributions of Eq. (17) for all panels along the span. This

value should be equal to the weight of the aircraft and also some additional lift, Lover, due to the flexing of the

wing. In addition to the induced flow, the wing is at a pitch angle with respect to the inflow. As the wing

deforms, the lift produced will also change. Therefore, variation of the pitch angle is necessary to maintain the

required lift, allowing rigid and elastic wings to be compared at the same lift value. Lover should be reduced to

zero to prevent the aircraft from climbing. This is done using an iterative method that alters the pitch angle of

the aircraft, ∝.

∝&9$=∝7;~− 𝑒𝐿7�98 (23)

where e is a gain.

These iterations must be combined with an appropriate convergence criterion to find the Ltotal of the wing to

within a small error percentage of the aircraft weight. The convergence criterion utilised in the computer code

is:

𝐴𝑏𝑠𝑜𝑙𝑢𝑡𝑒𝑣𝑎𝑙𝑢𝑒𝑜𝑓𝐿7�98 < :%8�8:�6$9%'�6,�'

NXX (24)

The computer code will end once this criterion is met.

2.2 Validation

Before analysis could be carried out using the code generated in Section 2.1, it was necessary to provide a

sufficient validation of the code against reference data for the Warren 12 wing using the published 𝐶𝑙∝. The

Warren 12 benchmark planform parameters are given in Table 1. This wing planform produces a lift curve slope

of 2.7243rad-1.

Table 1: Input parameters for Warren 12 planform

Planform Parameter Value

chord, c 1.5

taper ratio, λ 23

semi-span, L 2

sweep angle of half chord, LAM 45˚

wing area, S 2 2

elastic location relative to ¼ chord, e 0.25

Page 12: Aircraft Loads 5 Report

12

Figure 7 – 3D plot of Warren 12 wing planform

Initially, the calculated lift curve slope is very close to the experimental value. The main variable of interest that

can be used to increase the accuracy of the VLM is the number of panels, NP, implemented along the wing

span. As we increase NP, the accuracy should theoretically increase and through linear interpolation should be

able to determine the optimum number of panels to produce the experimental value of the lift curve slope for the

Warren 12.

Starting with 50 panels on each wing, and increasing linearly for each run of the code produces the relationship

with lift curve slope, 𝐶𝑙∝, given in Fig. (8).

Figure 8 – Relationship between lift coefficient and number of vortex panels

As shown, the value of 𝐶𝑙∝=2.7243rad-1 lies in between 140 and 150 panels, found precisely to be 146 by means

of linear interpolation. Thus, with 73 vortex panels on each semi-span, the compiled code presents an accurate

means of epitomizing the surface of the wing in generating lift.

Page 13: Aircraft Loads 5 Report

13

A second means of validation was also implemented, which focused on the Kuchemann-Helmbold Equation

which utilizes the theory that for a high aspect ratio wing planform, the lift curve slope, 𝐶𝑙∝, reaches a

maximum value of 2π rad-1.

𝑚 = ���75�

NS ���������

jS������

���

(25)

Using Eq. (25), for the parameters listed in Table 2 which represent a high aspect ratio wing, the lift curve slope

is calculated to be 6.283rad-1. The same values are also input to the computer code which result in a value of

6.227rad-1, closely matching the theoretical value. Again, accuracy of these values can be enhanced by

considering the number of panels placed along the wingspan. To adapt to the case of a high aspect ratio wing,

many more than 146 panels would be required for an accurate representation of the lift curve slope. Increasing

the number of panels to 200, brings 𝐶𝑙∝ to 2.266rad-1 and if NP is increased again, by a further 10 panels on

each side we reach 2.268. As shown, if this trend is continued linear interpolation could be used to find the exact

number of panels required for the desired value. However, due to computational limitations this is not always

possible. For this particular case it appears that the computational limit is reached at 220 panels across the wing.

Table 2: Input parameters to simulate high aspect ratio wing

Input Parameter Value

m0 2π

AR 1e+05

Λ 0°

2.3 Sweep

One of the key advantages of using the VLM technique compared to other methods, such as the lifting line

theory, is the ability to treat swept wings. Sweep is primarily used to delay the effects of compressibility and

increase the drag divergence Mach number. The Mach number controlling these effects is approximately equal

to the Mach number normal to the leading edge of the wing (Fung, 1993). Aerodynamic performance is based

on the wingspan, b. For a fixed span, the structural span increases with sweep, bs = b/cosΛ, resulting in a higher

wing weight (Dowell & Clark, 2004). Wing sweep also leads to aeroelastic problems. For aft swept wings

flutter becomes an important consideration. If the wing is swept forward, divergence is a problem. Small

changes in sweep can be used to control the aerodynamic centre when it is not practical to adjust the wing

position on the fuselage.

To understand the effect of sweep, the Warren 12 is compared with wings of the same span and aspect ratio, but

unswept and swept forward. The effect of sweep is very prominent in Fig. (9). The aft swept wing results in a

comparatively higher wing lift coefficient. To understand this effect, we must first consider the change in

spanload due to sweep. As the wing is swept aft, the spanload outboard is increased, whilst sweeping the wing

forward decreases the spanload outboard, (Masson, 1998). Both results stem directly from the vortex lattice

Page 14: Aircraft Loads 5 Report

14

model of the wing. In each case, the portion of the wing aft on the planform in operation in the induced upwash

flowfield of the wing ahead of it, results in an increased spanload.

Figure 9 –Lift coefficient distribution for a range of sweep angles

2.4 Investigation of numerical parameters

a. Taper Ratio

The effect of increasing the taper ratio changes the distribution of lift across the span, increasing the lift

generated at the root for smaller taper ratio values but increasing the maximum lift generated before stall occurs

for greater taper ratios. Decreasing the taper ratio also provides a more even distribution of lift across the span.

Figure 10 – Wing lift distribution with varying taper ratio

Page 15: Aircraft Loads 5 Report

15

The change in taper for this particular wing planform does not exhibit any noticeable changes in either bending

and torsion. If, however, wings of a greater aspect ratio which would be more susceptible to aeroelastic effects

were compared these, the results would be comparatively significant. This is predicted, as there is an increase in

aeroelastic angle observed when taper ratio is increased. Similarly, the pitch angle also increases.

b. Flexural Rigidity Increasing the value of flexural rigidity, EI, decreases the bending of the wing planform, though still only small

deformations exist. No effects are visible for pitch angle or torsion with change in EI in this case due to the

small deformations that are occurring due to the rigid nature of the Warren 12 planform as a result of small

aspect ratio. The effect on the aeroelastic angle, for the particular values plotted, shows little variability with this

change.

Figure 11 – Bending variation with flexural rigidity

c. Torsional Rigidity

By decreasing the value of torsional rigidity, GJ, the resultant twist in the wing-span is increased.

Figure 12 - Torsion angle variation with torsional rigidity

Page 16: Aircraft Loads 5 Report

16

d. Aspect Ratio

Increasing the aspect ratio produces a similar profile to that of the Warren 12 planform, but with peaks

exaggerated.

Section 3

3.1 Method

Flutter has earned the title of the most dramatic aeroelastic phenomenon due to the violent and often

catastrophic oscillations of the wings, tail plane, rotor blade or propeller blade that occur at a critical airspeed.

The oscillations consist of both flexural and torsional vibrations of the lifting surface and it has been found that

seemingly minor alterations or modifications to wing structures may cause flutter (Masson 1998). A phase

difference between the bending and torsion modes and the corresponding aerodynamics forces allows energy to

be extracted from the free-stream by the wing. The motion is self-excited and grows exponentially in its initial

stages but then non-linear effects, such as stall, and non-linear structural effects act to limit the oscillation

amplitude to some finite value. For such reasons, flutter is an extensive subject and involves much unsteady

aerodynamics, with multiple types of flutter existing.

This section will focus on using the K-flutter computations of a high aspect ratio wing. A MATLAB code will

be implemented to determine the flutter and frequency of a cantilever wing with a store at a span-wise position,

y. The section of the code used for computing wing natural frequencies and flutter.

To determine the flutter speed and frequency a model of the form is required:

𝑀676:; 𝜂 + 𝐾 𝜂 = (𝑄) (26) where M and K are the mass and stiffness matrices as defined in Section 1. The value of Q is dependent on study aerodynamics and so, incorporates Theodorson’s theory that the Q matrix

can be evaluated from:

𝑄 = 2𝜋𝑏𝑘uΔ 𝑎𝑏𝐶

𝑎𝑏𝐶U 𝑏u 𝑎u + N�𝐷 +

−2𝜋𝑘𝑗2𝐶U�97(𝑘)Δ −𝑏 1 + 2 N

u− 𝑎 𝐶U�97 𝑘 𝐶

2𝑏(Nu+ 𝑎)𝐶U�97(𝑘)𝐶U 𝑏u N

u− 𝑎 1 − 2 N

u− 𝑎 𝐶U�97 𝑘 𝐷

+

−2𝜋𝑏0 −2𝐶U�97(𝑘)𝐶0 −𝑏(1 + 2𝑎)𝐶U�97(𝑘)𝐷

(27)

where 𝐶U�97 𝑘 =��j�g

�g 9�np~5

��g��g

�g 9�np�~5

, which is easily calculated in MATLAB using Bessel functions of the form:

𝐶 𝑘 = 𝐹 𝑘 + 𝑗𝐺 𝑘 , 𝑎 = 𝐸𝐴 �0− 0.5, b is the half chord, k is the reduced frequency and the matrices are

as defined in Section 1.1. It is important to note that, as before, the matrices Δ, C and D, embedded within Eq.

(27) will require the addition of the corresponding store matrix.

Page 17: Aircraft Loads 5 Report

17

The form of Eq. (27) is used to derive the characteristic polynomial and from that the flutter speeds and flutter

frequencies.

This can be rewritten in the form: 𝐴𝜂 + 𝐸𝜂 = 𝐴∗𝜂 + 𝐵∗𝜂 + 𝐶∗𝜂 where 𝐴∗, 𝐵∗and𝐶∗are the apparent mass,

aerodynamic damping and aerodynamic stiffness matrices, respectively. The reduced frequency is 𝑘 = ¢0£

.

At the flutter point the motion of the wing is assumed to be harmonic: 𝜂 = 𝜂𝑒[¢6.

Thus, the flutter equation becomes:

−𝜔u𝐴 + 𝐸 𝜂 = 𝐻(𝑗𝜔)𝜂 (28)

where 𝐻(𝑗𝜔) is the aerodynamic response matrix expanded as −𝜔u𝐴∗ + 𝑗𝜔𝐵∗ + 𝐶∗ .

Normalising using the dynamic head reads:

Nu𝜌𝑈u𝐴 𝑗𝑘 = 𝐻(𝑗𝜔) (29)

Combining Eq. (28) and Eq. (29) results in:

𝐸mN 𝐴 + Nu𝜌 0j

vj𝐴(𝑗𝑘) 𝜂 = NS['

¢j𝜂 (30)

Here, the left hand side of Eq. (30) can be seen as 𝜇𝜂. Solving for the eigenvalues, µ, then leads to complex

numbers, which can be split into their respective real and imaginary parts and used to solve for the damping, g,

and the frequency, ω.

𝜔u = N¨9(©)

, 𝑔 = 𝐼𝑚(𝜇)𝑗𝜔u (31)

The method is then repeated for 0.5 < k < 1.5.

The flutter speed is then determined by plotting U against g for each k value, and finding the point where the

structural damping is zero using interpolation. Since multiple modes are represented the lowest flutter speed is

chosen.

3.2 Validation

It has been appreciated by aeroelasticians for many years that results form the k method of flutter analysis may

be difficult to interpret of even misleading (Hodges et al, 2002).

The main difficulty faced is the estimation of magnitude. A too low magnitude results in a robust analysis that

may not capture the worst case perturbation, and too high of a magnitude will lead to an unnecessary

conservative prediction of the flutter boundary. The basic principle of model validation is to compare the

magnitude by matching predictions against experimental data. Observations of the normalised flutter speed with

store location for two experimental reference masses, mass 5 and mass 7e from NACA TN1594, are plotted

alongside the corresponding computed profiles generated by the compiled computer code.

Page 18: Aircraft Loads 5 Report

18

Figure 13 – Normalised flutter speed, Uf/Ufo, variations with store location (m)

As can be seen from Fig. (13) the code generates similar profiles to the reference masses taken from NACA

TN1594. A slight exaggeration in the computed curve for mass 5 can be seen, whilst the computed mass 7e

shows an overall larger value of normalised flutter speed across span location.

The main source of error in this case results from the basis that the k-method technique relies on model

validation based on frequency responses of the system, (Borglund, 2001). Whilst this has proven very useful in

many aeroelastic applications, it is also associated with some difficulties.

One problem is that the frequency-response data can be influenced by uncertainty in the excitation, which may

not be possible to isolate form the primary source of uncertainty (Borglund, 2001). Another problem is simply

the fact that the model is validated against frequency-response data rather than the aeroelastic damping, which is

the crucial parameter in flight testing. As such, both the damping variation and the frequency variation with

airspeed for the minimum flutter speed for mass 5 and 7e are provided in Fig. (14) and Fig. (15) respectively.

It is important to note that the small discrepancies in the plots for Fig. (15) (a) and (b) are due to the process

taken by MATLAB in computing eigenvalues, which calculates the eigenvalues in terms of magnitude rather

than in a consecutive form. Therefore, whilst it may appear that it is an error in the data, it is simply due to a

computational restriction.

Page 19: Aircraft Loads 5 Report

19

Figure 14 – Mass 5 minimum flutter speed for (a) damping variation with airspeed and, (b) frequency variation

with airspeed

Figure 15 – Mass 7e minimum flutter speed for (a) damping variation with airspeed and, (b) frequency variation

with airspeed

(a) (b)

(a) (b)

Page 20: Aircraft Loads 5 Report

20

3.3 Investigation of Numerical Parameters

The analysis of numerical parameters for this section will be carried out using mass 5 for reference.

The frequency of the system which is determined by the computational analysis increases with increasing

stiffness of the structure. Therefore, the critical speed can be raised by increasing the wing stiffness. The final

form of the stiffness criteria can be obtained only after consideration has been given to all of the possible

instabilities.

a. Torsional Rigidity

The increase of torsional rigidity, GJ, can be seen to enhance the range of airspeed before which the critical

airspeed is reached. As can be seen in Fig. (16), increasing the torsional rigidity from 199.076 Nm2/rad to 600

Nm2/rad significantly enhances the critical airspeed.

Figure 16 – Damping variation with airspeed for a torsional rigidity of GJ=600 Nm2/rad

b. Flexural Rigidity

The variation of flexural rigidity has a less dramatic effect on the frequency and hence damping of the system than the torsional rigidity. Therefore, it takes a larger increase in this parameter to notice the effects but nevertheless, if increased from 404.76 Nm2 to 2404.76 Nm2 the critical airspeed can be seen to be that of a much lower value in Fig (17).

Figure 17 – Damping variation with airspeed for a flexural of EI=2404.76 Nm2/rad

Page 21: Aircraft Loads 5 Report

21

c. Elastic Axis and Inertia Axis

The arrangement of the elastic axis and inertia axis and the line of aerodynamic centre so that they are as close

to each other as possible provides a high critical flutter speed, (Yung, 1993). Increasing the location of the

elastic axis with respect to the chord reduces the damping and thus reduces the minimum flutter speed.

Alternatively, increasing the location of the inertia axis has the same effect as reducing EA.

d. X-location of store

Proper mass distribution is of supreme importance when the flutter phenomenon is being considered. Reducing

the distance between the store and the position of the elastic axis, with respect to the chord, increases the value

of critical airspeed.

Page 22: Aircraft Loads 5 Report

22

References Borglund, D. 2001. Robust Aeroelastic Analysis in the Laplace Domain: The µ-p Method. Aeronautical and

Vehicle Engineering, Royal Institute of Technology Teknikringen 8, SE-10044, Stockholm, Sweden.

Dowell, E.H., Clark, R. 2004. A Modern Course in Aeroelasticity. Kluwer Academic Publishers. Boston,

Dordrecht.

Fung, Y. C. 1993. An Introduction to The Theory of Aeroelasticity. Dover Publications, Mineola, N.Y.

Hodges, D.H., Pierce, G.A, 2002. Introduction to Structural Dynamics and Aeroelasticity. Cambridge aerospace

series. Cambridge University Press, Cambridge, New York.

Masson, W.H., The aerodynamics of 3D lifting surfaces using vortex lattice methods. Virginia Polytechnic State University, Virginia, USA, 1998

Page 23: Aircraft Loads 5 Report

23

Appendix A MATLAB code generated for Section 1 calculations % %%% Aircraft Loads Assignment 1 %%% clear all %wing parameters mw=1.5818; %mass of wing, kg c=0.2032; %chord at 70% span, m b=c/2; L=1.2191; %semi span, m EA=0.437; %elastic axis, % of chord IA=0.454; %intertial axis, % of chord EI=404.76; %Nm^2 GJ=199.076; %Nm^2 x_b=(IA-EA)*c/b; mbar=mw/L; Iw=4.349e-3/L; %kgm^2 rho=mbar/(pi*b^2*32.6); %kg/m^3 y_L=0:0.01:1; k=1; for Ls=0:L/100:L; % store parameters ms=0.636*mw; %mass of store, kg xs=0.625*b; Is=1.91*Iw; %no. of modes N=2; M=1; %N polynomial bending functions for i=1:N; psii=(y_L).^(i+1); %ith bending function for wing psii_store=(Ls/L).^(i+1); %ith bending function for store psii_double=((i*(i+1))/L.^2).*((y_L).^(i-1)); %ith bending function second derivative for j=1:N; psij=(y_L).^(j+1); %jth bending function of wing psij_store=(Ls/L).^(j+1); %jth bending mode of store psij_double=((j*(j+1))/L.^2).*((y_L.^(j-1))); %jth wing bending function second derivative %Del, Dels and B matrices Del(i,j)=(L-0)*trapz(y_L,psii.*psij); Dels(i,j)=psii_store.*psij_store; B(i,j)=(L-0)*trapz(y_L,psii_double.*psij_double); end end %M polynomial torsion functions for i=1:M; phii=(y_L).^i; %ith torsion function for wing phii_store=(Ls/L).^i; %ith torsion function for store phii_single=(i/L).*((y_L.^(i-1))); %first derivative of torsion function for j=1:M; phij=(y_L).^j; phij_store=(Ls/L).^j; phij_deriv=(j/L).*((y_L).^(j-1)); %Del, Del_store and B matrices D(i,j)=(L-0)*trapz(y_L,phii.*phij); Ds(i,j)=phii_store.*phij_store; T(i,j)=(L-0)*trapz(y_L,phii_single.*phij_deriv); end end

Page 24: Aircraft Loads 5 Report

24

for i=1:N; psii=(y_L).^(i+1); psii_store=(Ls/L).^(i+1); for j=1:M; phij=(y_L).^j; phij_store=(Ls/L).^j; %C matrix - crossover point C(i,j)=(L-0)*trapz(y_L,psii.*phij); Cs(i,j)=psii_store.*phij_store; end end %%% determine expressions for wing and store mass matrices %%% Mwing=[mbar*Del, -mbar.*x_b*b.*C; -mbar.*x_b*b.*C', Iw.*D]; Mstore=[ms.*Dels, ms*xs.*Cs; ms*xs.*(Cs'), Is.*Ds]; Mtotal=Mwing+Mstore; %combined wing and store mass matrix % STIFFNESS MATRIX K=[EI*B, zeros(N,M); (zeros(N,M))',GJ*T]; %FREQUENCIES AND MODES OF Mtotal FROM SYSTEM EIGENVALUES AND EIGENVECTORS [V,LAMBDA]=eig(K,(Mtotal)); omega=sqrt(diag(LAMBDA)); %rad/s frequency f(:,k)=omega/(2*pi); % DEFLECTION AND TWIST OF ELASTIC AXIS: for j=1:1:M+N; for i=1:N; z_EA(i,:)=0.01*V(i,j)'*(y_L).^(i+1); end z_deflection(j,:)=sum(z_EA); end j=1; for j=1:M+N for i=(N+1):(M+N); theta_EA(i,:)=0.01*V(i,j)'*(y_L).^i; end theta_deflection(j,:)=sum(theta_EA); end % figure % plot(z_EA(1,:)); % hold on; % plot(z_EA(2,:)); % plot(z_EA(3,:)); % figure % plot(theta_EA(1,:)*180/pi); % hold on % plot(theta_EA(2,:)*180/pi); % plot(theta_EA(3,:)*180/pi); k=k+1; end Ls=0:L/100:L; %must be the same as line 19 figure plot(Ls/L,f(1,:),'k'); hold on plot(Ls/L,f(2,:),'g'); plot(Ls/L,f(3,:),'r'); title('First 3 modal frequencies vs Store Position') ylabel('Frequency, Hz') xlabel('Store position, y/L') hold on %Torsion experimental data set

Page 25: Aircraft Loads 5 Report

25

x=[0,0.229,0.429,0.539,0.599,0.849,0.921,0.981]; y=[6.39,6.52,6.14,5.64,5.14,4.14,3.76,3.51]; % L=[0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25] % U=[0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25] % errorbar(x,y,L,U) scatter(x,y,'ks','SizeData',40) hold on %First-bending mode experimental data set a=[0,0.230,0.430,0.539,0.597,0.751,0.825,0.890,0.984]; b=[36.8,30.3,35.6,34.0,35.3,39.2,37.6,36.7,34.0]; scatter(a,b,'ko') hold on %Second-bending mode experimental data set u=[0,0.229,0.429,0.541,0.599,0.847,0.921,0.979]; v=[45.9,40.2,35.5,23.7,24.6,23.8,23.3,22.2]; scatter(u,v,'ks') legend('Computed Torsional Frequency','Computed First Bending Frequency','Computed Second Bending Frequency','Experimental Torsional Frequency','Experimental First Bending Frequency','Experimental Second Bending Frequency') %%% 3D MODE PLOTS %%% % %redefine y/L outside of loop % y_L=0:0.01:1; % %first and second bending x location % x_le_t=(0.437.*c).*cosd(theta_deflection(1,:).*180/pi); % x_te_t=-(((1-0.437).*c)).*cosd(theta_deflection(1,:).*180/pi); % %first bending z % z_1=z_deflection(1,:); % %second bending z % z_2=z_deflection(2,:); % %third bending % z_3=z_deflection(3,:); % %first torsion % z_le4=((0.437.*c)).*sind(theta_deflection(1,:)*180/pi); % z_te4=-((0.437.*c)).*sind(theta_deflection(1,:)*180/pi); % %second torsion % z_le5=((0.437.*c)).*sind(theta_deflection(2,:)*180/pi); % z_te5=-((0.437.*c)).*sind(theta_deflection(2,:)*180/pi); % % % X=[x_le;x_te]'; % Xt=[x_le_t;x_te_t;]'; % Y=[y_L;y_L]'; % Z1=[z_1;z_1]'; % Z2=[z_2;z_2]'; % Z3=[z_3;z_3]'; % Z4=[z_le4;z_te4]'; % Z5=[z_le5;z_te5]'; % % figure % surf(Xt,Y,Z1) % legend('First Bending Mode') % xlabel('Displacement from Elastic Axis, m') % ylabel('Spanwise Location, y/L') % zlabel('Deflection, m') % % figure % surf(Xt,Y,Z2) % legend('Second Bending Mode')

Page 26: Aircraft Loads 5 Report

26

% xlabel('Displacement from Elastic Axis, m') % ylabel('Spanwise Location, y/L') % zlabel('Deflection, m') % figure % surf(Xt,Y,Z3) % legend('Third Bending Mode') % xlabel('Displacement from Elastic Axis, m') % ylabel('Spanwise Location, y/L') % zlabel('Deflection, m') % figure % surf(Xt,Y,Z4) % legend('First Torsional Mode') % xlabel('Displacement from Elastic Axis, m') % ylabel('Spanwise Location, y/L') % zlabel('Twist, degrees') % figure % surf(Xt,Y,Z5) % legend('Second Torsional Mode') % xlabel('Displacement from Elastic Axis, m') % ylabel('Spanwise Location, y/L') % zlabel('Twist, degrees') %% combined figure shapetheta=sum(theta_deflection); shapedeflection=sum(z_deflection); x_le=(0.437.*c).*cos(shapetheta); x_te=(-(1-0.437).*c).*cos(shapetheta); z_le=(0.437.*c).*sin(shapetheta)+shapedeflection; z_te=((-(1-0.437).*c).*cos(shapetheta))+shapedeflection; X_shape=[x_le;x_te]'; Y_shape=[y_L;y_L]'; Z_shape=[z_le;z_te]'; figure surf(X_shape,Y_shape,Z_shape) xlabel('x (m)') ylabel('Span (m)') zlabel('z (m)') hold on

Page 27: Aircraft Loads 5 Report

27

Appendix B MATLAB code generated to compute results for Section 2 clear all; % Basic wing planform c=1.5; %chord %lambda=0.4; % Taper ratio %L=6; % Semi span e=0.25; % Elastic axis location relative to quarter chord LAM=45; % sweep in degrees % Warren 12 lambda=2/3; L=sqrt(2); % Meshing part NP=146; % Number of panels DY=2/(NP); % Dimensionless panel span y_L=0:DY:1; % Panel position along one wing c_Y=c*(1-lambda*y_L); % chord along the span due to taper dy=DY*L; % Actual panel span S=trapz(c_Y)*dy*2; % Wing area AR=(L*2)^2/S; % Aspect ratio % incident air conditions mg=10*9.81*1000; %aircraft weight 10 ton aircraft Vinf=250; % m/s rho=0.5238*1.225; % kg/m^3 at 20,000 ft % Elastic properties EI=4e6; % Nm^2 GJ=6e5; %Nm^2/rad a3=2*pi*AR/(2+sqrt(4+AR^2)); % Lift Curve slope 3D approximation % number of bending and torsional model N=3; %Bending polynomials M=2; %Torsion polynomials % FUNCTION FILE CREATED TO CALCULATE STIFFNESS MATRIX E=stiffness_matrix(N,M,EI,GJ,L,y_L) % step 1 trimstep=1; % original alpha to support weight if there is no bend or twist alpha(trimstep)=mg/(0.5*rho*Vinf^2*S*a3); % First load estimation Li_R=0.5*rho*Vinf^2*(c*(1-lambda*(y_L)))*a3*alpha(trimstep); % Rigid wing CL along span CL_y_R=Li_R./(0.5*rho*Vinf.^2*(c*(1-lambda*y_L))); % First load estimation using VLM [Li, Cla] = VLM(LAM,c,lambda,L,e,mg,Vinf,rho,alpha,NP,DY,dy,N,M,S); %% step 2 Determine forces on each basis function via virtual work Mi=e*c*Li(NP/2:NP); for ii=1:N psi_i(ii,:) =(y_L).^(ii+1); % ith bending function wing psi_id(ii,:)=((ii+1)/L)*((y_L).^ii); % first derivative of the ith bending ufnction of the wiing F(ii,:)=trapz(y_L,Li(NP/2:NP)'.*(psi_i(ii,:)))*L; end for ii=1:M

Page 28: Aircraft Loads 5 Report

28

phi_i(ii,:)= (y_L).^(ii); % ith torsion function wing F(ii+N,:)=trapz(y_L,Mi'.*(phi_i(ii,:)))*L; end %% step 3 determine bend and twist from this load by solving system of equations eta=E\F; % spanwise twist and bending for the first trim step theta=phi_i'*eta(N+1:N+M); wd=psi_id'*eta(1:N); %% step 4 determine angle of attack including elastic effects alphae=alpha(trimstep)+theta*cosd(LAM)-wd*sind(LAM); %% step 5 recompute lift along the span %Li=(0.5*rho*Vinf^2*(c*(1-lambda*(y_L)))*a3).*alphae'; [Li, Ltot, Cl, Cy, Cltot] = VLM_2(LAM,c,lambda,L,e,mg,Vinf,rho,alphae,NP,DY,dy,N,M,S); %Already getting this as output from VLM_2: Ltot=trapz(y_L,Li)*L*2; % calculate total wing lift formatSpec = 'TrimStep %i, Ltot %f, mg %f, Lover %f, alpha %f, alphae(NP) %f\n'; fprintf (formatSpec,trimstep, Ltot, mg, Ltot-mg, alpha, alphae(NP/2)) %% step 6 use simple trimming routine for trimstep=2:200 % elastic angle of attack for one wing alphae=alpha(trimstep-1)+theta*cosd(LAM)-wd*sind(LAM); % lift for elastic wing %Li=(0.5*rho*Vinf^2*(c*(1-lambda*(y_L)))*a3).*alphae'; % total lift %Ltot=trapz(y_L,Li)*L*2; % Use VLM_2 to calculate Li [Li, Ltot, Cl, Cy, Cltot] = VLM_2(LAM,c,lambda,L,e,mg,Vinf,rho,alphae,NP,DY,dy,N,M,S); % compute integral of lift and Lift "error" Lover=Ltot-mg; % root angle of attack over/under correction aover=Lover/(.5*rho*Vinf^2*S*a3); %% step 7 reduce alpha root so that the increase difference Lover is reduced alpha(trimstep)=alpha(trimstep-1)-aover*0.7; %0.1 relaxation parameter formatSpec = 'TrimStep %i, Ltot %f, mg %f, Lover %f, aover %f, alpha %f\n'; fprintf (formatSpec,trimstep, Ltot, mg, Lover, aover, alpha(trimstep)) %% step 8 iterate until a/c model is trimmed Mi=e*c*Li(NP/2:NP); clear psi_i psi_id phi_i F for ii=1:N psi_i(ii,:) =(y_L).^(ii+1); % ith bending function wing psi_id(ii,:)=((ii+1)/L)*((y_L).^ii); % first derivative of the ith bending ufnction of the wiing F(ii,:)=trapz(y_L,Li(NP/2:NP)'.*(psi_i(ii,:)))*L; end for ii=1:M phi_i(ii,:)= (y_L).^(ii); % ith torsion function wing F(ii+N,:)=trapz(y_L,Mi'.*(phi_i(ii,:)))*L; end % solve system of equations for deflections "eta"

Page 29: Aircraft Loads 5 Report

29

eta=E\F; % spanwise bending and twist theta=phi_i'*eta(N+1:N+M); wd=psi_id'*eta(1:N); % if within 1 percent of weight don't trim any more if abs(Lover)<mg/100, break, end % End loop condition end % total lift coefficient CL=(Ltot/(0.5*rho*(Vinf^2)*S)); % spanwise lift coefficient CL_y=Li(NP/2:NP)'./(0.5*rho*(Vinf^2)*(c*(1-lambda*(y_L)))*dy); CL_sweep=(CL_y/CL)'; figure %hold on %plot (y_L,CL_y/CL,'-b') plot(y_L,CL_sweep,'-g') hold on plot (y_L,CL_y_R/CL,'-r') xlabel ('Dimensionless span (y/L)') ylabel ('Lift coefficient (CL)') title('Wing Lift Distribution') legend ('Elastic Wing','Rigid Wing') grid on hold off % figure % hold on % x=[100, 110, 120, 130, 140, 150, 160, 170]; % y=[2.7292, 2.7278, 2.7266, 2.7256, 2.7247, 2.7240, 2.7233, 2.7228]; % plot(x,y) % xlabel ('Number of Panels, NP') % ylabel ('Lift coefficient, CL_a_l_p_h_a') % title('Variation of Cl_a_l_p_h_a with Number of Panels Along Span') % grid on figure hold on plot (y_L,alphae*180/pi,'-b') xlabel ('Dimensionless span (y/L)') ylabel ('Aeroelastic angle (deg)') grid on hold off figure hold on plot (alpha*180/pi,'-b') xlabel ('Iteration') ylabel ('Pitch angle (deg)') grid on hold off figure hold on plot (y_L,theta*180/pi,'-b') xlabel ('Dimensionless span (y/L)') ylabel ('Torsion angle (deg)') grid on hold off

Page 30: Aircraft Loads 5 Report

30

figure hold on plot (y_L,wd,'-b') xlabel ('Dimensionless span (y/L)') ylabel ('Bending (m)') grid on hold off Function: stiffness_matrix function [E] = stiffness_matrix(N,M,EI,GJ,L,y_L); %N polynomial bending function for i=1:N; psii_double=((i*(i+1))/L.^2).*((y_L).^(i-1)); %ith bending function second derivative for j=1:N; psij_double=((j*(j+1))/L.^2).*((y_L.^(j-1))); %jth wing bending function second derivative %B matrix B(i,j)=(L-0)*trapz(y_L,psii_double.*psij_double); end end %M polynomial torsion functions for i=1:M; phii_single=(i/L).*((y_L.^(i-1))); %first derivative of torsion function for j=1:M; phij_deriv=(j/L).*((y_L).^(j-1)); %T matrix T(i,j)=(L-0)*trapz(y_L,phii_single.*phij_deriv); end end %STIFFNESS MATRIX E=[EI*B, zeros(N,M); (zeros(N,M))',GJ*T]; Function: V_AB function [VAB,r0] = V_AB(A,B,C) r0=B-A; r1=C-A; r2=C-B; cross_r1r2=cross(r1,r2); brackets=((r1./(norm(r1)))-(r2./(norm(r2)))); denom=(norm(cross_r1r2)).^2; product=dot(r0,brackets); VAB=(1/(4*pi)).*((cross_r1r2)./denom).*(product); end

Page 31: Aircraft Loads 5 Report

31

Function: VA_INF function [VAI,r1] = VA_INF(A,C) r1=C-A; %Calculate velocity from Ainf, C section first_num=r1(3,1)-r1(2,1); first_denom=r1(3,1)^2 + r1(2,1)^2; second_num=r1(1,1); second_denom=norm(r1); VAI=(first_num./(4*pi.*(first_denom))*(1+((second_num)/(second_denom)))); end Function: VB_INF function [VBI,r2] = VB_INF(B,C) r2=C-B; %Calculate velocity from Binf, C section first_n=r2(3,1)-r2(2,1); first_d=r2(3,1)^2+r2(2,1)^2; second_n=r2(1,1); second_d=norm(r2); VBI=-(first_n/(4*pi.*(first_d))*(1+(second_n)/(second_d))); end Function: VLM function [Li, Cla] = VLM(LAM,c,lambda,L,e,mg,Vinf,rho,alpha,NP,DY,dy,N,M,S) Y_L=0:DY:1; % non dimensional ordinate along one wing y_L=-1:DY:1; % non dimensional ordinate along both wings (tip to tip) C_Y=c*(1-lambda*Y_L);% compute chord along span (linear taper only) c_Y=[C_Y(length(C_Y):-1:2) C_Y];% chord from tip to tip % %plot wing outline figure ('Position', [0,0,600,400]) set(gcf,'color','w') clf title('Warren-12 wing') hold on grid on % plot leading edge, trailing edge, quarter chord, % half chord and three quarter chord axes % first half chord axis line from tip to tip: x_hc=sign(y_L).*y_L*L*tand(LAM); x_le=-0.5*c_Y+x_hc; x_te=0.5*c_Y+x_hc; x_qc=-0.25*c_Y+x_hc; x_3qc=0.25*c_Y+x_hc; z=zeros(size(x_hc)); % all points in a plane

Page 32: Aircraft Loads 5 Report

32

plot3(x_le,y_L*L,z); % plot leading edge plot3(x_hc,y_L*L,z,'--'); % plot half chord plot3(x_te,y_L*L,z); % plot trailing edge plot3([x_le(NP+1) x_te(NP+1)],[L L],[0 0]); % plot chord at tips plot3([x_le(1) x_te(1)],[-L -L],[0 0]); % plot chord at tips plot3(x_qc,y_L*L,z,'r--') % plot out quarter chord, along which vortex positions lie plot3(x_3qc,y_L*L,z,'g--') % plot out 3/4 chord, along which collocation points lie % compute points "A,B,C" for wing A=[x_qc(1:NP); y_L(1:NP)*L; z(1:NP)]; % left vortex corner B=[x_qc(2:NP+1); y_L(2:NP+1)*L; z(2:NP+1)]; % right vortex corner Cy=0.5*(A(2,:)+B(2,:)); % control points lie inbetween A and B for y coord Cx=interp1(y_L,x_3qc,Cy/L); %interpolate x coordinate at 3/4 chord at these y points C=[Cx; Cy; 0*Cy]; % % plot points A,B,C as a check % plot3(A(1,:),A(2,:),A(3,:),'ro') % plot3(B(1,:),B(2,:),B(3,:),'r+') % plot3(C(1,:),C(2,:),C(3,:),'go') % % vortex lattice method for wing consisting of NP panels with points and % quarter chord A,B and collocation points at 3/4 chord C in incident flow % V_inf at angle of attack alpha for j=1:NP; for k=1:NP; % call subroutine/function on to compute Velocity for unit vortex % strength at point C from vortex line from point A to point B % using Biot Savart Law VAB=V_AB(A(:,k),B(:,k),C(:,j)); % call subroutine/function to compute Velocity for unit vortex % strength at point C from vortex line from point at infinity to A % using Biot Savart Law VAI=VA_INF(A(:,k),C(:,j)); % call subroutine/function to compute Velocity for unit vortex % strength at point C from vortex line from point B to infinity % using Biot Savart Law VBI=VB_INF(B(:,k),C(:,j)); % compute complete downwash velocity matrix for unit vortex strengths AIC(j,k,:)=VAB+VAI+VBI; end; end; AICx=squeeze(AIC(:,:,1)); % get x component of downwash AICy=squeeze(AIC(:,:,2)); % get y component of downwash AICz=squeeze(AIC(:,:,3)); % get z component of downwash % get unit normals for each panel for k=1:NP; n(:,k)=cross(A(:,k)-C(:,k),A(:,k)-B(:,k)); % unit normal from plane formed by A,B,C n(:,k)=n(:,k)/sqrt(dot(n(:,k),n(:,k))); end; % form aerodynamic influence coefficient matrix clear AIC for i=1:NP; for j=1:NP; AIC(i,j)=n(1,j)*AICx(i,j)+n(2,j)*AICy(i,j)+n(3,j)*AICz(i,j); end;

Page 33: Aircraft Loads 5 Report

33

end; % calculate incident flow velocity and apply V.n=0 boundary condition V=-Vinf*(cos(alpha)*n(1,:)+sin(alpha)*n(3,:)); % compute vortex strengths for given incident flow and wing geometry gamma=AIC\V'; % these vortex strengths are at mid-points between A and B (vortex corners) qinf=0.5*rho*Vinf*Vinf; % dynamic head Li=rho*Vinf*gamma.*DY*L; % calculate local lift Ltot=sum(Li); % total lift Cltot=Ltot/(qinf*S); % wing lift coefficient Cla=Cltot/alpha; % Compute Lift-slope % calculate local lift coefficients for i=1:NP localc(i)=(c_Y(i)+c_Y(i+1))/2.; Cl(i)=Li(i)/(qinf*localc(i)*L*DY); end % % plot out CL/CL_total to show spanwise lift coefft distribution % figure(2); % title('Span-wise load for the Warren-12 wing','FontSize',14,'FontWeight','Bold') % hold on % grid on % plot (Cy(NP/2:NP),Cl(NP/2:NP)/Cltot); % xlabel ('Span-wise position (-)','FontSize',16); % ylabel ('Cl/Cl_{TOTAL}','FontSize', 16); end Function: VLM_2 function [Li, Ltot, Cl, Cy, Cltot] = VLM_2(LAM,c,lambda,L,e,mg,Vinf,rho,alphae,NP,DY,dy,N,M,S) Y_L=0:DY:1; % non dimensional ordinate along one wing y_L=-1:DY:1; % non dimensional ordinate along both wings (tip to tip) C_Y=c*(1-lambda*Y_L);% compute chord along span (linear taper only) c_Y=[C_Y(length(C_Y):-1:2) C_Y];% chord from tip to tip alphae=alphae'; alphae=[alphae(length(alphae):-1:2) alphae]; %plot wing outline % figure ('Position', [0,0,600,400]) % set(gcf,'color','w') % clf % title('Warren-12 wing') % hold on % grid on % plot leading edge, trailing edge, quarter chord, % half chord and three quarter chord axes % first half chord axis line from tip to tip: x_hc=sign(y_L).*y_L*L*tand(LAM); x_le=-0.5*c_Y+x_hc; x_te=0.5*c_Y+x_hc; x_qc=-0.25*c_Y+x_hc; x_3qc=0.25*c_Y+x_hc;

Page 34: Aircraft Loads 5 Report

34

x_le=(0.5.*c).*cos(alphae); x_te=(-(1-0.5).*c).*cos(alphae); z_qc=(0.25.*c_Y).*sin(alphae); % plot3(x_le,y_L*L,z); % plot leading edge % plot3(x_hc,y_L*L,z,'--'); % plot half chord % plot3(x_te,y_L*L,z); % plot trailing edge % plot3([x_le(NP+1) x_te(NP+1)],[L L],[0 0]); % plot chord at tips % plot3([x_le(1) x_te(1)],[-L -L],[0 0]); % plot chord at tips % plot3(x_qc,y_L*L,z,'r--') % plot out quarter chord, along which vortex positions lie % plot3(x_3qc,y_L*L,z,'g--') % plot out 3/4 chord, along which collocation points lie % compute points "A,B,C" for wing A=[x_qc(1:NP); y_L(1:NP)*L; z_qc(1:NP)]; % left vortex corner B=[x_qc(2:NP+1); y_L(2:NP+1)*L; z_qc(2:NP+1)]; % right vortex corner Cy=0.5*(A(2,:)+B(2,:)); % control points lie inbetween A and B for y coord Cx=interp1(y_L,x_3qc,Cy/L); %interpolate x coordinate at 3/4 chord at these y points Cz=0.5*(A(3,:)+B(3,:)); C=[Cx; Cy; Cz]; % % % plot points A,B,C as a check % plot3(A(1,:),A(2,:),A(3,:),'ro') % plot3(B(1,:),B(2,:),B(3,:),'r+') % plot3(C(1,:),C(2,:),C(3,:),'go') % vortex lattice method for wing consisting of NP panels with points and % quarter chord A,B and collocation points at 3/4 chord C in incident flow % V_inf at angle of attack alpha for j=1:NP; for k=1:NP; % call subroutine/function on to compute Velocity for unit vortex % strength at point C from vortex line from point A to point B % using Biot Savart Law VAB=V_AB(A(:,k),B(:,k),C(:,j)); % call subroutine/function to compute Velocity for unit vortex % strength at point C from vortex line from point at infinity to A % using Biot Savart Law VAI=VA_INF(A(:,k),C(:,j)); % call subroutine/function to compute Velocity for unit vortex % strength at point C from vortex line from point B to infinity % using Biot Savart Law VBI=VB_INF(B(:,k),C(:,j)); % compute complete downwash velocity matrix for unit vortex strengths AIC(j,k,:)=VAB+VAI+VBI; end; end; AICx=squeeze(AIC(:,:,1)); % get x component of downwash AICy=squeeze(AIC(:,:,2)); % get y component of downwash AICz=squeeze(AIC(:,:,3)); % get z component of downwash % get unit normals for each panel for k=1:NP; n(:,k)=cross(A(:,k)-C(:,k),A(:,k)-B(:,k)); % unit normal from plane formed by A,B,C n(:,k)=n(:,k)/sqrt(dot(n(:,k),n(:,k))); end; % form aerodynamic influence coefficient matrix

Page 35: Aircraft Loads 5 Report

35

clear AIC for i=1:NP; for j=1:NP; AIC(i,j)=n(1,j)*AICx(i,j)+n(2,j)*AICy(i,j)+n(3,j)*AICz(i,j); end; end; %%% Calculate alphae for both sides of the wing %%% for i = 1:NP % calculate incident flow velocity and apply V.n=0 boundary condition V(i)=-Vinf*(cos(alphae(i))*n(1,i)+sin(alphae(i))*n(3,i)); end % compute vortex strengths for given incident flow and wing geometry gamma=AIC\V'; % these vortex strengths are at mid-points between A and B (vortex corners) qinf=0.5*rho*Vinf*Vinf; % dynamic head Li=rho*Vinf*gamma.*DY*L; % calculate local lift Ltot=sum(Li); % total lift Cltot=Ltot/(qinf*S); % wing lift coefficient Cla=Cltot./alphae'; % Compute Lift-slope % calculate local lift coefficients for i=1:NP localc(i)=(c_Y(i)+c_Y(i+1))/2.; Cl(i)=Li(i)/(qinf*localc(i)*L*DY); end % figure % plot (Cy(NP/2:NP),Cl(NP/2:NP)/Cltot); % title('Span-wise load for the an elastic wing','FontSize',14,'FontWeight','Bold') % xlabel ('Span-wise position (-)','FontSize',16); % ylabel ('Cl/Cl_{TOTAL}','FontSize', 16); % grid on end

Page 36: Aircraft Loads 5 Report

36

Appendix C MATLAB code generated to compute results for Section 3 clear all %% Input Wing Parameters mw = 1.5818; % Kg mass of wing c = 0.2032; % m wing chord at 70% span b = c/2; %m semi chord EA = 0.437; % non dimensional elastic axis position chords IA = 0.454; % non dimensional inertial axis position chords xa=(IA-EA)*c/b; % wing chordwise cg semi-chords EI = 404.76; % Nm^-2 flexural rigidity of wing GJ = 199.076;% Nm^2/rad torsional rigidity of wing L = 1.2192; % m wing semi span mbar = mw/L; % kg mass per unit span of wing Iw = 4.349e-3/L; % Kgm^2 pitch moment of inertia of wing 4.349e-3 rho = mbar/(pi*b^2*32.6); % Kg/m^3 y_L=0:0.01:1; % variable spanwise position a = ((EA)*c/b) - (0.5); %lecture notes, check reference %% Store Parameters Mass 5 ms = 0.636*mw; % mass of store Kg Is = 2.68*Iw; %kg m^2 pitch inertia of store about centre xs = -0.687*b; % Position of store ahead of the EA *c %% Store Positions Mass 7e % ms = 0.954*mw; % mass of store Kg % Is = 1.56*Iw; %kg m^2 pitch inertia of store about centre % xs = -0.034*b; % Position of store ahead of the EA *b %% Defining Terms N=3; M=2; for int_pos = 1:1:101 Ls = (int_pos-1).*(L/100); % Mass matrix A for N-polynomial bending functions for i=1:N; psii=(y_L).^(i+1); %ith bending function for wing psii_store=(Ls/L).^(i+1); %ith bending function for store psii_double=((i*(i+1))/L.^2).*((y_L).^(i-1)); %ith bending function second derivative for j=1:N; psij=(y_L).^(j+1); %jth bending function of wing psij_store=(Ls/L).^(j+1); %jth bending mode of store psij_double=((j*(j+1))/L.^2).*((y_L.^(j-1))); %jth wing bending function second derivative %Del, Dels and B matrices Del(i,j)=(L-0)*trapz(y_L,psii.*psij); Dels(i,j)=psii_store.*psij_store; B(i,j)=(L-0).*trapz(y_L,psii_double.*psij_double); end end %M polynomial torsion functions for i=1:M; phii=(y_L).^i; %ith torsion function for wing phii_store=(Ls/L).^i; %ith torsion function for store

Page 37: Aircraft Loads 5 Report

37

phii_single=(i/L).*((y_L.^(i-1))); %first derivative of torsion function for j=1:M; phij=(y_L).^j; phij_store=(Ls/L).^j; phij_deriv=(j/L).*((y_L).^(j-1)); %Del, Del_store and B matrices D(i,j)=(L-0)*trapz(y_L,phii.*phij); Ds(i,j)=phii_store.*phij_store; T(i,j)=(L-0)*trapz(y_L,phii_single.*phij_deriv); end end for i=1:N; psii=(y_L).^(i+1); psii_store=(Ls/L).^(i+1); for j=1:M; phij=(y_L).^j; phij_store=(Ls/L).^j; %C matrix C(i,j)=(L-0)*trapz(y_L,psii.*phij); Cs(i,j)=psii_store.*phij_store; end end %% determine expressions for wing and store mass matrices %%% Mwing=[mbar.*Del, -mbar.*xa*b.*C; -mbar.*xa*b.*C', Iw.*D]; Mstore=[ms.*Dels, ms*xs.*Cs; ms*xs.*(Cs'), Is.*Ds]; Mtotal=Mwing+Mstore; %combined wing and store mass matrix E = [EI.*B, zeros(N,M); zeros(N,M)' , GJ.*T]; % Stiffness Matrix %% Incorporating the individual contributions of the store and the wing for del, C, and D MAtrices %% % Call Function To calculate the aerodynamic frequency response Using Del, C, D from mass stiffnessmatrix function [U,G,Omega,C_theo,Q,mu,Q1,Q2,Q3,Q1s,Q2s,Q3s] = AerodynamicFrequency(Del,C,D,b,a,Mtotal,E,N,M,rho,Dels,Cs,Ds); % Manipluate outputs from Aerodynamic Frequency int=find(-0.5*imag(G(2,:))>0); int=int(end); int=polyfit([U(2,int), U(2,(int+1))],[(-0.5*imag(G(2,int))),(-0.5*imag(G(2,(int+1))))],1); Uf(int_pos)=abs(int(2))/abs(int(1)); Ls(int_pos) = Ls; % Plot for the minimum flutter speed if int_pos == 58; % alter this number to the minimum value. figure plot(U(1,:),-0.5*imag(G(1,:)),'r') hold on grid on xlabel('Airspeed, m/s') ylabel('-0.5*Damping') title('Damping variation with Airspeed for Mass 5 Minimum Flutter Speed') plot(U(2,:),-0.5*imag(G(2,:)),'g') plot(U(3,:),-0.5*imag(G(3,:)),'b') xlim([0, 200]); ylim([-0.1, 0.1]);

Page 38: Aircraft Loads 5 Report

38

% Flutter Frequency Plot figure plot(U(1,:),Omega(1,:),'r') hold on grid on xlabel('Airspeed, m/s') ylabel('Frequency, Hz') title('Frequency variation with Airspeed for Mass 5 Minimum Flutter Speed') plot(U(2,:),Omega(2,:),'b') plot(U(3,:),Omega(3,:),'k') xlim([0, 200]); ylim([0, 250]); end int_pos end % Plot Figures % Experimental Data % Mass 5 y1=[1.000,0.879,0.700,0.734,0.7512,0.767]; x1=[0.000,0.22838,0.60090,0.75780,0.84865,0.97876]; % Mass 7e y2=[1.000,0.857,0.889,0.888,0.951,1.024]; x2=[0.000,0.43915,0.55015,0.73098,0.83097,1.00064]; Ufo = Uf(1,1); % First term of UF for normalisation % plot(y_L,(Uf/Ufo),'b') % hold on % grid on % plot(x1,y1) % plot(x2,y2) % xlabel('Spanwise location of store') % ylabel('U_f/U_f_o') % title('Normalised flutter speed variations with store location') % xlim([0, 1]); Function: Aerodynamic Frequency function [U,G,Omega,C_theo,Q,mu,Q1,Q2,Q3,Q1s,Q2s,Q3s] = AerodynamicFrequency(Del,C,D,b,a,MTotal,E,N,M,rho,Dels,Cs,Ds) for ii = 1:1:150 k =ii*0.01; % Range Of reduced Frequencies j = 1i; %imaginary value %Theordorsen function C_theo=besselk(1,(j*k))./(besselk(0,(j*k))+besselk(1,j*k)); % Calculate individual terms of Q Q1 = ((2*pi*b*(k*k)).*[Del, a*b.*C; a*b.*C' ,(b*b)*((a*a)+(1/8)).*D]); Q1s = ((2*pi*b*(k*k)).*[Dels, a*b.*Cs; a*b.*Cs' ,(b*b)*((a*a)+(1/8)).*Ds]); Q2 = ((-2*pi*k*j).*[2*C_theo.*Del, -b*(1+((2*(0.5-a)).*C_theo)).*C; 2*b*(0.5+a).*C_theo.*C' ,(b^2).*(0.5-a).*(1-((2*(0.5+a)).*C_theo)).*D]); Q2s = ((-2*pi*k*j).*[2*C_theo.*Dels, -b*(1+((2*(0.5-a)).*C_theo)).*Cs; 2*b*(0.5+a).*C_theo.*Cs' ,(b^2).*(0.5-a).*(1-((2*(0.5+a)).*C_theo)).*Ds]); Q3 = (-2*pi*b).*[zeros(N,N), -2*C_theo.*C; zeros(N,M)', -b*(1+(2*a))*C_theo.*D]; Q3s = (-2*pi*b).*[zeros(N,N), -2*C_theo.*Cs; zeros(N,M)', -b*(1+(2*a))*C_theo.*Ds];

Page 39: Aircraft Loads 5 Report

39

%Combine terms Q = Q1+Q2+Q3+Q1s+Q2s+Q3s; % Calculating eigenvalues mu(:,ii) = eig(E\[MTotal + (0.5*rho*((b*b)/(k*k))*Q)]); % Omega Omega(:,ii) = sqrt(1./real(mu(:,ii))); % Damping G(:,ii) = ((Omega(:,ii)).^2).*imag(mu(:,ii))/j; % Velcity U(:,ii) = (Omega(:,ii).*b)/k; end end