File Exchange

image thumbnail

Buffeting response of a suspension bridge (frequency domain)

version 5.3 (777 KB) by E. Cheynet
The dynamic response of a suspension bridge to wind turbulence is computed in the frequency domain.


Updated 12 Jun 2020

GitHub view license on GitHub

The estimation of the displacement response of a large civil engineering structure to wind turbulence is based on the buffeting theory [1, 2, 5]. Ref. [5] contains the theoretical background I have used for the function dynaRespFD3. In the present script, the structure in question is a suspension bridge modelled using the theory of continuous beams [3]. The buffeting response is computed in the frequency domain using the quasi-steady theory. Modal coupling was assumed negligible, which is generally well verified for most of the wind velocities recorded in full scale [4]. The present script is a simplified version of the one used in [6].

The present script computes the lateral, vertical and torsional displacement response. A multi-modes approach is used. Some knowledge in the field of random vibration analysis and wind loading on structures are advised for proper use of this script.

The present submission contains
• dynaRespFD.m : Function that calculates the displacement response spectrum of the bridge
• A function VonKarmanSpectrum.m to generate the power spectral density of the velocity fluctuations based on von Karman model.
• Two example files Example_1.m and Example_2.m
• Two .mat files bridgeModalProperties.mat and DynamicDispl.mat that are used in the 2 examples.

Any question, comment or suggestion to improve the submission is welcomed.


[1] Davenport, A.G., The response of slender line-like structures to a gusty wind, Proceedings of the Institution of Civil Engineers, Vol. 23, 1962, pp. 389 – 408.
[2] Scanlan, R. H. (1978). The action of flexible bridges under wind, II: Buffeting theory. Journal of Sound and vibration, 60(2), 201-211.
[4] Thorbek, L. T., & Hansen, S. O. (1998). Coupled buffeting response of suspension bridges. Journal of Wind Engineering and Industrial Aerodynamics, 74, 839-847.
[5] Hjorth-Hansen, E. (1993). Fluctuating drag, lift and overturning moment for a line-like structure predicted (primarily) from static, mean loads. Wind Engineering, Lecture note no, 2.
[6] Cheynet, E., Jakobsen, J. B., & Snæbjörnsson, J. (2016). Buffeting response of a suspension bridge in complex terrain. Engineering Structures, 128, 474-487.

Cite As

E. Cheynet (2020). Buffeting response of a suspension bridge (frequency domain) (, GitHub. Retrieved .

Comments and Ratings (13)

thank you

E. Cheynet

Hi Marvin,

Example1.mlx shows the different structural parameters required. The structural parameters are located inside the variable Bridge, which is a structure array (cf. All you need to do is to replace the parameters used in the example by those corresponding to your bridge. The only challenge may be on "" which is the lineic mass of cable (kg/m). If you have a cable-stayed bridge, you can try to see if = 0 ; and ~=0 has any influence of this parameter on the final result. In the example, you need also to use the quasi-static aerodynamic coefficient of your deck.

The wind velocity has not a torsional component. Example 1 shows the theoretical background. As you see, there is only two-component: The one normal to the bridge axis and the vertical bridge component. In the example, the yaw angle is zero. If you have yawed wind direction, you can project the along-wind and lateral wind component onto the component normal to the bridge axis as a first approximation.

Once again thank you for the response. My study is about cable-supported bridge which is a composite of cable and truss supporting elevated pipe over a large space. I have the results of the modal analysis which I presume can be edited in the bridgeModalProperties mat-file in the code. we also have the bridge structural variables in the m-file, how do I change these variables to accommodate my structure? I intend to determine the effect of the lateral, vertical and torsional wind components on the structure.
My intention is to draw from your wealth of knowledge as applied to my study and have your mentor-ship. Having you as a coauthor is a privilege to behold but I have to respect your decision.
And again thank you for the responses. Respect!

E. Cheynet

Hi Marvin,
The code is under BSD-3 licence, so you are free to use it without including me as co-author. I still need a little more specific question to know what you are wondering: you wish to study the effect of which phenomenon or variable on what? What do you mean by "along and across wind direction"?

Thank you Cheynet for your prompt response. Sorry about the limited information in the question and I also appreciate your willingness to share knowledge. I wanted you to assist with the guide for editing the code to enable the evaluating the effect along and across wind direction, is it possible? Is it also possible to have you as a coauthor of the paper that will arise as part of my study?
Once again thank.

E. Cheynet

Hi marvin,
You are free to ask questions. Nevertheless, your question is not specific enough to allow me to evaluate if I can help you. Also, keep in mind that I'm not here to do your work, so choose your question wisely.

Hello Cheynet, thank you for sharing such a very resourceful code. I am currently working on pipe bridge and intend to evaluate the buffeting response of the structure using your code. I have done extensive evaluation of the dynamic characteristic and was able to update EMA modal properties and the numerical. I am currently looking at evaluating the effect along and across wind direction. Can I have your assistance in editing the code to satisfy my need. Your kind consideration will be very well appreciated and acknowledge.
Thank you in anticipation.

E. Cheynet

Hi Maha, I have not access to Matlab 2007 so I don't know where your problem can be. I have uploaded the submission again and specify now that it works with R2014b and more recent. I think it also works with several older version, e.g. R2012b, but ignore which older version is no longer compatible with the submission.

maha sliti

I have problems to run the program with matlab 2007;

Xia Qi

Thanks for sharing. Nice

E. Cheynet

To include modal coupling, you would need to significantly modify the function dynaRespFD3. In the present case, the lateral, vertical and torsional displacement responses of the bridge girder are computed separately. To consider modal coupling, you need (1) to compute the displacement response in a single matrix, which includes, for example, the vertical and torsional motion (2) to consider off-diagonal terms that come from the aerodynamic added mass and damping. If the modal coupling is accounted for, the computation time is increased. Note that for a single-span suspension bridge and the wind conditions usually recorded (mean wind velocity lower than 25-30 m/s), the modal coupling is generally negligible.


Really nice code. Only one question:Based on your program, how can i consider Modal coupling . thinks!



See release notes for this release on GitHub:


See release notes for this release on GitHub:


See release notes for this release on GitHub:


Added Github repository


Correction of a typo in the expression of Liepmann's approximation to Sears' function


Code recomputed with R2019b


Examples have been updated for the sake of clarity


Added the project website

Description updated

-File uploaded properly

-Description updated

Largest update since the first submission of this script. The function dynaResp is renamed dynaResp3 and is considerably simplified (see Example 1)

Description updated and simplified code

Correction of a bug in the torsional response

- summary updated

Description, new examples


- typo


- IMPORTANT update: computing error have been corrected
- Reduction of the number of files recorded to carry out the simulation (nested functions are used instead)
- 2 examples files are included

- description

- typo

MATLAB Release Compatibility
Created with R2019b
Compatible with R2014b to any release
Platform Compatibility
Windows macOS Linux