Wingflexer
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