The Wing weight function

The Wing weight function of Forrester et al. (2008) is a recurrent test case for modeling purpose and sensitivity analysis in aerospace context. This function is extracted and adapted from the Raymer handbook for aircraft design. It is representative of a Cessna C172 Skyhawk wing aircraft. It depends on the wing area, the weight of fuel in the wing, the aspect ratio, the quarter-chord sweep angle, the dynamic pressure at cruise, the taper ratio, the airfoil thickness to chord ratio, the ultimate load factor, the flight design gross weight and the paint weight.

use case geometry

The function is defined as follows:

g(S_{w},W_{fw},A, \Lambda, q, \ell, t_c, N_z, W_{dg}, W_p) = 0.036 S_w^{0.758} {W_{fw}}^{0.0035}\left(\frac{A}{\cos^2(\Lambda)}\right)^{0.6} q^{0.006}  \ell^{0.04} \left(\frac{100 t_c}{\cos(\Lambda)}\right)^{-0.3}(N_z W_{dg})^{0.49}+S_w W_p


  • S_w \sim\mathcal{U}(150, 200), the wing area (ft^2)

  • W_{fw} \sim\mathcal{U}(220, 300), the weight of fuel in the wing (lb)

  • A : \sim\mathcal{U}(6, 10), the aspect ratio (-)

  • \Lambda : \sim\mathcal{U}(-10, 10), the quarter-chord sweep angle (deg)

  • q : \sim\mathcal{U}(16, 45), the dynamic pressure at cruise (lb/ft^2)

  • \ell : \sim\mathcal{U}(0.5, 1), the taper ratio (-)

  • t_c : \sim\mathcal{U}(0.08, 0.18), the airfoil thickness to chord ratio (-)

  • N_z : \sim\mathcal{U}(2.5, 6), the ultimate load factor (-)

  • W_{dg} : \sim\mathcal{U}(1700, 2500), the flight design gross weight (lb)

  • W_p : \sim\mathcal{U}(0.025, 0.08), the paint weight (lb/ft^2)

We assume that the input variables are independent.


  • Forrester, A., Sobester, A., & Keane, A. (2008). Engineering design via surrogate modelling: a practical guide. Wiley.

  • Moon, H., Dean, A. M., & Santner, T. J. (2012). Two-stage sensitivity-based group screening in computer experiments. Technometrics, 54(4), 376-387.

  • Raymer D.P. (2018). Aircraft Design: a conceptual approach. American Institute of Aeronautics and Astronautics.

Load the use case

We can load this model from the use cases module as follows:

>>> from openturns.usecases import wingweight_function
>>> # Load the Wing weight use case
>>> ww = wingweight_function.WingWeightModel()

API documentation

See WingWeightModel.

Examples based on this use case