File Exchange

image thumbnail

Rotor Dynamics toolbox (RotFE)

version 1.0 (624 KB) by

Toolbox models rotating, elastic shafts with disks



View License

The toolbox implements a simple (Timoshenko) beam with rigid disks. The model computes the eigenvectos (modes) at various speeds of rotation incorporating various effects like gyroscopics, stiffness of bearings.
The results are presented using 2d and 3d graphics.

Please use this package for educational purposes only, I do not support industries (with this free code) and do not support ministries of ‘energy’ anywhere.
Students are welcome to ask questions and I will do my best to help beginners researching rotordynamics.
Please do not send long assignments to me because this would mean I will have less time to ride my mountain bike....
This software package was written mostly during the summers of 1995,1998 (and some bugs are thus 10 years old :-)
Do not despair! Some parts work correctly and the graphics is reasonably nice. I use the package myself during teaching (rotordynamics).

More seriously, I get occasional requests to send this package to people worldwide therefore I have decided to put it back onto the Mathworks users’ area.

It would be nice to be acknowledged (even by an email) when you create nice graphics/results/publication etc. with this package.

1) Unpack the package, maintain directory structure
2) cd to /Rotfe25x in Matlab
3) type rotfeini (in Matlab) to add all the underneath directory to the path
4) run the demo (slow) by typing demo_rotfe
5) run the torsional vibration demo (somewhat incomplete, sorry) - tst_rotany.m
6) edit an example model, e.g. simple4s.m, run it using :
a. modeplot2 simple4s (use buttons to compute and manipulate display)
b. compute and display the Campbell diagram ( via:
campbell simple4s,
zoom with the mouse to see the lower frequency range
Good luck and enjoy
Izhak Bucher,

Comments and Ratings (15)

i got an error at the beginning.
Error in ==> demo_rotfe at 29
modeplot2 rz4 "
how did you solve this problem?

To Whom It May Concern:

If you're using imperial units the material density [lb/in^3] has to be divided by (32.17*12) to make mass and inertia terms compliant with the rest of the equation, i.e. slugs instead of pounds.

Hi, I'm having problem drawing Campbell diagram, Matlab returns
'Error in campbell (line 67)
The command is not in a loop algorithm, its actually under 'if' argument, I guess the right thing is to correct it to 'figure(fig)'? Cause elseif is 'figure(fig)', anybody? Thanks in advance

Jake Zwart

Very nice package. And having the code available I was able to change rpm to roll surface speed to relate to the speed that everyone is used to.

The bug Stefano reported is still present.

Question, what is the difference between the red and purple mode shape?

arestw ali

dear all
may someone help me how to use time response of this toolbox...

it's very interesting and efficient thank you...


In what units should the stiffness and unbalance by defined in, in RotFE. The units differ in different documentations.


I have a question regarding the units of spring elements:

In the documentation (e.g. in ROTFE20a.doc, page 9) you define the unit of the spring stiffness as N/m. But in all code example files, the comments on spring elements describe the unit of spring stiffness as kg/m.
What is the correct unit to use?

I would like to mention, that this toolbox is very nice and intuitive to use!

Best Regards

Zhigang Jia

Ali Ozyasamis

i solved the problem. Rotfe is very useful program who wants to work at rotor dynamics.

Ali Ozyasamis

I want to run those codes but i got an error at the beginning. You can see the error below.

"??? Undefined function or method 'modeplot2' for input arguments of type 'char'.

Error in ==> demo_rotfe at 29
modeplot2 rz4 "

what is the solution?


masoud (view profile)


masoud (view profile)

which these files can calculate critical speed of one rotor?

Izhak Bucher

Thank you Stefano, the bug (well typo) has been fixed.
Your are certainly my ** user of the week **
corrected version is being uploaded (12-12-2010)

Stefano Pieri

Great job!!!! Very nice graphics!!! There is a BUG !!!

The 'inertia' formula in rotmass.m rotstiff.m and rotgyro.m is wrong.

I=pi*d^4/64*(1-f^2); where f=ri/r; leads to a wrong value of inertia in case of 'ri' not zero.
Thus, in case of big hollow shafts, this error leads to a wrong definition of the mass, stiffness and damping matrices, with wrong results.

The correct value of inertia is I = pi*d^4/64*(1-f^4);

go on with this toolbox because it is the best...


MATLAB Release
MATLAB 7.6 (R2008a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video