Simscape Flexible Beam Stress (BeamStressLib)

Improved "General Flexible Beam" of Simscape, that compute von-Mises stress at beam ends for rectangular beams.
Updated 5 May 2021

View License

The aim of this library is to expand Simscape beam library, providing all the information an engineer requires, in a straightforward way. You can get info of Von-Mises stress and strain, reaction forces at beam ends, relative and absolute displacements of the beams.

Simscape is a powerful tool embedded in Simulink environment that helps you to model physical systems. Simscape multubody give the possibility to model flexible beams using Euler theory. However, in engineering problems, it is very common to design and optimize structural elements, and for this reason it is important to keep under control the stress in the structure. Simscape library does not provide such important information (and moreover it is not easy to extract information like displacements or forces).

The aim of this library is to expand Simscape beam library, providing all the information an engineer requires, in a straightforward way.

This block relies on Simscape "General Flexible Beam" to represent static and dynamic behaviour of flexible beam, with a rectangular cross-section, estimating the stress (and other results) at its ends. The flexible element used is "General Flexible Beam" of Simscape library in order to be compatible also with Simscape releases before 2020a.
A routine helps you to visualize the stress data and better understanding the stress distribution in the cross section. You can turn on and off the visualization routine in the "Output Parameters" tab.
Stresses (and strain) are computed only on 9 points in the cross section (sketch in the notes). IMPORTANT: The plot adopts a linear interpolation between those points just to better visualize, with some approximation, the stress distribution.

Stresses are evaluated keeping into account both bending stress, normal stress, shear stress and torsional stress in 9 different points of the cross-section of the beam (at the four edges, four in the middle of each side and one in the center of the beam). Stresses are combined according to Von-Mises equivalent stress. The stress analysis, as well as the Simscape beam model (General Flexible Beam), assume the beam is “long”, in comparison to the cross-section, adopting Euler-theory where the bending effect is greater than shear effect (i.e. shear compliance is neglected). In other words, the length of the beam should be about x10 times the cross-section side. Only for short beams shear deflection is not negligible and therefore it is better to use Timoshenko-Ehrenfest beam theory (at the moment not implemented in Simscape).
This custom block allows you to input geometry, material of the beam, and when you connect the two ports of the beam to the rest of the world, it computes stress, strain displacement and applied loads on the beam ends.

Data refer to S.I. for both main units like (kg, m, s) and derived units (N, N*m, rad). [In the previous release Young modulus E and the stresses were measured in MPa (and not Pa), as in the usual engineering practice. However it wasn't a good idea to assume stress in [MPa] since the user can forget it, so it was decided to use S.I. also in stresses so in Pa].

Even if this library is optimized to reduce the computational time, large model can be even x6 times slower than using simple "Flexible Beam" elements (without stress and force informations).

The results of this library was checked with a professional FEM software (Nastran), with a 1D beam model, in many loading conditions, showing a good agreement between this library and the FEM model.

If you have suggesion, please let me know in the comments: I will update it!

Thanks to the CNR-STIIMA Institute (DASM research group) for their support during the development of this library.

Cite As

Alberto Mora (2024). Simscape Flexible Beam Stress (BeamStressLib) (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2020a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Few improvment on the comments of example on the size of the beam (thank you Pierre!)


Update the time for start plotting stresses (it was starting from 99.9 seconds, but the simulation finished after only 2 seconds).
Now I modified in order to plot stresses from t_simulation*0.99 (only last time step).
Thank you Pierre-Eric Lys!


Improved of Simulink Example and its comments.
The stress signal are now set in unit of measurement of [Pa] (no more [MPa] as previous release).
Minor improvements to the library and to comments.
Better description (short and extended description).


Improved help and description (thanks GB!).


Improved color of letters in the plot (black and white according to the background color)


Added example


Added example


Improved description


Improved description