Wingflexer

From FlightGear wiki
Revision as of 13:05, 9 March 2015 by Johan G (talk | contribs) (cat)
Jump to navigation Jump to search

Wingflexer intro text

This article describes how to add wingflex to your aircraft and how to obtain plausible parameters. The physical model is given at the end.

How to add to your aircraft

Obtain plausible parameters

To make our model produce a convinving dynamic behaviour, you will need to obtain estimates (and fine-tune) a number of parameters. These include the wing mass m_w, the wing stiffness K, the damping D, and a scaling factor z_fac.

1. Assume a dry wing mass m_dw. Research the wing fuel mass m_fuel.

2. Obtain estimates of

  • the deflection z_flight in level flight, e.g by comparing photos of the real aircraft on ground and in air,
  • the wing's eigenfrequency, perhaps from videos of the wing's oscillation in turbulence,
  • the deflection with full and empty tanks while sitting on the ground.

3. Compute K to match in-flight deflection with full tanks:

K = g * (m_ac / 2 - (fuel_frac * m_fuel)) / (z_in_flight / z_fac) / m_dw

where

m_ac : aircraft mass
g    : 9.81 m/s^2
z_fac: scaling factor for the deflection, start with 1

4. Compute the eigenfrequency of this system for full and empty wing tanks:

f_full  = sqrt(K * m_dw / (m_dw + fuel_frac * m_fuel)) / (2 pi)
f_empty = sqrt(K) / (2 pi)

Ideally we want our model to match the eigenfrequency, the deflection while sitting on the ground with full or empty tanks, and the deflection during a hard landing. Getting real-world data for the latter is difficult.

Here are some relations:

  • a lower wing mass increases the eigenfrequency, and weakens the touchdown bounce
  • a higher stiffness K reduces the deflection and increases the eigenfrequency

Physical model

  -->
   g
      +-----+            +-----+
 <--- | m_w |---/\/\/\---|     |
      +-----+            +-----+
Lift   wing     spring   fuselage
force  mass

We integrate

     ..    k       d   .   0.5*F_L       ..
0 = -z  + --- z + ---- z - ------- - g - z_f
          m_w     m_w       m_w

where

z :        deflection
k :        wing stiffness
d :        damping
m_w = m_dw + fuel_frac * m_fuel
           Total wing mass. Because the fuel is distributed over the wing, we use
           a fraction of the fuel mass in the calculation.
0.5*F_L :  lift force/2 (we look at one wing only)
..
z_f :      acceleration of the frame of reference (fuselage)

and write the deflection (z + z_ofs) in meters to /sim/model/wing-flex/z-m. The offset z_ofs is calculated automatically and ensures that the dry wing (which still has a non-zero mass) creates neutral deflection.

Discretisation by first order finite differences:

z_0 - 2 z_1 + z_2    k         d  (z_0 - z_1)   1/2 F_L       ..
----------------- + --- z_1 + --- ----------- - ------- - g - z_f = 0
     dt^2           m_w       m_w     dt          m_w

It is convenient to divide k and d by a (constant) reference mass:

K = k / m_dw
D = d / m_dw