Sie sind auf Seite 1von 125

DYNROT 8.

3
A FINITE ELEMENT CODE FOR
ROTORDYNAMIC ANALYSIS

Dipartimento di Meccanica
Politecnico di Torino
Torino Italy
November 2000

Contents

Foreword
DYNROT 8.3 is a code for rotordynamics computations based on the finite
element method (FEM).
It has been evolved in various versions through more than 20 years. The present
version is based on the MATLAB1 interactive software package and consequently
can be used on any hardware on which MATLAB has been installed. Version 4.0 or
higher of MATLAB is required.
The original code was written at the end of the seventies by Giancarlo Genta and
Antonio Gugliotta, both of Department of Mechanics of Politecnico di Torino, using
HPL and then HP-BASIC language, for desktop HP 9800 computers. Subsequent
versions written in Fortran and C languages were developed in the eighties and
finally the present version using MATLAB package was evolved. Its superiority lays
mainly in the ability of MATLAB of dealing with complex arithmetics, its graphic
tools and the possibility of easily obtaining output ASCII files.
At present the DYNROT project is coordinated by Giancarlo Genta. Its aim is to
continue the development of the code to widen its capabilities and to make it an
even more powerful tool for the dynamic analysis of rotating machinery. A number
of persons worked and is still working in it, mostly undergraduate and post graduate
students. Among them Giacomo Brussino, Philip Miller, Domenico Bassani,
Cristiana Delprete, Stefano Carabelli and Andrea Tonoli must be mentioned.
G. Genta
Torino, November 2000

MATLAB is a trademark of The MathWorks, Inc.

Contents

Contents
Foreword
Contents

1
3

Part 1. How to get started


1.1 Installation
1.2 Running DYNROT
1.3 Structure of the driver M-file
1.4 How to input data

7
8
8
9
11

Part 2. General informations


2.1 Aims of the code
2.2 Theoretical background
2.3 Parametric modelling
2.4 Degrees of freedom
2.5 Units

17
17
18
18
18
20

Part 3. Elements
3.1 Element 1: beam
3.2 Element 2: tapered beam
3.3 Element 3: spring
3.4 Element 4: damper
3.5 Element 5: concentrated mass
3.6 Element 6: nonisotropic (asymmetrical) beam
3.7 Element 7: nonisotropic (asymmetrical) spring
3.8 Element 8: nonisotropic (asymmetrical) damper
3.9 Element 9: nonisotropic (asymmetrical) concentrated mass
3.10 Element 10: cubic spring
3.11 Element 11: spring with clearance
3.12 Element 12: magnetic bearing
3.13 Element 13: asymmetrical magnetic bearing
3.14 Element 14: 8-coefficients bearing
3.15 Element 15: speed-dependent 8-coefficients bearing
3.16 Element 16: hydrodynamic bearing
3.17 Element 17: crank with connecting rod and piston
3.18 Element 18: disc-shaft transition element
3.19 Element 19: flexible disc
3.20 Element 20: disc-blade transition element
3.21 Element 21: row of blades element
3.22 Element 22: concentrated driving torque
3.23 Element 23: shaft-disc transition element
3.24 Element 24: blade-disc transition element
3.25 Element 101: PID controller for magnetic bearings
3.26 Element 102: general controller for magnetic bearings

21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
42
44
46
47
48
50
52
53

Contents

Part 4. Lubricated bearings


4.1 Program LUBINPUT
4.2 Program LUBSHORT
4.3 Program LUBPLOT
4.4 Program ALIGN

55
56
56
56
56

Part 5. Construction of the model


5.1 Construction of the matrices of the elements
5.2 Saving matrices
5.3 Function DYNPLOT
5.4 Function DYNPLOT1
5.5 Function STRPLT
5.6 Function DYNTRANS

59
59
60
61
61
62
62

Part 6. Solution programs: static analysis


6.1 Function DYNSTAT
6.2 Function STATPLT
6.3 Function FORCES

63
64
64
65

Part 7. Solution programs: critical speeds


7.1 Function DYNCRIT
7.2 Function DYNCRITM
7.3 Function CRITPLT

67
68
69
69

Part 8. Solution programs: unbalance response


8.1 Function DYNUNBAL
8.2 Function DYNUNMOD
8.3 Function DYNUNM
8.4 Function LUBUNBAL
8.5 Function UNPLT

71
72
73
74
75
76

Part 9. Solution programs: acceleration response


9.1 Function DYNACCEL
9.2 Function ACCPLT

77
78
79

Part 10. Solution programs: Campbell diagram


10.1 Function DYNCAMP
10.2 Function DYNDAMP
10.3 Function DYNDAMOD
10.4 Function DYNLUB
10.5 Function DYNMAG
10.6 Function DYNMAG1
10.7 Function CAMPLT
10.8 Function CAMPLT1
10.9 Function LUBPLT
10.10 Function ROOTPLT

81
83
84
85
86
87
88
89
89
90
90

Part 11. Solution programs: torsional analysis


11.2 Function DYNTORS

91
92

Contents

11.3 Function FORTORS


11.4 Function TORQTORS
11.5 Function CAMPBT
11.6 Function TORSPLT
11.7 Function TCPLT
11.8 Function FTPLT
11.9 Function HTPLT

93
94
95
96
96
97
98

Part 12. Solution programs: axial natural frequencies


12.1 Function DYNAX
12.2 Function CAMPBA
12.3 Function AXPLT
12.4 Function ACPLT

99
100
101
102
102

Part 13. Solution programs: coupled torsional-axial natural


frequencies
13.1 Function DYNTA
13.2 Function CAMPBTA

103
104
105

Part 14. Examples


14.1 Example TEST1
14.2 Example TEST2
14.3 Example TEST3
14.4 Example TEST4
14.5 Example TEST5
14.6 Example TEST6
14.7 Example TEST7
14.8 Example TEST8

107
107
109
111
113
114
118
119
121

References

123

Part 1
How to get started
1.1 Structure of the code
The code is based on a number of MATLAB M-files. Some of them are script
files, while others are function files. They are supplied in the directories
PROGRAMS, MLAB4 and MLAB5 of the DYNROT 8.3 diskette.
The input data for any particular program are contained in a particular M-file,
that can be prepared by the user with any editor or generated interactively using the
programs contained in the INPUT directory (see section 1.5). Examples of these data
files are supplied in the directory DATA of the DYNROT 8.3 diskette. The same
directory contains also the data for various types of lubricated bearings.
A driver called DYNROT can be run by typing DYNROT in the MATLAB
command window followed by a <RETURN>. A button menu then appears, from
which all parts of the code can be accessed.
The computation must start with the construction of the model. This is performed
by function DYNPREP, which calls automatically other functions when needed.
Once the model has been prepared, the solutions of the various problems are
obtained by running the several M-files which solve them (e.g., DYNCRIT.M finds
the critical speeds, UNBAL.M computes the unbalance response, etc. ). They are all
function files and consequently the calling statement must contain the relevant
parameters, although alternative ways of running solution routines exist. An in-line
help is provided: for example, by typing HELP DYNCRIT a short description of the
DYNCRIT function and of the calling parameters needed is supplied. The user can
call any number of solution routines, to solve the various problems related to a
particular model. If the solution is impossible, as calling the unbalance response of a
rotor whose unbalances have not been defined, the program stops with an error
message (e.g. -** ERROR ** Unbalances not defined-). In other cases, a warning
message is supplied and the computation proceeds with a slightly different aim: if
the computation of the critical speeds of a nonlinear rotor is called, the computation
is performed on a linearized version of the model and the warning -** WARNING
** Nonlinear system: linearized analysis performed- is supplied. Many solution
routines supply the results in form of messages on the screen and/or of a plot on
MATLAB graphic windows. All messages on the screen are saved in a diary-file
while each plot is drawn in a separate graphic window which can then be recalled at
will.

Part 1: How to get started

After computations are performed, the results can be post processed in three
different ways. The most direct is that of calling a function M-file provided in the
DYNROT diskette (e.g., function CRITPLT.M plots the mode shapes at the critical
speeds). The outputs are generally plots in various graphic windows.
The second alternative is that of loading the file containing the results from
within MATLAB either using the command LOAD (e.g. LOAD CRSPEED.### MAT, where ### is the code of a particular problem, will result in loading the scalar
quantity "neig" expressing the number of critical speeds, the one-column matrix
OMCR, containing the critical speeds, and the matrix of the eigenvectors EIGV, all
prepared by the function DYNCRIT) or through an appropriate choice of the
interactive menu. The matrices can then be saved in ASCII form and processed
using any graphical program. The numbers can be passed, through an ASCII file, to
any word processor to be included in a report.
The third alternative is that of preparing a code which reads the output file to
produce a plot or a report, either directly from the outputs in MATLAB format or,
after conversion, in ASCII form.

1.2 Installation
To install DYNROT on a computer, MATLAB must be installed first.
A directory for DYNROT must be created on the hard disk to contain all the
program M-files (e.g. C:\DYNROT).
The directory with the M-files must be inserted in the MATLABPATH. No other
changes in the MATLABPATH will be needed.
All M-files from PROGRAM subdirectory of the DYNROT diskette must be
copied in the chosen directory of the hard disk. Also the M-files from either MLAB4
or MLAB5 subdirectories of the DYNROT diskette must be copied in the chosen
directory of the hard disk, depending whether MATLAB 4 or MATLAB 5 is used.
The lubricated bearings data contained in A:\DYNROT\DATA and all similar ones
created by the used must be stored in a directory included in the MATLABPATH.
Note that in the driver files included for the examples this directory is
C:\DYNROT\DATA; if this name is changed, the driver files must be changed
accordingly. Note also that the bearing data (files starting with SH and SO) need not
to be copied, unless a particular bearing is actually used. Example TEST4 uses file
sh58.m.
The data and the results of each case can be placed in different directories. They
can be subdirectories of C:\DYNROT or not. These directories must be created
before starting the computations and need not to be included in the
MATLABPATH. To run the test cases the data M-files must be copied on the hard
disk.

1.3 Running DYNROT


Before running the code, the M-file containing the data must be moved in a
directory which is included into the matlabpath. Alternatively, a directory for data
(e.g., C:\DYNROT\DATA) can be created and included into the matlabpath.

Part 1: How to get started

The user can invoke each file from the keyboard one by one and perform all the
computation in this way. This procedure is however not convenient to start any
particular problem as some parameters must be supplied between the various calls of
the M-files.
If the code is installed on a personal computer the most convenient way to run
DYNROT 8.3 is by using the interactive driver supplied with the code. Type first
DYNROT to start the driver. A first menu will be visualized to state whether:
to run the examples in an interactive way (see section 14);
to run some utilities for lubricated bearings (see section 4);
to create a data file;
to start a new computation (in case the matrices of the particular problem have
not been computed earlier);
to continue a computation already performed.
In some cases the directory in which to store the data or the results must be
supplied.
The code of the problem which must be dealt with is then requested. If the 'new
problem' option was chosen first, the problem can be the one just studied or another
one dealt with earlier. The computation then goes on using different menus, until the
user exits from the interactive driver. Note that to change problem code the user
must exit and enter again, typing DYNROT. The transformation routine
DYNTRANS causes the program to exit, as it creates a new case with a new code.
To run a problem created by transforming an existing one the user must not chose
'new problem' but 'restart', as the relevant data do not exist explicitly as an M-file
separated from the original one (which has however a different code).
Another way to run the code, which is best suited for computers other than
personal computers, is that of preparing a driver, i.e a M-file which acts as a batch
command file and calls all the needed script and function files. This is important
mainly to go through the first part of the computation, the building of the model. For
the subsequent parts, the solution and the post processing, the relevant function files
can easily be called by the user from the keyboard.
Some drivers are included in the directory DATA of the diskette (e.g.
TEST1DRV.M). Drivers with any name can be created, the only limitation being
that the name must be different from that of the M-file containing the data. The
driver M-file must be moved to a directory included in the MATLABPATH.
Once the driver is started, all the computations included in it are performed
automatically. They can be just the construction of the model or the whole solution
of the problem, if all the required solution and post-processing functions are called.
The driver can contain any other instruction the userwants to include, and all its
outputs are printed in the diary file.
All messages outputted by the function M-files not included in the driver but
called directly from the keyboard will not be included in the diary file, except if the
user creates explicitly a new diary file.

1.4 Structure of the driver M-file


This section describes the structure of the driver M-file, which is not needed to
run the code using the interactive driver. It can be skipped completely by the user
who plans to use DYNROT as an interactive code.

10

Part 1: How to get started

The driver M-file is a standard script file which must contain the following
instructions:
clear
filename = 'aaaaaa';
aaaaaaa.m is the name of the m-file (maximum length of filename is 8 characters)
containing the data of the problem to be studied. Among the data, there will be a
code of three characters designating the problem to be solved. If the code is xxx, all
files containing the results will have xxx as extension (example: filename = 'test1'; in
file TEST1.M there is the instruction jobcode = 'ts1';).
datapath = yyyyyyyyy;
yyyyyyyyy is a directory in which all results of the problem to be solved will be
written (example: datapath = 'c:\dynrot\test1\'; the final \ is needed). This directory
must be created in advance.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory yyyyyyyyy.
dynprep(filename,datapath);
DYNPREP function is run to build the model. If other parameters must be
passed to function dynprep, they must have be arranged in a form of a single matrix
(e.g. matrix par) and the line becomes (see section 2.3.):
dynprep(filename,datapath,par);
After this instruction all the required function M-file are called, e.g.
dynplot('xxx',0);
It calls function DYNPLOT which plots all the model. In all function M-files the
first parameter xxx is the three-characters code which designates the particular
problem and corresponds to the code entered in the data M-file aaaaaaa.M. In the
present example the second parameter is 0.
diary off
This is the last instruction, which closes the diary file. It must not be omitted.

10

Part 1: How to get started

11

1.5 How to input data


The simplest way to produce a data file is by using the interactive preprocessor
called DYNINPUT. It is an M-file which can be called directly from the MATLAB
prompt by typing DYNINPUT or by calling the interactive driver DYNROT and
chosing the option create a new model from the first of the menus. The interactive
preprocessor is based on a series of menus, leading the user through the whole
process. It can be used also to modify an existing data file or to create a new file
based on an old one. However, to introduce small modifications it is far easier to edit
directly the existing file using any editor, as the preprocessor does not substitute
single data but all data of the same kind (i.e., all co-ordinates or all geometries etc.).
As already stated, data can also be entered by creating a script M-file. The M-file
containing the data can be created and archived in the directory containing the
results of the particular problem, but before running the program it must be moved
in a directory included in the matlabpath.
The supplied data files and also those created by the preprocessor contain many
comment lines, so they should be self-explanatory. It is advisable to use one of them
to prepare new data files, simply substituting the data with those of the problem to
be studied.
The first two instructions must be of the type
jobcode = 'xxx';
jobtitle = 'cccccccccccccccc';
xxx is a three-characters code designating the problem whose data are specified.
All files containing the results will have xxx as extension.
cccccccccccccccc is a string (maximum 256 characters) containing a description
of the problem. It is used only for description purposes, is displayed in outputs but is
never actually used in computations. Keep it as short as possible, as in some graphic
outputs there may be not much space for it.
The instructions
oscale = a;
lscale = b;
then follow. a and b are either 1, or 2 or 3. They designate the scales for spin speed
() and frequency () axes in graphical outputs:
oscale (lscale) = 1 scales in rad/s
oscale (lscale) = 2 scales in rpm
oscale (lscale) = 3 scales in Hz
Note that oscale and lscale may be omitted: in this case all scales will be in rad/s.
The data are supplied in form of matrices, using MATLAB notation.
Matrix COORD contains the nodal co-ordinates. It has as many rows as there
are nodes and 5 columns.
In the first column a number designating the type of node is entered. Columns 2,
3 and 4 contain the x, y and z co-ordinates of the node. As the rotation axis of the
rotor is assumed to be z-axis, all nodes of type 1 must have x and y co-ordinates
equal to zero. For nodes of type 2 or 3 a nonzero value of x co-ordinate must be

11

12

Part 1: How to get started

supplied, indicating the radius at which the node is located on the disc. In the
present version of the code column 3 of matrix COORD (that for y co-ordinate) is
useless: it is present just in prevision of a more complete future version of the code
in which nodes of different type will be included. A 0 in column 3 must however be
entered.
Column 5 contains the number of the node (remember that the nodes must be
listed in numeric order). After column 5 a space for comments is left. A label can be
introduced to help understanding and modifying the input file.
Matrix ELEM contains element data. It has as many rows as there are elements
and 8 columns. In column 1 a number designating the type of element is entered. In
the present version of the code there are 24 types of elements (see Part 3). In the
following 4 columns the numbers of the nodes are listed. A zero is introduced for
nodes not needed. In columns 6 and 7 the numbers of the geometry and of the
material are listed. Column number 8 is for the rotation index, a number linked with
the spin speed of the particular element.
Matrix MATER contains data of materials. It has as many rows as there are
different materials and 6 columns. In the first column the number of the material is
entered while the other columns contain the Young's modulus, Poisson's ratio,
density, loss factor and thermal expansion coefficient.
Matrix GEOM contains geometrical data of elements; the term geometrical must
be here intended in a generalized sense, as it contains also axial forces in case of
beam elements or gains in case of control system elements. It has as many rows as
there are different geometries and a variable number of columns. In the first column
the number of the geometries is entered, the second column contains the geometry
type (24 geometries for elements and 2 types of control systems are at present
defined) while the other columns contain properties of the elements. Note that all
lines of matrix GEOM must contain the same number of elements: zeros must be
inserted in the empty columns of elements which require a smaller number of
parameters.
The instructions defining static forces then follow.
gx is a number defining the constant (gravitational) acceleration in direction of
x-axis.
gy is a number defining the constant (gravitational) acceleration in direction of
y-axis.
If no gravitational acceleration is accounted for, gx and gy need not to be
defined.
Matrix STFOR contains data of constant concentrated generalized forces acting
at the nodes in the inflection planes. It has as many rows as there are concentrated
forces and 6 columns. In the first column the number of the node on which the force
acts is entered. The following columns contain the values of the forces in x and y
directions and the values of the moments about x, y and z axes.
Matrix UNFOR contains data about unbalances. It has as many rows as there are
concentrated unbalances and 5 columns. In the first column the number of the node
on which the unbalance acts is entered. The following columns contain the values
of the static unbalances in x and y directions and the values of couple unbalances
about x and z axes.
Matrix BEARINGS contains data for speed-dependent 8-coefficients bearings.
For each bearing it has a line for each speed at which the stiffness and damping
parameters are defined. If there are r bearings defined at s speeds each, it has rs

12

Part 1: How to get started

13

rows. It has 10 columns. In the first column the number of the bearing (referred to
matrix GEOM) is entered. The following column contains the values of speed at
which the coefficients are referred. In columns from 3 to 6 the stiffness values kx, ky,
kxy and kyx are listed. Columns from 7 to 10 contain the damping coefficients cx, cy,
cxy and cyx.
Matrix PHASE defines the relative phases of the working cycles of the cranks.
It has as many rows as there are cranks and 4 columns. In the first column the
number of the node is entered. The second column contains the crank angle in
degrees. If the cylinders are not all in the same plane, the crank angle must be
substituted by the difference between the crank angle and an angle defining the
plane containing the cylinder referred to a fixed direction. The third column contains
the phase angle in degrees. The fourth column contains a progressive number which
designates the characteristics of the working cycle (see matrix CYCLE).
Matrix CYCLE defines the general characteristics of the working cycles. It has
as many rows as there are different working cycles and a variable number of
columns. In the first column a 2 or a 4 is entered depending whether a 2 or 4 stroke
cycle is considered. Different types of cycles cannot be included in the same
machine, but a 2 stroke cycle can be modelled by a 4 stroke cycle with all odd
harmonics equal to zero. The second column contains the area of the piston. The
third column contains coefficient k for the computation of the damping (see [1]).
The subsequent columns contain the coefficients for the computation of the mean
indicated pressure as a function of the speed (speed in rad/s) following a polynomial
expansion (pmi = C1 + C2 + C32 + C43 ).
Matrix HARFOR defines the coefficients of the harmonic terms for the driving
torque on the pistons. It has as many rows as there are harmonics, including the
zero-order harmonic, and a variable number of columns (two for each different
working cycle present). In the first column the coefficients for the terms in cosine of
the first cycle are entered. The second column contains the coefficients of the terms
in sine for the first cycle (the first row must contain a 0, as the zero-order harmonic
has no term in sine). The subsequent columns contain the coefficients for the other
cycles, always with coefficients of the terms in cosine in odd columns and in sine in
even columns.
Matrix TIMEHIST defines the time history of the rotor. In the first column the
values of the time are entered. The second column contains the values of the speed
at the stated time. The speed is assumed to vary linearily during each time step. The
third column contains a coefficient which multiplies the unbalance. The coefficient
is kept constant in each time step and varies abruptly at the end of the step. The
value in the last row has no importance and 0 can be entered.
Matrix STATUS defines whether the various degrees of freedom of the nodes
are master, slave or constrained. It has as many rows as there are nodes and 10
columns. In the first column the number of the node is entered.
If the node is a node of type 1, the following 2 columns contain the status of the
first (complex radial displacement) and the second (complex bending rotation)
degree of freedom for flexural behaviour. Zeros must be entered in columns columns
from 4 to 6. The seventh column contains the status of the torsional degree of
freedom (real torsional rotation). A zero must be entered in column 8. The ninth
column contains the status of the axial degree of freedom (real displacement) and the
last (tenth column) must contain a zero.

13

14

Part 1: How to get started

In case of nodes of type 2, columns from 2 to 5 contain the status of the four
degrees of freedom for flexural behaviour in the order described in section 2.3.
Column 6 must contain a 0. Column 7 contains the status of the torsional degree of
freedom, column 8 contains a 0 and columns 9 and 10 the status of the axial degrees
of freedom.
In case of nodes of type 3, columns from 2 to 6 contain the status of the five
degrees of freedom for flexural behaviour in the order described in section 2.3.
Columns 7 and 8 contain the status of the two torsional degrees of freedom and
columns 9 and 10 that of the axial degrees of freedom. Status equal to 0 means that
the degree of freedom is constrained, 1 characterizes master degrees of freedom and
2 slave degrees of freedom. In general, the second flexural degree of freedom of
nodes of type 1 (column 3), the last flexural and axial degree of freedom of nodes of
type 2 (columns 5 and 10) can be assumed to be slave. For nodes of type 3 also the
last flexural and torsional degrees of freedom (columns 6 and 8) can be assumed to
be slave.
A further type of degree of freedom can be defined, only for flexural
translational, torsional and axial degrees of freedom of nodes of type 1 (columns 2, 7
and 9). They are defined as input supermaster, output supermasters and input-output
supermasters. They are standard masterdegrees of freedom whose displacemnts are
needed by the user for further computations, as in the case of active systems in
which the displacements at the sensor and actuator locations are required. The
program generates selection matrices which, when multiplied by the displacement
vector, return the displacements in the selected nodes.
The overall characteristics of a model are listed in a vector named GLOBAL,
which is automatically generated by the code. They are:
Row Content
1. number of nodes
2. number of elements
3. number of materials
4. number of geometries
5. number of static forces (flexural)
6. number of unbalances
7. number of cranks
8. number of working cycles
9. number of harmonics (including zero-order)
10. number of entries for time histories
11. nonlinearity index
12. number of bladed discs
13. index for axial-torsional coupling
14. index for rotating anisotropy
15. index for non rotating anisotropy
16. number of substructures
17. index for hysteretic rotating damping
18. index for hysteretic non rotating damping
19. index for viscous rotating damping
20. index for viscous non rotating damping
21. number of cubic elements (flexural behaviour)

14

Part 1: How to get started


22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
51.
52.
61.
62.

15

number of spring-with-clearance elements (flexural behaviour)


number of cubic elements (torsional behaviour)
number of spring-with-clearance elements (torsional behaviour)
number of cubic elements (axial behaviour)
number of spring-with-clearance elements (axial behaviour)
number of isotropic magnetic bearings
number of anisotropic magnetic bearings
number of lubricated bearings
number of speed-dependent bearings
number of degrees of freedom (flexural behaviour)
number of master degrees of freedom (flexural behaviour)
number of slave degrees of freedom (flexural behaviour)
number of degrees of freedom (torsional behaviour)
number of master degrees of freedom (torsional behaviour)
number of slave degrees of freedom (torsional behaviour)
number of degrees of freedom (axial behaviour)
number of master degrees of freedom (axial behaviour)
number of slave degrees of freedom (axial behaviour)
number of degrees of freedom (torsional-axial behaviour)
number of master degrees of freedom (torsional-axial behaviour)
number of slave degrees of freedom (torsional-axial behaviour)
number of cubic elements (torsional-axial behaviour)
number of spring-with-clearance elements (torsional-axial behaviour)
number of concentrated torque elements
gx
gy
index for omega scale
index for frequency scale

15

Part 2
General informations
2.1 Aims of the code
DYNROT is a tool for the dynamic analysis of rotating machines. Its main aim is
then to perform all the usual rotordynamics computations, such as the evaluation of
critical speeds and the plotting of the Campbell diagram.However, its ability to take
into account features as nonlinearities,deviations from axial symmetry of either the
rotor or the stator of the machine, damping and angular acceleration, allow to
simulate the dynamic behaviour of the machine in a detail much deeper than that
achieved in usual rotordynamic analysis. The effects of the flexibility of the discs
and of the blades are included: when they are introduced into the model, the stress
distribution in the disc due both to centrifugal and thermal stressing are computed, to
take into account also the stiffening (and then the increase of the natural frequencies)
due to the stress field.
Also the axial and the torsional behaviour of the system can be studied. In these
cases the stiffening of the discs and the blades due to the stress field are accounted
for. If the blades have their principal axes of inertia in directions other than axial and
tangential to the discs, a coupling between axial and torsional behaviour results. In
this case the code allows to study also the coupled torsional-axial dynamics. Note
that the results obtained from the uncopled torsional and axial study can be incorrect
in this case (warnings are issued if the uncoupled study is attempted).
Routines for the detailed study of the equivalent system for the study of the
torsional behaviour of reciprocating machines have been included in the present
release.
While building the model, the inertial properties (mass, moments of inertia and
co-ordinates of the centre of mass) of the whole model and of the various
substructures are computed, printed to the screen and in the diary file.
As the whole machine is made of different parts which can rotate at different
speeds, all outputs can be obtained for the various substructures separately. A
substructure is here defined as the assembly of all the parts which rotate at the same
spin speed. The spin speed is entered as rotation index: rotation index equal to zero
characterizes the nonrotating parts of the machine (stator); rotation index equal to 1
characterize all the parts of the machine rotating at the nominal speed. If the value of
the rotation index is , the spin speed is times the nominal speed.
Although it is possible, to use slightly different values of the rotating index (e.g.,
1 and 1.0000001 for parts rotating at the nominal speed) to obtain separate outputs

18

Part 2: General informations

for parts constituting the same substructure (in the above mentioned sense), this
must be done with extreme care, particularly if hysteretic damping or
nonsymmetrical elements are present.

2.2 Theoretical background


DYNROT code uses more or less a standard finite element formulation, with
some deviations aimed to allow a more straightforward analysis of rotating systems.
The theoretical background on which the code is based is treated in detail in the
book by G.Genta Vibration of Structures and Machines [1]2. In particular, the details
on elements formulation, structure assembly and reduction can be found in Chapter
2; flexural behaviour in Chapter 4; torsional behaviour in Chapter 5 and magnetic
bearings in Chapter 6. As a consequence, no details on the theory on which the code
is based are given in the present guide and the reader is suggested to refer to the
mentioned textbook.
The most important peculiar feature of DYNROT code is the use of complex coordinates to express the flexural displacements and rotations. Assume that z-axis of a
fixed reference frame lays along the rotation axis of the machine and that each node
(type 1) has 6 degrees of freedom, three translational and three rotational.
The axial displacement uz is assumed to be uncoupled from the others and does
not enter flexural or torsional behaviour. In the same way, the torsional rotation z is
also assumed to be uncoupled from the others and enters only torsional behaviour.

2.3 Parametric modelling


There are cases in which the user wants to investigate the effects of the changes
in some of the data of a certain model. Obviously he can perform the relevant
computations several times stating different values of the parameters, but this can be
time consuming. DYNROT 8.3 allows leaving some of the data in symbolic form
and then passing the relevant numerical values to the code at the time of the
execution. In this way it is possible to call the various routines within a loop, to
study the effects of the variation of the design parameters. An example, related to
the construction of a plot of the critical speeds as functions of the stiffness of the
bearings, is shown in Example TEST 8. The user can refer to this example for all
relevant informations.
The parameters are passed to DYNPREP function and from it to the other
functions computing the model of the system in the form of a matrix named par. It
can have any number of rows or columns.

2.4 Degrees of freedom


To deal with the different characteristics of the different elements, three types of
nodes had to be introduced. Nodes of type 1 have two complex and two real degrees
2

Numbers in braces designate references listed in last section of the present guide.

18

Part 2: General informations

19

of freedom, corresponding to the six real degrees of freedom commonly used for the
nodes of beam elements. Only nodes of type 1 are used for all elements except for
disc and row-of-blades elements. Suitable transition elements are provided to
connect elements which require nodes of different types.
A node of type 1 has 2 complex degrees of freedom related to displacements and
rotations in xz and yz planes, 1 real degree of freedom related to torsional rotation
and 1 real degree of freedom related to axial displacement. The two translational
degrees of freedom ux and uy are composed to produce the complex displacement z =
ux + i uy and the two rotational degrees of freedom x and y are composed to
produce the complex rotation = y + i x. The complex co-ordinates z and are
dealt with in the way real co-ordinates usually are.
A node of type 2 has 4 complex degrees of freedom related to displacements and
rotations in xz and yz planes, 1 real degree of freedom related to torsional rotation
and 2 real degrees of freedom related to axial displacement. For the flexural
behaviour they are a complex radial displacement (only the first harmonic of a
Fourier expansion of a non-axisymmetrical displacement), a complex axial
displacement (again the first harmonic of a Fourier expansion of a nonaxisymmetrical displacement); a complex circumferential displacement (first
harmonic) and the derivative of the axial displacement with respect to the radius,
which coincides with the slope of the inflected shape, as no shear deformation is
considered (first harmonic). The axial displacement (second degree of freedom) and
its derivative are divided by the radius to form a sort of rotation of the circumference
at the location of the node about one of its diameters.
For the torsional behaviour the real degree of freedom is the circumferential
displacement divided by the radius, i.e. the torsional rotation (zero order harmonic of
a Fourier expansion). For the axial behaviour they are a real axial displacement and
its derivative with respect to the radius (zero order harmonic).
A node of type 3 has 5 complex degrees of freedom related to displacements and
rotations in xz and yz planes, 2 real degrees of freedom related to torsional rotation
and 2 real degrees of freedom related to axial displacement. For the flexural
behaviour they are a complex radial displacement (only the first harmonic of a
Fourier expansion of a non-axisymmetrical displacement), a complex axial
displacement (again the first harmonic of a Fourier expansion of a nonaxisymmetrical displacement); a complex circumferential displacement (first
harmonic) and the derivatives of the axial and circumferential with respect to the
radius.
For the torsional behaviour the real degrees of freedom are the circumferential
displacement (zero order harmonic of a Fourier expansion) and its derivative with
respect to the radius, both divided by the radius. In a similar way, for the axial
behaviour they are a real axial displacement and its derivative with respect to the
radius (zero order harmonic).
A consequence of the use of the complex co-ordinates is the need to use mean
and deviatoric matrices in case of anisotropic systems; this has however its
advantages too, as it is easy to build an averaged model which can be used for firstapproximation studies [2]. Another consequence is the fact that gyropscopic
matrices are always symmetrical.

19

Part 2: General informations

20

2.5 Units
All numerical quantities are expected to be introduced into the code using any
consistent system. Obviously the use of S.I. system is highly recommended and
consequently the most important units are expected to be:
length
density
ang. vel.
pressure

m
kg/m3
rad/s
Pa

mass
kg
stress
N/m2
frequency rad/s

force
angle
decay rate

N
rad
1/s

There is only one exception: in few cases angles are requested to be introduced
in degrees, as it is far more immediate for the user. In this case the user is explicitly
warned to do so in the present guide.
The user is explicitly warned not to use mm for lengths and N/mm2 for stresses
and Young's moduli: in this case the correct unit for densities would not be kg/mm3
but t/mm3, which could lead to misunderstandings.

20

Part 3
Elements
The element library of DYNROT code is particularly tailored for rotordynamics
applications; as a consequence many standard elements are not included and
specialized elements are present. In the present version there are 24 mechanical
elements and 2 control elements. They are:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
101
102

beam
tapered beam
spring
damper
mass
asymmetrical beam
asymmetrical spring
asymmetrical damper
asymmetrical mass
cubic spring
spring with clearance
magnetic bearing
asymmetrical magnetic bearing
8-coefficients bearing
8-coefficients bearing (speed dependent)
lubricated bearing
crank with piston
shaft-disc interface
flexible disc
disc-blade interface
flexible blade row
concentrated driving torque
disc-shaft interface
blade-disc interface
PID controller
general controller

The data concerning the element connectivity and some general characteristics
are given in ELEM matrix while those concerning the geometrical properties of the
element are given in GEOM matrix. In this way if some elements have the same
geometrical properties the latter can be listed only once.

22

Part 3: Elements

3.1 Element 1: beam


Element 1 is a constant cross section beam with circular or annular cross section.
Its formulation is of the type usually referred to as simple Timoshenko beam; it is
described in detail in [1]. A consistent formulation has been used for mass and
gyroscopic matrices. Two different outer diameters can be defined: an outer
diameter and a mass outer diameter. Usually the two are coincident (in this case the
mass outer diameter can be set to zero), but the second can be larger than the first if
there is a part of the cross section of the shaft which contributes to its inertial
properties and not to its stiffness, as in the case of laminations and windings of
electric motors and generators. In this case a ratio of densities can be defined as the
ratio between the density of the part of the element not contributing to its stiffness
and the density of the inner core. The last two parameters must be entered, even if
they can be set to zero if they are useless.
It has two nodes at its ends.
The data to be introduced in matrix ELEM are
1
Type
number of the node at one end (it is immaterial which end)
N1
number of the node at the other end
N2
0
N3
0
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
number of the type of material (reference to matrix MATER)
Material
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (1) (reference to matrix ELEM)
Column 3
inner diameter
Column 4
outer diameter
Column 5
axial force acting on the element
Column 6
outer "mass" diameter (0 if equal to the outer diameter)
Column 7
ratio of densities (outer part/inner core)
Data to be introduced in matrix MATER
number of the material (reference to matrix ELEM)
Column 1
Young's modulus
Column 2
Poisson's ratio
Column 3
density
Column 4
loss factor
Column 5

22

Part 3: Elements

23

3.2 Element 2: tapered beam


Element 2 is a beam with circular or annular cross section with linearily varying
inner and outer radii. Its formulation is of the type usually referred to as simple
Timoshenko beam; it is described in detail in [3]. A consistent formulation has been
used for mass and gyroscopic matrices.
It has two nodes at its ends.
The data to be introduced in matrix ELEM are
Type
2
N1
number of the node at one end (it is immaterial which end)
N2
number of the node at the other end
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER)
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (2) (reference to matrix ELEM)
Column 3
inner diameter at node 1
Column 4
outer diameter at node 1
Column 5
inner diameter at node 2
Column 6
outer diameter at node 2
Column 7
axial force acting on the element
Data to be introduced in matrix MATER
number of the material (reference to matrix ELEM)
Column 1
Young's modulus
Column 2
Poisson's ratio
Column 3
density
Column 4
loss factor
Column 5

23

24

Part 3: Elements

3.3 Element 3: spring


Element 3 is a spring element which can be connected at both ends at two nodes
of the structure (e.g. to simulate joints, bearings between two different shafts or
between a shaft and the stator) or at one node only, the other end being fixed, i.e.
connected with the ground (e.g. to simulate an elastic support). The characteristics
of the spring must be isotropic in xy plane.
If two nodes are present, their co-ordinates must be the same.
The data to be introduced in matrix ELEM are
Type
3
N1
number of the node at one end (it is immaterial which end)
N2
number of the node at the other end (0 if grounded)
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER).
The material must be specified to introduce the loss factor.
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (3) (reference to matrix ELEM)
Column 3
stiffness in x (y) direction
Column 4
rotational stiffness about x (y) axis
Column 5
torsional stiffness
Column 6
stiffness in z direction
Data to be introduced in matrix MATER
Column 1
number of the material (reference to matrix ELEM)
Column 2
Young's modulus
Column 3
Poisson's ratio
Column 4
density
Column 5
loss factor

24

Part 3: Elements

25

3.4 Element 4: damper


Element 4 is a viscous damper element which can be connected at both ends at
two nodes of the structure or at one node only, the other end being fixed, i.e.
connected with the ground, in a way which is similar to the spring element. The
characteristics of the damper must be isotropic in xy plane.
If two nodes are present, their co-ordinates must be the same.
The data to be introduced in matrix ELEM are
Type
4
N1
number of the node at one end (it is immaterial which end)
N2
number of the node at the other end (0 if grounded)
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER)
The material need not be specified as it is useless and a 0 can be
entered.
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
In case of intershaft dampers, the spin speed is that of the
element in which energy is dissipated.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (4) (reference to matrix ELEM)
Column 3
damping coefficient in x (y) direction
Column 4
rotational damping coefficient about x (y) axis
Column 5
torsional damping coefficient
Column 6
damping coefficient in z direction
No data need to be introduced in matrix MATER

25

26

Part 3: Elements

3.5 Element 5: concentrated mass


Element 5 is an isotropic mass element. Owing to isotropy, the moments of
inertia Jx and Jy are equal and are indicated as Jt. The element has only one node.
The data to be introduced in matrix ELEM are
Type
5
N1
number of the node
N2
0
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
0
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (5) (reference to matrix ELEM)
Column 2
mass
Column 3
transversal moment of inertia Jt (Jx = Jy)
Column 4
Column 5
polar moment of inertia Jp (Jz)
No data need to be introduced in matrix MATER

26

Part 3: Elements

27

3.6 Element 6: nonisotropic (asymmetrical) beam


Element 6 is a constant cross section beam with non-isotropic cross section. Its
formulation is of the same type of that of element 1. A consistent formulation has
been used for mass and gyroscopic matrices. Mean and deviatoric matrices are
generated [2].
It has two nodes at its ends.
The data to be introduced in matrix ELEM are
Type
6
N1
number of the node at one end (it is immaterial which end)
N2
number of the node at the other end
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER)
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
No rotation index other than 0 or 1 is possible for
asymmetrical elements.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (6) (reference to matrix ELEM)
Column 3
area of the cross section
Column 4
area moment of inertia about x-axis
Column 5
area moment of inertia about y-axis
Column 6
area moment of inertia about z-axis
Column 7
shear coefficient for bending in yz plane
Column 8
shear coefficient for bending in xz plane
Column 9
torsion coefficient
Column 10
angle between a rotating x-axis of the whole rotor and a similar
axis of the element (expressed in degrees)
Column 11
axial force acting on the element
Data to be introduced in matrix MATER
Column 1
number of the material (reference to matrix ELEM)
Column 2
Young's modulus
Column 3
Poisson's ratio
Column 4
density
Column 5
loss factor

27

28

Part 3: Elements

3.7 Element 7: nonisotropic (asymmetrical) spring


Element 7 is a spring element with non-isotropic characteristics which can be
connected at both ends at two nodes of the structure (e.g. to simulate joints, bearings
between two different shafts or between a shaft and the stator) or at one node only,
the other end being fixed, i.e. connected with the ground (e.g. to simulate an elastic
support).
If two nodes are present, their co-ordinates must be the same.
The data to be introduced in matrix ELEM are
Type
7
N1
number of the node at one end
N2
number of the node at the other end (0 if grounded)
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER).
The material must be specified to introduce the loss factor.
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
No rotation index other than 0 or 1 is possible for asymmetrical
elements.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (7) (reference to matrix ELEM)
Column 3
stiffness in x direction
Column 4
rotational stiffness about x axis
Column 5
stiffness in y direction
Column 6
rotational stiffness about y axis
Column 7
torsional stiffness
Column 8
stiffness in z direction
Column 9
angle between a rotating x-axis of the whole rotor and a similar
axis of the element (expressed in degrees)
Data to be introduced in matrix MATER
Column 1
number of the material (reference to matrix ELEM)
Column 2
Young's modulus (not needed: can be 0)
Poisson's ratio (not needed: can be 0)
Column 3
Column 4
density (not needed: can be 0)
Column 5
loss factor

28

Part 3: Elements

29

3.8 Element 8: nonisotropic (asymmetrical) damper


Element 8 is a viscous damper element with non-isotropic characteristics which
can be connected at both ends at two nodes of the structure or at one node only, the
other end being fixed, i.e. connected with the ground, in a way which is similar to
the spring element.
If two nodes are present, their co-ordinates must be the same.
The data to be introduced in matrix ELEM are
Type
8
N1
number of the node at one end
N2
number of the node at the other end (0 if grounded)
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER).
The material need not be specified as it is useless and a 0 can be
entered.
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
No rotation index other than 0 or 1 is possible for
asymmetrical elements.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (8) (reference to matrix ELEM)
Column 3
damping coefficient in x direction
Column 4
rotational damping coefficient about x axis
Column 5
damping coefficient in y direction
Column 6
rotational damping coefficient about y axis
Column 7
torsional damping coefficient
Column 8
damping coefficient in z direction
Column 9
angle between a rotating x-axis of the whole rotor and a similar
axis of the element (expressed in degrees)
No data need to be introduced in matrix MATER

29

30

Part 3: Elements

3.9 Element 9: nonisotropic (asymmetrical) concentrated mass


Element 9 is a mass element with non-isotropic characteristics. The element has
only one node.
The data to be introduced in matrix ELEM are
Type
9
N1
number of the node
N2
0
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
0
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
No rotation index other than 0 or 1 is possible for asymmetrical
elements.
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (9) (reference to matrix ELEM)
Column 2
mass
Column 3
moment of inertia Jx
Column 4
Column 5
moment of inertia Jy
Column 6
moment of inertia Jz
Column 7
angle between a rotating x-axis of the whole rotor and a similar
axis of the element (expressed in degrees)
No data need to be introduced in matrix MATER

30

Part 3: Elements

31

3.10 Element 10: cubic spring


Element 10 is a nonlinear spring element which can be connected at both ends at
two nodes of the structure (e.g. to simulate joints, bearings between two different
shafts or between a shaft and the stator) or at one node only, the other end being
fixed, i.e. connected with the ground (e.g. to simulate an elastic support). The
characteristics of the spring must be isotropic in xy plane.
The restoring force is assumed to be of the type

F = kx 1 + x 2

where x is the relative displacement of the end nodes.


The linear part of the restoring force must be entered separately, as a linear
spring element.
If two nodes are present, their co-ordinates must be the same.
The degrees of freedom connected with a nonlinear element must be defined as
master degrees of freedom.
The data to be introduced in matrix ELEM are
10
Type
number of the node at one end
N1
number of the node at the other end (0 if grounded)
N2
0
N3
0
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
not needed (0)
Material
Rotation index not needed (0)
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (10) (reference to matrix ELEM)
Column 3
coefficient k for translations in x (y) direction
Column 4
coefficient k for torsional rotations
Column 5
coefficient k for translations in z direction
No data need to be introduced in matrix MATER

31

32

Part 3: Elements

3.12 Element 11: spring with clearance


Element 11 is a nonlinear spring element which can be connected at both ends at
two nodes of the structure (e.g. to simulate joints, bearings between two different
shafts or between a shaft and the stator) or at one node only, the other end being
fixed, i.e. connected with the ground (e.g. to simulate an elastic support). The
characteristics of the spring must be isotropic in xy plane.
The spring restoring force is assumed to be of the type
F = k (x c )

F = 0
F = k (x + c )

if
if
if

x>c
c < x < c
x < c

where x is the relative displacement of the end nodes and c is the value of the
clearance. If two nodes are present, their co-ordinates must be the same.
The degrees of freedom connected with a nonlinear element must be defined as
master degrees of freedom.
The data to be introduced in matrix ELEM are
11
Type
number of the node at one end
N1
number of the node at the other end (0 if grounded)
N2
0
N3
0
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
not needed (0)
Material
Rotation index not needed (0).
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (11) (reference to matrix ELEM)
Column 2
stiffness for translations in x (y) direction
Column 3
clearance for translations in x (y) direction
Column 4
stiffness for torsional rotations
Column 5
clearance for torsional rotations
Column 6
stiffness for translations in z direction
Column 7
clearance for translations in z direction
Column 8
No data need to be introduced in matrix MATER

32

Part 3: Elements

33

3.12 Element 12: magnetic bearing


Element 12 is an electromagnetic radial bearing element which can be connected
at both ends at two nodes of the structure or at one node only, the other end being
fixed, i.e. connected with the ground. The characteristics of the bearing must be
isotropic in xy plane.
The element includes the actuators, two electromagnets in x and y directions,
which supply a force proportional to the square of the current I and inversely
proportional to the square of the radial displacement u
F = kx (I / u )2

and two displacement sensors measuring the displacements in the same directions.
The sensors can be located in nodes different from those in which the actuators
are located.
The degrees of freedom related to displacements of the nodes at both actuator
and sensor locations must be defined as master degrees of freedom.
A bias current is given to linearize the characteristics of the actuator.
The data to be introduced in matrix ELEM are
12
Type
number of the node at one end of the actuator
N1
number of the node at the other end of the actuator (0 if
N2
grounded)
number of the node at one end of the sensor
N3
number of the node at the other end of the sensor (0 if grounded)
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
not needed (0)
Material
Rotation index not needed (0)
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (12) (reference to matrix ELEM)
Column 2
coefficient k in the expression of the force of the actuator
Column 3
nominal air gap in the actuator
Column 4
bias current
Column 5
gain of the sensor (voltage/displacement)
Column 6
time constant of the sensor
Column 7
gain of the power amplifier (current/voltage)
Column 8
time constant of the power amplifier
Column 9
number of the geometry of the controller
Column 10
No data are to be introduced in matrix MATER

33

34

Part 3: Elements

3.13 Element 13: asymmetric magnetic bearing


Element 13 is an electromagnetic radial bearing element which can be connected
at both ends at two nodes of the structure or at one node only, the other end being
fixed, i.e. connected with the ground. The characteristics of the bearing can be
different in xz and yz planes.
The element includes the actuators, two electromagnets in x and y directions,
which supply a force proportional to the square of the current I and inversely
proportional to the square of the radial displacement u

F = kx (I / u )

and two displacement sensors measuring the displacements in the same directions.
The sensors can be located in nodes different from those in which the actuators
are located.
The degrees of freedom related to displacements of the nodes at both actuator
and sensor locations must be defined as master degrees of freedom.
Different bias currents can be given to linearize the characteristics of the actuator
in the two radial planes.
The data to be introduced in matrix ELEM are
13
Type
number of the node at one end of the actuator
N1
number of the node at the other end of the actuator (0 if
N2
grounded)
number of the node at one end of the sensor
N3
number of the node at the other end of the sensor (0 if grounded)
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
needed (0)
Material
Rotation index not needed (0)
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (13) (reference to matrix ELEM)
Column 2
coefficient k in the expression of the force of the actuator (x
Column 3
direction)
nominal air gap in the actuator (x direction)
Column 4
static displacement in the actuator (x direction)
Column 5
bias current (x direction)
Column 6
static compensation current (x direction)
Column 7
Class index (1= class A; 2= class B) (x direction)
Column 8
angle between a rotating x -axis of the whole rotor and a similar
Column 9
axis of the actuator (expressed in degrees)
Column 10
gain of the sensor (voltage/displacement) (x direction)
Column 11
time constant of the sensor (x direction)
Column 12
gain of the power amplifier (current/voltage) (x direction)
Column 13
time constant of the power amplifier (x direction)

34

Part 3: Elements
Column 14
Column 15
Column 16
Column 17
Column 18
Column 19
Column 20
Column 21
Column 22
Column 23
Column 24
Column 25
Column 26

35

number of the geometry of the controller (x direction)


coefficient k in the expression of the force of the actuator (y
direction)
nominal air gap in the actuator (y direction)
static displacement in the actuator (y direction)
bias current (y direction)
static compensation current (y direction)
class index (1= class A; 2= class B) (y direction)
angle between a rotating x-axis of the whole rotor and a similar
axis of the sensor (expressed in degrees)
gain of the sensor (voltage/displacement) (y direction)
time constant of the sensor (y direction)
gain of the power amplifier (current/voltage) (y direction)
time constant of the power amplifier (y direction)
number of the geometry of the controller (y direction)

No data are to be introduced in matrix MATER

35

36

Part 3: Elements

3.14 Element 14: 8-coefficients bearing


Element 14 is a radial bearing element which can be connected at both ends at
two nodes of the structure or at one node only, the other end being fixed, i.e.
connected with the ground. The element is characterized by 4 stiffness and 4
damping coefficients.
If two nodes are present, their co-ordinates must be the same.
It can be used in connection with any anisotropic linear analysis routine. It
cannot be used for DYNLUB routine, which requires a nonlinear bearing element.
The data to be introduced in matrix ELEM are
Type
14
N1
number of the node for the inner part of the bearing
N2
number of the node at the outer part of the bearing (0 if
grounded)
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
not needed (0)
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
no rotation index other than 0 or 1 is possible for
asymmetrical elements.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (13) (reference to matrix ELEM)
Column 3
stiffness kx
Column 4
stiffness ky
Column 5
stiffness kxy
Column 6
stiffness kyx
Column 7
damping cx
Column 8
damping cy
Column 9
damping cxy
Column 10
damping cyx
Column 11
angle between x-axis and a similar axis of the element (expressed
in degrees)
No data are to be introduced in matrix MATER

36

Part 3: Elements

37

3.15 Element 15: speed-dependent 8-coefficients bearing


Element 15 is a radial bearing element which can be connected at both ends at
two nodes of the structure or at one node only, the other end being fixed, i.e.
connected with the ground. The element is characterized by 4 stiffness and 4
damping coefficients, defined at a number of speeds. The values of the stiffness and
damping coefficients are listed in matrix BEARINGS.
If two nodes are present, their co-ordinates must be the same.
It can be used in connection with any anisotropic linear analysis routine. It
cannot be used for DYNLUB routine, which requires a nonlinear bearing element.
The data to be introduced in matrix ELEM are
15
Type
number of the node for the inner part of the bearing
N1
number of the node at the outer part of the bearing (0 if
N2
grounded)
0
N3
0
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
not needed (0)
Material
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
No rotation index other than 0 or 1 is possible for asymmetrical
elements.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (15) (reference to matrix ELEM)
Column 3
number of the bearing (reference to matrix BEARINGS)
Column 4
number of speeds at which the characteristics are defined (must
be equal to the number of lines in matrix BEARINGS dedicated
to the bearing)
Column 5
angle between x-axis and a similar axis of the element (expressed
in degrees)
No data are to be introduced in matrix MATER

37

38

Part 3: Elements

3.16 Element 16: hydrodynamic bearing


Element 16 is a hydrodynamic radial bearing element which can be connected at
both ends at two nodes of the structure or at one node only, the other end being
fixed, i.e. connected with the ground.
If two nodes are present, their co-ordinates must be the same.
The bearing is modelled using pre-defined tables in which the working
parameters are reported as functions of the Sommerfeld number. The format of such
tables is that reported in [4].
The degrees of freedom connected with a hydrodynamic bearing element must
be defined as master degrees of freedom. The casing can be displaced of a given
quantity in both xand y direction, in such a way to preload the bearing. The
displacements x and y must be specified by the user.
The data to be introduced in matrix ELEM are
16
Type
number of the node for the inner part of the bearing
N1
number of the node at the outer part of the bearing (0 if
N2
grounded)
0
N3
0
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
not needed (0)
Material
Rotation index not needed (0)
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (16) (reference to matrix ELEM)
Column 2
journal diameter
Column 3
journal length
Column 4
clearance
Column 5
viscosity of the lubricant
Column 6
Column 7
x
Column 8
y
Columns 9-12
four numbers which will be converted into alphanumeric
characters designating the file containing the table of the
bearing (e.g. if the file is XXXX.M enter real('XXXX'). Note
that this command generates a row of four numbers which will
enter into columns from 7 to 10 of matrix GEOM. If
WINDOWS 95 (or later) is used, remember that it is casesensitive.
No data are to be introduced in matrix MATER.

38

Part 3: Elements

39

3.17 Element 17: crank with connecting rod and piston


Element 17 is a crank mechanism for the study of crankshafts. It has only one
node, as a mass element.
The data to be introduced in matrix ELEM are
Type
17
N1
number of the node
N2
0
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
not needed (0)
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (13) (reference to matrix ELEM)
Column 2
radius of the crank
Column 3
length of the connecting rod
Column 4
distance between the axis of the piston and the centre of the
Column 5
crank
distance of the centre of gravity of the connecting rod from the
Column 6
crankpin
mass of the crank (to be included in the inertial properties of the
Column 7
crankshaft)
polar moment of inertia the crank (to be included in the inertial
Column 8
properties of the crankshaft)
transversal moment of inertia the crank (to be included in the
Column 9
inertial properties of the crankshaft)
mass of the connecting rod (will not be included in the inertial
Column 10
properties of the crankshaft)
moment of inertia of the connecting rod (baricentric) (will not be
Column 11
included in the inertial properties of the crankshaft)
mass of the piston (will not be included in the inertial properties
Column 12
of the crankshaft)
No data are to be introduced in matrix MATER.

39

40

Part 3: Elements

3.18 Element 18: shaft-disc transition element


Element 18 is used to connect disc elements with beam or spring elements at the
disc inner radius. The inner part of a flexible disc must be modelled using a
transition element. For disc-shaft connection at the disc outer radius element 23 must
be used. This element takes into consideration stress-stiffening, due to thermal and
centrifugal stresses; the latter depends on the spin speed. No effect of shear
deformation or rotational inertia of the cross sections is included.
The element has two nodes, one at the inner radius and one at the outer one.
Their axial (z) co-ordinates must be the same.
The first node is a node of the shaft and is a node of type 1. It is located on the
axis (x and y co-ordinates are null); however it can be thought as being at the inner
radius of the disc as the shaft cross section behaves as a rigid body.
The second node is a node of type 2, located at the outer radius (its x co-ordinate
is not equal to zero but to the outer radius. Its y co-ordinate is null). The node has 4
complex and 3 real degrees of freedom.
To take into account the possibility that the disc and the shaft are made in one
piece, which is relevant in the computation of the stresses, two values of the inner
radius must be introduced: the interface radius, used to compute both the stiffness
and the mass of the element, and the inside radius used to compute stresses. The
latter can be zero if the disc is unpierced. Temperature must be entered if thermal
stresses are present. The stress at the inner radius is included if the disc is shrink-fit
on the shaft.
Note that a node of type 2 or 3 cannot be constrained; actually it can be
constrained but this means that the displacement relative to the rogid-body position
of the disc is zero and not that its absolute displacement is zero.
The data to be introduced in matrix ELEM are
Type
18
N1
number of the node of the shaft at the inside of the element (node
of type 1)
N2
number of the node at the outside of the element (node of type 2)
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER)
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (18) (reference to matrix ELEM)
Column 2
axial thickness at the inner radius
Column 3
axial thickness at the outer radius
Column 4
interface radius with the beam element
Column 5

40

Part 3: Elements
Column 6
Column 7
Column 8
Column 9

41

inner radius (equal to the interface radius if the disc is pierced at


the interface, smaller than that if the disc is pierced and protrudes
inside a hollow shaft, 0 if the disc is not pierced)
temperature at the inner radius
temperature at the outer radius
stress at the inner radius

Data to be introduced in matrix MATER


number of the material (reference to matrix ELEM)
Column 1
Young's modulus
Column 2
Poisson's ratio
Column 3
density
Column 4
loss factor
Column 5
thermal expansion coefficient
Column 6

41

42

Part 3: Elements

3.19 Element 19: disc element


Element 19 is a disc elements used to model flexible discs, whose inner part
must be modelled using a transition element. This element takes into consideration
stress-stiffening, due to thermal and centrifugal stresses; the latter depends on the
spin speed. No effect of shear deformation or rotational inertia of the cross sections
is included.
The element has 3 nodes, one at the interface between the shaft and the transition
element of the disc, the second at the inner radius of the element and the third at the
outer one. Their axial (z) co-ordinates must be the same.
The first node is a node of the shaft and is a node of type 1.
The second and the third nodes are nodes of type 2, located at the inner and outer
radii (x co-ordinates are not equal to zero but to the radii. The y co-ordinates are
null). Each node has 4 complex and 3 real degrees of freedom.
Temperature must be entered if thermal stresses are present. The stress at the
outer radius can be included but has a meaning only for the outermost element of a
disc. It cannot be used to simulate the radial pull of blades, as it does not depend on
the speed; for this blade elements must be used.
Note that a node of type 2 or 3 cannot be constrained; actually it can be
constrained but this means that the displacement relative to the rogid-body position
of the disc is zero and not that its absolute displacement is zero.
The data to be introduced in matrix ELEM are
Type
19
N1
number of the node of the shaft at the inside of the disc (node of
type 1)
N2
n. of the node at the inside of the element (node of type 2)
N3
n. of the node at the outside of the element (node of type 2)
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER)
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (19) (reference to matrix ELEM)
Column 2
axial thickness at the inner radius
Column 3
axial thickness at the outer radius
Column 4
temperature at the inner radius
Column 5
temperature at the outer radius
Column 6
stress at outer radius (only on the last element of a disc))
Column 7

42

Part 3: Elements

43

Data to be introduced in matrix MATER


Column 1
number of the material (reference to matrix ELEM)
Column 2
Young's modulus
Column 3
Poisson's ratio
Column 4
density
Column 5
loss factor
Column 6
thermal expansion coefficient

43

44

Part 3: Elements

3.20 Element 20: disc-blade transition element


Element 20 is an elemnt used to model a row of blades, at the interface with a
disc elements. When blades are present, the correct sequence is a shaft-disc element,
followed by one or more disc elements, one disc-blade transition element and the
one or more blade-row elements. Thius sequence is compulsory, even if disc
elements can be omitted. Transition elements of the two types must however be
present. This element takes into consideration stress-stiffening due to centrifugal
stresses only, as no stresses in the blades are due to tempreature gradients. No effect
of shear deformation or rotational inertia of the cross sections is included.
The element has 3 nodes, one being the shaft node common to all disc and blade
element at a given location, the second at the inner radius of the row of blades,
which is in common with the outer disc element and the third at the outer radius.
Their axial (z) co-ordinates must be the same.
The first node is a node of the shaft and is a node of type 1.
The second and the third nodes are nodes respectively of type 2 and type 3,
located at the inner and outer radii (their x co-ordinates are not equal to zero but to
the radii. The y co-ordinates are null). The node of type 2 has 4 complex and 3 real
degrees of freedom, that of type 3 has 5 complex and 4 real degrees of freedom.
Note that a node of type 2 or 3 cannot be constrained; actually it can be
constrained but this means that the displacement relative to the rogid-body position
of the disc is zero and not that its absolute displacement is zero.
The data to be introduced in matrix ELEM are
Type
20
N1
number of the node of the shaft at the inside of the disc (node of
type 1)
N2
n. of the node at the inside of the element (node of type 2)
N3
n. of the node at the outside of the element (node of type 3)
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER)
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (20) (reference to matrix ELEM)
Column 2
number of blades
Column 3
cross-sectional area of each blade at the inner radius
Column 4
cross-sectional area of each blade at the outer radius
Column 5
maximum principal area moment of inertia of the blade at the
Column 6
inner radius
maximum principal area moment of inertia of the blade at the
Column 7
outer radius

44

Part 3: Elements
Column 8
Column 9
Column 10
Column 11

45

minimum principal area moment of inertia of the blade at the


inner radius
minimum principal area moment of inertia of the blade at the
outer radius
angle between the direction of the principal axis of inertia with
minimum moment of inertia of the blade and the axial direction
at the inner radius expressed in degrees. (0 for axial blades)
same as column 10, at the outer radius

Data to be introduced in matrix MATER


Column 1
number of the material (reference to matrix ELEM)
Column 2
young's modulus
Column 3
poisson's ratio
Column 4
density
Column 5
loss factor

45

46

Part 3: Elements

3.21 Element 21: row of blades element


Element 21 is an element used to model a row of blades [13]. It is identical to
element 20, with the only difference that its second node is of type 3, as it in
connected with another blade element or a disc-blade transition element.
Note that a node of type 2 or 3 cannot be constrained; actually it can be
constrained but this mean that the displacement relative to the rogid-body position of
the disc is zero and not that its absolute displacement is zero.
The data to be introduced in matrix ELEM are
Type
21
N1
number of the node of the shaft at the inside of the disc (node of
type 1)
N2
n. of the node at the inside of the element (node of type 3)
N3
n. of the node at the outside of the element (node of type 3)
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER)
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (reference to matrix ELEM)
Column 2
code of the element type (21) (reference to matrix ELEM)
Column 3
number of blades
Column 4
cross-sectional area of each blade at the inner radius
Column 5
cross-sectional area of each blade at the outer radius
Column 6
maximum principal area moment of inertia of the blade at the
inner radius
Column 7
same as column 6, at the outer radius
Column 8
minimum principal area moment of inertia of the blade at the
inner radius
Column 9
same as column 8, at the outer radius
Column 10
angle between the direction of the principal axis of inertia with
minimum moment of inertia of the blade and the axial direction
at the inner radius expressed in degrees. (0 for axial blades)
Column 11
same as column 10, at the outer radius
Data to be introduced in matrix MATER
number of the material (reference to matrix ELEM)
Column 1
young's modulus
Column 2
poisson's ratio
Column 3
density
Column 4
loss factor
Column 5

46

Part 3: Elements

47

3.22 Element 22: concentrated driving torque


Element 22 introduces a concentrated driving torque which is an explicit
function of time. Any number of concetrated torques can be introduced into the
model, with different time histories
The time history of the torque is
M z = A0 + B0 e s0t +

si t

[Ai cos(i t ) + Bi sin (i t )]

i =1

The data to be introduced in matrix ELEM are


Type
22
N1
number of the node of the shaft at which the torque acts
N2
0
N3
0
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
not needed (0)
Rotation index needed (0)
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (22) (reference to matrix ELEM)
Column 2
A0
Column 3
Column 4
B0
Column 5
s0
Column 6
A1
Column 7
B1
Column 8
1
Column 9
s1
Columns 10, additional columns can be used to enter further constants Ai, Bi,
I, si in the correct order
No data are to be introduced in matrix MATER

47

48

Part 3: Elements

3.23 Element 23: disc-shaft transition element


Element 23 is used to connect disc elements with beam or spring elements at
their outer radius. The outer part of a flexible disc which is connected to a beam
(usuallu hollow) must be modelled using a transition element (type 23). For shaftdisc connection at the disc inner radius element 18 must be used. At present, the
shaft must be connected with a disc at its inner radius. This element takes into
consideration stress-stiffening, due to thermal and centrifugal stresses; the latter
depends on the spin speed. No effect of shear deformation or rotational inertia of the
cross sections is included.
The element has three nodes, one at the center, one at the inner radius and one at
the outer one. Their axial (z) co-ordinates must be the same.
The first node is a node of the shaft and is a node of type 1. It is located on the
axis (x and y co-ordinates are null).
The second node is a node of type 2, located at the inner radius (its x co-ordinate
is not equal to zero but to the inner radius. Its y co-ordinate is null). The node has 4
complex and 3 real degrees of freedom.
The third node is a node of type 1, located at the outer radius (its x co-ordinate is
equal to zero, as it is a node of type 1). This node can be thought as being located on
the axis and is coincident with a node of the shaft (spring) element to which the disc
is connected.
To take into account the possibility that the disc and the shaft are made in one
piece, which is relevant in the computation of the stresses, two values of the outer
radius must be introduced: the interface radius, used to compute both the stiffness
and the mass of the element, and the outside radius used to compute stresses. The
temperature must be entered if thermal stresses are present. The stress at the
outermost radius can be specified. Note that this way of computing the steressing of
the disc can be highly approximated, as only the part of the hollow shaft which is
immediately around the disc is accounted for.
Note that a node of type 2 or 3 cannot be constrained; actually it can be
constrained but this means that the displacement relative to the rogid-body position
of the disc is zero and not that its absolute displacement is zero.
The data to be introduced in matrix ELEM are
23
Type
number of the node of the shaft at the inside of the element (node
N1
of type 1)
number of the node at the inside of the element (node of type 2)
N2
number of the node of the shaft at the outside of the element
N3
(node of type 1)
0
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
number of the type of material (reference to matrix MATER)
Material
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.

48

Part 3: Elements

49

Data to be introduced in matrix GEOM


number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (23) (reference to matrix ELEM)
Column 2
axial thickness at the inner radius
Column 3
axial thickness at the outer radius
Column 4
interface radius with the beam element
Column 5
outer radius (equal to the interface radius if the disc actually ends
Column 6
at the interface, greater than that if the disc and protrudes outside
the shaft)
temperature at the inner radius
Column 7
temperature at the interface radius (and at the outer radius)
Column 8
stress at the outer radius
Column 9
Data to be introduced in matrix MATER
Column 1
number of the material (reference to matrix ELEM)
Column 2
Young's modulus
Column 3
Poisson's ratio
Column 4
density
Column 5
loss factor
Column 6
thermal expansion coefficient

49

50

Part 3: Elements

3.24 Element 24: blade-disc transition element


Element 24 is an element used to model a row of blades, at the interface with a
disc elements on their outer radius. When blades end into a disc (shroud), the correct
sequence is a shaft-disc element, followed by one or more disc elements, one discblade transition element, one or more blade-row elements, one blade-disc transition
elements and then other disc elements and a disc-shaft transition element if the outer
radius of the bladed disc is connected to a shaft. This sequence is compulsory, even
if disc elements can be omitted. Transition elements of the three (four) types must
however be present. This element takes into consideration stress-stiffening due to
centrifugal stresses only, as no stresses in the blades are due to tempreature
gradients. No effect of shear deformation or rotational inertia of the cross sections is
included.
The element has 3 nodes, one being the shaft node common to all disc and blade
element at a given location, the second at the inner radius of the row of blades,
which is in common with the outer disc element and the third at the outer radius.
Their axial (z) co-ordinates must be the same.
The first node is a node of the shaft and is a node of type 1.
The second and the third nodes are nodes respectively of type 3 and type 2,
located at the inner and outer radii (their x co-ordinates are not equal to zero but to
the radii. The y co-ordinates are null). The node of type 2 has 4 complex and 3 real
degrees of freedom, that of type 3 has 5 complex and 4 real degrees of freedom.
Note that a node of type 2 or 3 cannot be constrained; actually it can be
constrained but this means that the displacement relative to the rogid-body position
of the disc is zero and not that its absolute displacement is zero.
The data to be introduced in matrix ELEM are
Type
24
N1
number of the node of the shaft at the inside of the disc (node of
type 1)
N2
n. of the node at the inside of the element (node of type 3)
N3
n. of the node at the outside of the element (node of type 2)
N4
0
Geometry
number of the type of geometry (reference to matrix GEOM)
Material
number of the type of material (reference to matrix MATER)
Rotation index 0 if the element belongs to the stator;
1 if the element belongs to the rotor (spinning at the nominal
speed);
r = ratio between the spin speed of the element and the
nominal speed.
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (24) (reference to matrix ELEM)
Column 2
number of blades
Column 3
cross-sectional area of each blade at the inner radius
Column 4
cross-sectional area of each blade at the outer radius
Column 5

50

Part 3: Elements
Column 6
Column 7
Column 8
Column 9
Column 10
Column 11

51

maximum principal area moment of inertia of the blade at the


inner radius
maximum principal area moment of inertia of the blade at the
outer radius
minimum principal area moment of inertia of the blade at the
inner radius
minimum principal area moment of inertia of the blade at the
outer radius
angle between the direction of the principal axis of inertia with
minimum moment of inertia of the blade and the axial direction
at the inner radius expressed in degrees. (0 for axial blades)
same as column 10, at the outer radius

Data to be introduced in matrix MATER


Column 1
number of the material (reference to matrix ELEM)
Column 2
Young's modulus
Column 3
Poisson's ratio
Column 4
density
Column 5
loss factor

51

52

Part 3: Elements

3.25 Element 101: PID controller for magnetic bearings


Element 101 is a PID controller on error feedback with an additional filter on
sensor output. The input-output time relation of the ideal PID controller is

1
u (t ) = k c 1 +
Ti

e(u )du + T

de(t )

dt

where e(t) is the error and u(t) is the controller output (control signal).
The equivalent frequency representation takes into account the pole necessary to
make the derivative filter feasible

sTd
1
U ( s)

= PID( s ) = 1 +
+
E ( s)
sTi 1 + sTd / N
where kc is the overall gain, Ti is the reset time, Td is the prediction or derivative
time and N is the ratio between zero and pole of the PD section.
The filter on sensor output has the following transfer function

F (s) =

1
s + 1

where is its time constant.


Element 101 must be used in connection with a magnetic bearing element
(elements 12 or 13).
No data need to be introduced in matrix ELEM, as the element does not appear
in the element list.
Data to be introduced in matrix GEOM
Column 1
number of the geometry (no reference to matrix ELEM;
reference to matrix GEOM at the line of the magnetic bearing
element)
Column 2
code of the element type (101) (no reference to matrix ELEM)
Column 3
overall gain kc
Column 4
prediction or derivative time Td
Column 5
ratio between the zero and pole of PD section N
Column 6
reset time Ti
Column 7
time constant of filter on sensor signal
No data are to be introduced in matrix MATER

52

Part 3: Elements

53

3.26 Element 102: general controller for magnetic bearings


Element 102 is a general controller for magnetic bearings. It must be used in
connection with a magnetic bearing element (elements 12 or 13). Its characteristics
are expressed in the form of the coefficients of the polynomials at numerator and
denominator of the transfer function.
The general controller transfer function C (s) has the following structure
C ( s) =

bn s n + bn 1s n 1 + bn 2 s n 2 + K + b0
s n + a n 1s n 1 + a n 2 s n 2 + K + a0

No data need to be introduced in matrix ELEM, as the element does not appear
in the element list.
Data to be introduced in matrix GEOM
number of the geometry (no reference to matrix ELEM;
Column 1
reference to matrix GEOM at the line of the magnetic bearing
element)
code of the element type (102) (no reference to matrix ELEM)
Column 2
degree n of the polynomial in s at the denominator of the transfer
Column 3
function. There are n + 1 coefficients in the numerator and n + 1
coefficients in the denominator. The number of column of matrix
GEOM are then 5+ 2n; if some coefficients are not present, zeros
must be entered
coefficient bn (numerator)
Column 4
Column 5
coefficient bn-1 (numerator)
Column
coefficient .... (numerator)
Column 4+n
coefficient b0 (numerator)
Column 5+n
coefficient an (denominator)
Column 6+n
coefficient an-1 (denominator)
Column
coefficient ... (denominator)
Column 5+2n
coefficient a0 (denominator)
No data are to be introduced in matrix MATER

53

Part 4
Bearings
Some functions related to the modelling of lubricated bearings are described in
this section.
Lubricated bearings are modelled using the linearized approach usually referred
to as 8-coefficients bearings. There are three elements which can be used: elements
14, 15 and 16.
The simplest alternative is to use element 14, a fixed-parameters 8-coefficients
bearing. The model is completely linearized and all types of analysis can be
performed.
A more detailed modelling can be obtained using element 15, a speed-dependent
8-coefficients bearing. The four components of the stiffness and damping matrices
must be specified at a number of values of the speed and are interpolated for
intermediate values. The model is again completely linearized and all types of
analysis can be performed, except the computation of the critical speed.
Element 16, referred to as a lubricated bearing element is more complete. It
allows to model realistically lubriceted bearings of any type, provided that the
eccentricity, the attitude angle and the eight coefficients (four components of the
stiffness and four components of the damping matrices) are known functions of the
Sommerfeld number. The element is used by programs which compute the working
conditions of the bearings by solving a nonlinear static problem and then linearize
the behaviour of the bearing about the static equilibrium position using the 8coefficients approach. Only the Campbell diagram and the unbalance response can
be computed through the linearized analysis.
The data are introduced in the form of a table, which is stored in a file separated
from that containing the data of the rotor: in this way a library of bearings can be
built and the various bearings can be included in any model. The table has the form
described in detail in [4] and all its entries are nondimensional parameters.
The first column contains the Sommerfeld number, the second the eccentricity
and the third the attitude angle in degrees.
The eight stiffness coefficents, in nondimensional form, are stored in columns
from 7 to 10 while the four damping nondimensional coefficients in columns from
11 to 14.
Columns 4, 5, 6 are introduced to be consistent with the tables in [4] and contain
data related with the flow and the power dissipation: as they are not used in the
present version of the code a zero can be entered. They must be however present in
the table.

56

Part 4: Bearings

Some bearing files are included in the DYNROT 8.3 diskette: the user can refer
to them to create other files using any editor. Three program which can be used to
create data files for bearings and to visualize their content are listed below. A fourth
program allows to compute the displacements which must be given to the bearings
in order to align the various components of a rotor made of several units to allow the
joints to work properly when a static load is given.

4.1 Program LUBINPUT


Program LUBINPUT is used to create the data files for bearings by entering
directly the values of the bearing nondimensional table.
The table is entered by row and the program asks for each entry in detail. The
symbols are described in [4].
After recording the table the program plots the various nondimensional
parameters as functions of the Sommerfeld number, obtaining plots of the same type
described in [4].

4.2 Program LUBSHORT


Program LUBSHORT is similar to program LUBINPUT, with the difference that
it computes the entries of the table using the fully-cavitated, short-bearing model [1].
The radius/length ratio R/l must be entered first. The bearing parameters, except
those related with lubricant flow and energy dissipation, are computed, stored in a
file and plotted as functions of the Sommerfeld number. Additional plots in which
the Ockwirk number is reported on the x-axis are also plotted.

4.3 Program LUBPLOT


Program LUBPLOT retrieves the table contained in the bearing data files and
plots the various nondimensional parameters as functions of the Sommerfeld
number, obtaining plots of the same type described in [4].

4.4 Program ALIGN


Program ALIGN computes the displacements which must be given to the
bearings in order to align the various components of a rotor made of several units to
allow the joints to work properly when a static load is given.
The model of the rotor to be split in several unit must be already present in an
input file prepared in advance. It must include the static loads. The nodes must be
numbered in such a way that all nodes of the first unit have a number which is
smaller than the nodes of subsequent units and so on.
The code is interactive. The input supplied by the user are:
the name of the file and the jobcode for the model with split units.
the number of units (a minimum of two units must be specified).

56

Part 4: Bearings

57

the number of the unit to be assumed as base unit.


For each unit the following data are required
the number of the node in which the unit is connected with the following unit
(unit on the right). This is not asked for the last unit,
the number of nodes in which the unit must be constrained and the
displacements must be computed,
For each node in which the displacement has to be computed,
the number of the node
The code supplies the displacement of each one of the nodes required and stores
in a file the data for the model with split units. As the nodes at the open connections
are doubled, the new node numbers do not correspond to the old ones: a
correspondence table for the node numbers is printed. Note that if the model with
split units has to be used, the user must remember that the model has infinetly stiff
bearings: the nodes at the bearings are constrained. If the user wants to release this
constrain must enter the data file and modify matrix STATUS accordingly.
The inflected shape or the rotors (not aligned and aligned) is plotted and the user
can zoom any part of the plot to verify that the inflected shapes actually form a
continuous smooth line.

57

Part 5
Construction of the model
The model is built by the script M-file DYNPREP.M. It performs the following
tasks:
Construction of the map of the degrees of freedom;
Construction of the matrices of the elements and assembly in the matrices of the
structure;
Matrix condensation (Guyan reduction);
Saving all the matrices computed in suitable files.
The above mentioned tasks are mainly performed by calling suitable functions.
Four function M-files can be called after the model is assembled:

DYNPLOT( jobcode, nsub)


DYNPLOT1( jobcode, nsub, [tview <0>, type <0>, mesh <0>, light <0>])
STRPLT( jobcode, numdisc, [type <2>, omega<1000>])
DYNTRANS( jobcode, jobcode2)

DYNPLOT routine plots the rotor model.


DYNPLOT1 routine plots a tri-dimensional image of the rotor model.
STRPLT routine plots the stress distribution in discs and blades, if they are
present. Centrifugal stresses (at any specified speed) and thermal stresses can be
plotted separately or added to each other.
DYNTRANS routine transforms hysteretic damping into an equivalent
(approximated) viscous damping (separately for flexural, axial, torsional and
coupled torsional-axial behaviour).

5.1 Construction of the matrices of the elements


All matrices are written in a form which distinguishes directly the master degrees
of freedom from the slave degrees of freedom (see section 4.4). The vector of the
degrees of freedom and the stiffness matrix are written, for example, in the form
{q1 }

{q2 }

[K11 ]
[K ]
21

[K12 ]
[K 22 ]

60

Part 5: Construction of the model

The map is a matrix in which the number of the row of vectors {q1} and {q2}
attributed to each degree of freedom is listed. Three separate maps are built for
flexural, axial and torsional behaviour.
The matrices of the elements are constructed and directly assembled into the
matrices of the structure by a number of overlay programs which are called by
DYNPREP program.
In order to reduce the size of the problem, DYNROT code employs Guyan
reduction. The main features of Guyan reduction are reported in detail in [1] and
need not to be reported here.
The user must specify in matrix STATUS in the input M-file whether each
degree of freedom has to be considered as a master or as a slave degree of freedom.
A third option is that the degree of freedom is constrained, which is a way to add
rigid constraints, as an alternative to introduce a spring element with very high
stiffness.
As a general rule, degrees of freedom corresponding to nodes in which large
inertias or concentrate damping are located must be stated as master. In the case a
part of the structure is much stiffer than other parts, most of its degrees of freedom
can be assumed to be slave, except the minimum number needed to identify the
position in space of the rigid body.
If nonlinear elements, magnetic bearings or lubricated bearings are present, the
translational degrees of freedom of the nodes at their ends must be defined as master
degrees of freedom. Similarly torsional degrees of freedom for crank elements must
be defined as master.
In principle, Guyan reduction can be avoided and all degrees of freedom can be
assumed to be master, but this can lead to very long computation times in case of
complex models. The user is expected to experiment with different condensation
schemes, in order to understand how long does it take to run the different solution
routines with different numbers of degrees of freedom on his particular installation
of DYNROT. The convergence of the results to those of the complete computation
(all degrees of freedom being master) with an increasing number of master degrees
of freedom should be noted.
The choice of which degrees of freedom can be considered as slave degrees of
freedom is mainly a fact of experience and physical insight of the problem.

5.2 Saving matrices


DYNPREP code stores automatically the following data files, in MATLAB
format, (### is the code of the particular problem):
path.###: contains the path of the problem; it is written in the current directory,
which must be included in the MATLABPATH
global.###: contains all global data of the model
matrices.###: contains matrices of flexural problem
torsmat.###: contains matrices of torsional problem
axmat.###: contains matrices of axial problem
tamat.###: contains matrices of coupled torsional-axial problem
All files except path.### are written in the directory of the particular problem
indicated in path.###. It does not need to be included in the MATLABPATH.

60

Part 5: Construction of the model

61

5.3 Function DYNPLOT


DYNPLOT( jobcode, nsub)
Plotting of the model of the system. The whole model or any of its substructures
can be plotted.
Beam elements are plotted in scale; when asymmetrical beam elements are
encountered, their thickness is represented as the diameter of a circle whose area is
the area of the cross section of the element.
Parameters
jobcode
code of problem
nsub
number of substructure to be plotted ( 0 = all)

5.4 Function DYNPLOT1


DYNPLOT(jobcode, nsub, [tview <0>, type <0>, mesh <0>, light <0>])
Plotting a tri-dimensional image of the model of the system.
Beam elements are plotted in scale; when asymmetrical beam elements are
encountered, their thickness is represented as the diameter of a circle whose area is
the area of the cross section of the element.
Some problems may occur with the representation of hidden surfaces. The user is
suggested to try with different choices of combinations of viewpoint, type of plot
and light conditions.
Parameters
jobcode
code of problem
nsub
number of substructure to be plotted ( 0 = all)
[number/string] (default value 0)
tview
viewpoint options [0/1] (default value 0)
0: view from right (positive z)
1: view from left (negative z)
type
plot type options [0/1] (default value 0)
0: view
1: section
mesh
mesh options [0/1/2] (default value 0)
0: only edges shown
1: element contours shown
2: no edge shown
light
lighting options [0/1] (default value 0)
0: light condition 1
1: light condition 2

61

62

Part 5: Construction of the model

5.5 Function STRPLT


STRPLT( jobcode, numdisc, [type <2>, omega<1000>])
Plotting of the stress distribution in discs and blades, where they exist. The
profile of the discs and the temperature distribution can be plotted together with
stresses due to rotation (at any given speed) and thermal stresses. If blades are
present, also stresses in blades (only radial stresses are present) are plotted.
Parameters
code of problem
jobcode
number of disc to be plotted
numdisc
type of plot [0/4] (default value 2)
type
0: plot of disc profile
1: plot of temperature profile
2: plot of centrifugal stresses
3: plot of thermal stresses
4: plot of total stresses
speed for centrifugal stresses in rad/s (default value 1000)
omega

5.6 Function DYNTRANS


DYNTRANS( jobcode, jobcode2)
Approximated transformation of the hysteretic damping matrices into equivalent
viscous damping matrices. The transformation is required before computing the
acceleration response of a general rotor, the Campbell diagram of a rotor on
magnetic bearings or the response of the equivalent model of a reciprocating
machine to harmonic forcing functions.
The transformation is performed by:
performing the modal analysis of the linearized, undamped natural system;
computing the (nondiagonal) hysteretic modal damping matrices;
diagonalizing hysteretic modal damping matrices by neglecting the out-of
diagonal elements;
computing the constant equivalent viscous modal damping of all modes
corresponding to the resonance conditions;
applying the inverse modal transformation to the equivalent modal damping
matrices [6].
The transformed model is stored in the same directory of the original model with
a different code.
Parameters
jobcode
code of problem to be transformed
jobcode2
code of transformed problem
Output files (in the selected directory): all the files containing the matrices of the
transformed model

62

Part 6
Solution programs: static analysis
Functions

DYNSTAT( jobcode, state, [ommin, ommax, deltaom])


STATPLT( jobcode, [omega<-1>, nsub<0>])
FORCES( jobcode, type, omega, [file<0>])

This group of solution routines computes the static flexural deformations of the
system under the effect of static forces.
Static forces can be defined in the input file in the form of concentrated nodal
forces and moments or in that of a gravitational acceleration acting in a direction
perpendicular to the rotation axis. The forces, moments and accelerations must be
introduced in the form of their components in xz and yz planes.
The equation which solves the problem for a linear isotropic rotor is equation (494) in [1], page 333

([K ]+

[K ] i [C r ] + i[K " r ]){q} = {Fn }

If viscous damping is not present, the response does not depend on the speed.
To plot the deflected shape or to compute the forces on the elements, use
functions STATPLT or FORCES (the latter with type = 1), which require program
DYNSTAT to be run in advance.

64

Part 6: Solution programs; static analysis

6.1 Function DYNSTAT


DYNSTAT( jobcode, state, [ommin, ommax, deltaom])
Response to static forces independent from the spin speed. The system is
assumed to be linear and isotropic. If nonlinear elements, magnetic or lubricated
bearings are present in the model, they are neglected. If the system is nonisotropic,
deviatoric matrices are neglected and the averaged system is studied.
Parameters
jobcode
code of problem
state
[ 0/1] options
0: damping not considered
1: hysteretic damping considered
2: viscous damp. considered (response function of speed)
ommin
[rad/s] minimum spin speed (only if state = 2)
ommax
[rad/s] maximum spin speed (only if state = 2)
deltaom
[rad/s] spin speed increment (only if state = 2)
Output file (in the selected directory)
STATRES.###
containing:
STATRES: a matrix containing the complex deflected shape
(each row contains one of the displacement vectors starting
from the second column; in the first column the speed is
entered.)

6.3 Function STATPLT


STATPLT( jobcode, [omega<-1>, nsub<0>])
Potting of the deflected shape due to static loading. The projections on xz and yz
planes are plotted separately.
If the computation is performed at different speeds, the inflected shapes are
superimposed.
STATPLT requires program DYNSTAT, DYNLUB or LUBUNBAL to be run in
advance.
Parameters
jobcode
code of problem
omega
speed (if a negative number is entered, all shapes are plotted)
nsub
number of substructure to be plotted ( 0 = all)

64

Part 6: Solution programs; static analysis

65

6.4 Function FORCES


FORCES( jobcode, type, omega, [file<0>])
Computing the forces due to various loading acting on the elements: for static
loading it must be run with type = 1.
STATFOR requires program DYNSTAT to be run in advance.
The values of the forces are printed on the screen, and, if the function is called by
the driver M-file, are automatically written in the diary file DYNROT.LOG. If the
function is called from the keyboard, it is possible to write the outputs in a diary file
using variable file as input parameter. Be careful that a non numeric value of
variable file used when the function is called by the driver causes the diary file
DYNROT.LOG to be closed.
Parameters
code of problem
jobcode
[0/1] options (default value 0)
type
0: forces on elements due to unbalance
1: forces on elements due to static loading
2: forces on elements due to acceleration
spin speed at which the forces are computed
omega
[ number/string] (default value 0)
file
file is a number: no file recorded
file is a string: recording of file '###file.log'
Output file (in the selected directory)
###file.log
ASCII file (recorded only if file is a string) containing the
outputs of the program.

65

Part 7
Solution programs: critical speeds
Functions

DYNCRIT( jobcode, [antyp <0>, ncrit<10>, par<1>])


DYNCRITM( jobcode, antyp, [ncrit<10>])
CRITPLT( jobcode, ncrit1, ncrit2, [state<0>, nsub<0>])

This group of solution routines computes the critical speeds of the system and
plots the corresponding mode shapes.
The basic equation which solves the problem for a linear isotropic rotor is
equation (4-95) in [1], page 334

det 2 ([M ] [G ] [K ]) + [K ] = 0
To plot the mode shapes at critical speeds, use function CRITPLT (requires
program DYNCRIT or DYNCRITM to be run in advance).

68

Part 7: Solution programs; critical speeds

7.1 Function DYNCRIT


DYNCRIT( jobcode, [antyp <0>, ncrit<10>, par<1>])
Computation of critical speeds and secondary critical speeds. The system is
assumed to be linear and undamped. If nonlinear elements, magnetic or lubricated
bearings are present in the model, they are neglected. If the system is assumed to be
isotropic while being nonisotropic, deviatoric matrices are neglected and the
averaged system is studied.
The values of the critical speeds are written on the screen and recorded in the
diary file.
Parameters
code of problem
jobcode
[ 0/3] options (default value 0)
antyp
0: axisymmetrical analysis
1: analysis with nonsymmetrical stator
2: analysis with nonsymmetrical rotor
3: analysis with nonsymmetrical stator and rotor
maximum number of critical speeds computed (def. val. 10)
ncrit
(if state = 0) ratio lambda/omega for secondary critical speeds
par
(default value 1)
(if state = 3) number of harmonics (default value 3)
Output file (in the selected directory)
CRSPEED.###
containing:
antyp: type of analysis
neig: number of critical speeds
OMCR : vector with critical speeds
EIGV : matrix of eigenvectors.

68

Part 7: Solution programs; critical speeds

69

7.2 Function DYNCRITM


DYNCRITM( jobcode, antyp, [ncrit<10>])
Computation of critical speeds of a rotor supported in magnetic bearings. The
system is assumed to be linear, undamped and the rotor is isotropic. If nonlinear
elements, lubricated bearings are present in the model, they are neglected.
Parameters
jobcode
code of problem
antyp
[0/1]: options
0: axi-symmetrical computation
1: non symmetrical stator or bearings
ncrit
maximum number of critical speeds computed (default value 10)
Output file (in the selected directory)
CRSPEED.###
containing:
antyp: type of analysis
neig: number of critical speeds
OMCR : vector with critical speeds
EIGV : matrix of eigenvectors

7.4 Function CRITPLT


CRITPLT( jobcode, ncrit1, ncrit2, [state<0>, nsub<0>])
Plotting of the mode shapes related to the critical speeds
CRITPLT requires program DYNCRIT or DYNCRITM to be run in advance.
Parameters
jobcode
ncrit1
ncrit2
state

nsub

code of problem
number of first mode to be plotted
number of last mode to be plotted
options (default value 0)
-2: 3-D plot (only beam elements, only master dof)
-1: 3-D plot (only beam elements, all dof)
0: 2-D plot
positive: node number for plotting orbit
number of substructure to be plotted ( 0 = all) (default value 0)
(for orbits, 0 = fixed frame; 1 = rotating frame)

69

Part 8
Solution programs: unbalance response
Functions

DYNUNBAL( jobcode, om1, om2, deltaom, [state<0>, nhar<3>])


DYNUNMOD( jobcode, ommin, ommax, deltaom, [state <0>])
DYNUNM( jobcode, ommin, ommax, deltaom)
LUBUNBAL( jobcode, ommin, ommax, deltaom)
UNPLT( jobcode, state, pltype, p1, [p2 <0>, p3<0>, p4<maxspeed>])

This group of solution routines computes the unbalance response of the system
and plots the corresponding deflected shapes.
The basic equation that solves the problem for a linear isotropic rotor is equation
(4-97) in [1], page 335

([M ] [G ] [K ]) + i [C n ] + [K ]){q 0 } = 2 {Fr }

To plot the inflected shapes, use function UNPLT (requires program


DYNUNBAL, DYNUNMOD, DYNUNM, LUBUNBAL or DYNACCEL, to be run
in advance).
To compute the forces in the elements due to unbalance, use function FORCES
with type = 0 (requires program DYNUNBAL, DYNUNMOD, DYNUNM or
DYNACCEL to be run in advance). See response to static forces.
Note that the same routine is used also to plot the acceleration response.

Part 8: Solution programs; unbalance response

72

8.1 Function DYNUNBAL


DYNUNBAL( jobcode, om1, om2, deltaom, [state<0>, nhar<3>])
Computation of unbalance response. If magnetic or lubricated bearings are
present in the model, they are neglected.
Parameters
jobcode
om1
om2
deltaom
state

nhar

code of problem
[rad/s] first value of spin speed
[rad/s] second value of spin speed
[rad/s] spin speed increment
[0/3] options (default value 0)
0: axisymmetrical analysis
1: analysis with nonsymmetrical stator
2: analysis with nonsymmetrical rotor
3: analysis with nonsymmetrical stator and rotor
4: nonlinear analysis, symmetrical system
number of harmonics, if state = 3 (dafault value 3)

Output files (in the selected directory)


UNBAL@.###

72

containing:
antype = 0 (unbalance response)
UNBRES : matrix containing the unbalance response. Each
line contains the response at each value of the speed. First
column: spin speed; second column: driving torque (only if
state = 0); subsequent columns: the displacement vector
transposed. @ = state.

Part 8: Solution programs; unbalance response

73

8.2 Function DYNUNMOD


DYNUNMOD( jobcode, ommin, ommax, deltaom, [state <0>])
Computation of unbalance response. The system is assumed to be linear,
undamped and isotropic. If nonlinear elements, magnetic or lubricated bearings are
present in the model, they are neglected. If the system is nonisotropic, deviatoric
matrices are neglected and the averaged system is studied.
The computation is performed in modal form following the lines reported in [7].
Firstly the modal analysis along the line = on the Campbell diagram is
performed and the critical speeds are computed. Then the unbalance response is
computed retaining all modes characterized by an absolute value of the square of the
critical speed smaller than 4 times the square of the maximum spin speed.
The computation can be performed by assuming a generalized proportional
damping or by using an iterative scheme to take into account nonproportional
damping.
Parameters
jobcode
ommin
ommax
deltaom
state

code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
[0/1] options (default value 0)
0: proportionally damped, computation at all dof
1: damped, computation at all dof

Output files (in the selected directory)


UNBAL0.###

CRSPEED.###

containing:
antype = 0 (unbalance response)
UNBRES: matrix containing the unbalance response (see
function DYNUNBAL).
containing:
neig: number of critical speeds
OMCR: vector with critical speeds
EIGV: matrix of eigenvectors

73

74

Part 8: Solution programs; unbalance response

8.3 Function DYNUNM


DYNUNM( jobcode, ommin, ommax, deltaom)
Computation of unbalance response of a rotor supported in magnetic bearings.
The system is assumed to be linear, undamped and the rotor isotropic. If nonlinear
elements or lubricated bearings are present in the model, they are neglected. If the
rotor is nonisotropic, deviatoric matrices are neglected and the averaged system is
studied.
Parameters
jobcode
ommin
ommax
deltaom

Code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment

Output files (in the selected directory)


UNBAL@.###
containing:
antype = 0 (unbalance response)
UNBRES: matrix containing the unbalance response. Each
line contains the response at each value of the speed. First
column: spin speed; second column: 0; subsequent columns:
the displacement vector transposed. @ = 0: isotropic stator; @
= 1: nonisotropic stator.

74

Part 8: Solution programs; unbalance response

75

8.4 Function LUBUNBAL


LUBUNBAL( jobcode, ommin, ommax, deltaom)
Computation of the unbalance response of a rotor on hydrodynamic bearings.
The system is assumed to be linear and the rotor isotropic. If nonlinear elements or
magnetic bearings are present in the model, they are neglected. If the rotor is
nonisotropic, deviatoric matrices are neglected and the averaged system is studied.
The static equilibrium position of the system is firstly computed at each value of
the speed. The nonlinear problem is solved using Newton-Raphson algorithm. The
inflected shape is recorded on a file and can be plotted using routines LUBPLT or
LUBPLT1. The behaviour of the system is then linearized about the static
equilibrium position and the unbalance response is computed and saved on file. It
can be plotted using UNPLT routine.
Parameters
jobcode
ommin
ommax
deltaom

code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment

Output files (in the selected directory)


STATRES.###
containing:
STATRES: a matrix containing the complex deflected shape
(each column contains one of the displacement vectors)
BEARFOR: matrix containing the forces acting on the
bearings
UNBAL1.###
containing:
antype = 0 (unbalance response)
UNBRES: matrix containing the unbalance response. Each
line contains the response at each value of the speed. First
column: spin speed; second column: 0; subsequent columns:
the displacement vector transposed.

75

76

Part 8: Solution programs; unbalance response

8.5 Function UNPLT


UNPLT( jobcode, state, pltype, p1, [p2<0>, p3<0>, p4<maxspeed>])
Plotting of the unbalance response. The same program can also be used to plot
the acceleration response.
Linear or logarithmic plots can be obtained. The amplitude of the orbit at a given
node or the driving torque can be plotted as functions of speed. The inflected shape
at a given speed, the orbits and the orbital tubes can also be plotted.
UNPLT requires program DYNUNBAL, DYNUNMOD, DYNUNM,
LUBUNBAL or DYNACCEL to be run in advance.
Parameters
code of problem
jobcode
[0/3] options (default value 0)
state
0: axisymmetrical analysis
1: analysis with nonsymmetrical stator
2: analysis with nonsymmetrical rotor
3: analysis with nonsymmetrical stator and rotor
[0/.../7] options (default value 0)
pltype
0: displacement versus speed
1: drag torque versus speed (only if state = 0)
2: orbit size versus speed (only if state = 1)
3: x y amplitude versus speed (only if state = 1)
4: x y phase versus speed (only if state = 1)
5: orbital tubes (only if state = 1)
6: orbits
7: inflected shape
number of node (if pltype = 0, 2, 3, 4, 5, 6)
p1
0 (if pltype = 1)
omega (if pltype = 7)
[0/1] (default value 0)
p2
0: linear plot
1: logarithmic plot (if pltype = 0 - 5)
omega (if pltype = 6)
number of substructure (0 = all) (if pltype = 7)
minimum for linear scale (if pltype = 0 - 5) [0]
p3
0: fixed frame, 1: rotating frame (if pltype = 6)
-2: 3-D plot (only beam elements, only master dof)
-1: 3-D plot (only beam elements, all dof)
0: 2-D plot (q1, q2 comp.)
1: 2-D plot (x,y comp.) (only if state = 1) (if pltype = 7)
max. for linear scale (default value computed max.)
p4

76

Part 9
Solution programs: acceleration response
Functions

DYNACCEL(jobcode,[typealg<2>,prfact<1>,nstep<var.>,state<0>])
ACCPLOT( jobcode, pltype, nnod,[p1<0>, tmin<min t>, tmax<max t>])

This group of solution routines computes the acceleration response of the system
and plots the corresponding deflected shapes. The basic equation that solves the
problem for a linear isotropic rotor is equation (4-100) in [1], page 338

[M ]{q&&}+ ([C n ] + [C r ] i [G ]){q&}+ ([K ] + 2 [K ] i [C r ]){q} = ( 2 i& ){Fr }e i


The equation is rewritten in the rotating frame, reduced to modal form retaining a
reduced number of modes and then integrated numerically in time using a 4-th order
Runge-Kutta algorithm with adaptative timestep.
The modal analysis is performed using the eigenvectors of the undamped, natural
(linearized, if the system is nonlinear) system. All modes with natural frequency
lower than 10 times the maximum spin speed are retained.
No hysteretic damping can be introduced into the computation. If it is present, it
can be either neglected or transformed into equivalent viscous damping using
routine DYNTRANS.
The time history of the angular velocity is given by matrix TIMEHIST included
in the data. As the response is obtained by integrating numerically the equation of
motion, it is possible to study cases with varying unbalance. For example, the blade
loss at constant speed problem can be solved by stating that the speed is constant
and the unbalance increases abruptly at a given time.
The results can be plotted as functions of speed by using function UNPLT,
described in section 7-5 (pltype must be either 0 or 1) or as functions of time by
using function ACCPLOT. The stressing of the rotor at a given speed is computed
by function FORCES with type = 0 and at a given time with type = 2. See response
to static forces.

78

Part 9: Solution programs; acceleration response

9.1 Function DYNACCEL


DYNACCEL(jobcode,[nstep<1>,state<0>])
Computation of acceleration response. If magnetic or lubricated bearings are
present in the model, they are neglected. If hysteretic damping is present it will be
neglected; it is advisable to run routine DYNTRANS in advance to transform it into
equivalent viscous damping.
The numerical integration in time is performed using Runge-Kutta algorithm,
with automatically chosen timestep. The total outputs can be recorded at each step or
not, depending whether parameter nstep has a value of 1 or larger.
Parameters
jobcode
code of problem
nstep
number of steps for recording results (default value 1)
factor controlling time step (default value 1)
state
[0/1/2/3] options (default value 0)
0: symmetrical, linear system
1: symmetrical, nonlinear system
2: unsymmetrical, linear system
3 : unsymmetrical, nonlinear system
Output files (in the selected directory)
UNBAL0.###
Containing:
antype = 1 (acceleration response)
UNBRES: matrix containing the unbalance response. Each
line contains the response at each value of the speed. First
column: spin speed; second column: driving torque;
subsequent columns: the displacement vector transposed; last
but one column: rotation angle; last column: time.

78

Part 9: Solution programs; acceleration response

79

9.2 Function ACCPLOT


ACCPLOT( jobcode, pltype, nnod,[p1<0>, tmin<min t>, tmax<max t>])
Plotting of the acceleration response as function of time and the orbits.
Linear or logarithmic plots can be obtained. The amplitude of the orbit at a given
node or the driving torque can be plotted as functions of speed. The orbits and the
time history of the spin speed can also be plotted.
ACCPLOT requires program DYNACCEL to be run in advance.
Parameters
code of problem
jobcode
[0/1/2/3/4] options
pltype
0: displacement versus speed
1: drag torque versus speed
2: orbit in the fixed frame
3: orbit in the rotating frame
4: time history of the spin speed
number of node
nnod
[0/1] (default value = 0)
p1
0: linear; 1: log (if pltype = 0 or 1)
0
(if pltype = 2 or 3 or 4)
minimum of time scale (default minimum value computed)
tmin
maximum of time scale (default maximum value computed)
tmax

79

Part 10
Solution programs: Campbell diagram
Functions

DYNCAMP(jobcode,ommin,ommax,deltaom,[antyp<0>,npair<10>,state<0>,nh
ar<3>])
DYNDAMP(jobcode,ommin,ommax,deltaom,[antyp<0>,npair<10>,state<<0>,
nhar<3>])
DYNDAMOD(jobcode, ommin, ommax, deltaom, [,npair<10>,state<2>])
DYNLUB(jobcode, om1, om2, deltaom, [npair<10>,state<0>])
DYNMAG(jobcode, ommin, ommax, deltaom, nmode [npair<10>,state<0>])
DYNMAG1(jobcode, kmin, kmax, deltak, nmode [om<0>, nbear<0>])

The basic equation that solves the problem for a linear isotropic rotor is the
eigenproblem expressed by equation (4-98) (rewritten in the frequency domain) in
[1], page 337

( [M ] + ( [G] + i[C ] + i[C ]) + [K ] + [K ] i [C ]){q } = 0


2

The undamped analysis is far faster than the damped one and should be
performed as a first approach to the problem. Also hysteretic damping can be
introduced into the computation, even if this compels to repeat the computations
several times for each value of the speed [1].

CAMPLT1( jobcode, ommin, ommax, [lammin <-ommax>, lammax <ommax>,


dmin<0>, dmax<0>])

routine, which requires program DYNCAMP, DYNDAMP, DYNDAMOD,


DYNLUB, or DYNMAG to be run in advance, is used to plot the Campbell diagram
and the decay rate plot.

CAMPLT( jobcode, n, [nsub <0>])

routine, which requires program DYNCAMP to be run in advance, is used to plot


the mode shapes at varying speed.

DCAMPLT( jobcode, n, [nsub <0>])

Part 10: Solution programs; Campbell diagram

82

routine, which requires program DYNDAMP or DYNMAG to be run in advance, is


used to plot the complex mode shapes at varying speed.

LUBPLT( jobcode, n)
LUBPLT1( jobcode, [nsub <0>])

routines, which requires program DYNLUB to be run in advance, are used to plot
the static displacement and the inflected shape for rotors with lubricated bearings.

ROOTPLT( jobcode, remin, remax, immin, immax)

routine, which requires program DYNCAMP, DYNDAMOD, DYNDAMP,


DYNLUB or DYNMAG to be run in advance, is used to plot the root locus.

82

Part 10: Solution programs; Campbell diagram

83

10.1 Function DYNCAMP


DYNCAMP(jobcode,ommin,ommax,deltaom,[antyp<0>,npair<10>,state<0>,
nhar<3>])
Computation of the undamped Campbell diagram. The system is assumed to be
linear and undamped. If nonlinear elements, magnetic or lubricated bearings are
present in the model, they are neglected. If damping is present it will be neglected.
Parameters
jobcode
ommin
ommax
deltaom
antyp

npair
state
nhar

code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
[0/1/2/3] options (default value 0)
0: axisymmetrical analysis
1: analysis with nonsymmetrical stator
2: analysis with nonsymmetrical rotor
3: analysis with nonsymmetrical stator and rotor
maximum number of eigenvalue pairs searched
[0/1] options (default value 0)
0: recording eigenvalues
1: recording eigenvalues and eigenvectors
number of harmonics (default value 3)

Output files (in the selected directory)


CAMPBELL.### containing:
nomega : number of speeds
antyp: type of analysis
CAMPB: matrix containing the points to plot the diagram.
Each line contains the frequencies at each value of the
speed. First column: spin speed; subsequent columns:
frequencies.
EGCAM@.###
Containing: (only if state = 1)
om : speed
EIGV: matrix of eigenvectors
the number of files EGCAM@.### is nomega; @ is a
number from 1 to nomega

83

84

Part 10: Solution programs; Campbell diagram

10.2 Function DYNDAMP


DYNDAMP(jobcode,ommin,ommax,deltaom,[antyp<0>,npair<10>,state<0>,
nhar<3>])
Computation of the Campbell diagram and of the plot of the decay rates. The
system is assumed to be linear. If nonlinear elements, magnetic or lubricated
bearings are present in the model, they are neglected.
Parameters
jobcode
ommin
ommax
deltaom
antyp

npair
state
nhar

code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
[0/1/2/3] options (default value 0)
0: axisymmetrical analysis
1: analysis with nonsymmetrical stator
2: analysis with nonsymmetrical rotor
3: analysis with nonsymmetrical stator and rotor
maximum number of eigenvalue pairs searched
[0/1] options (default value 0)
0: recording eigenvalues
1: recording eigenvalues and eigenvectors
number of harmonics (default value 3)

Output files (in the selected directory)


CAMPBELL.### containing:
nomega: number of speeds
antyp: type of analysis
CAMPB: matrix containing the points to plot the diagram
(complex numbers: the real part is the frequency, the
imaginary part is the decay rate). Each line contains the
frequencies at each value of the speed. First column: spin
speed; subsequent columns: frequencies.
EGCAM@.###
containing: (only if antyp1 = 1)
om: speed
EIGV: matrix of eigenvectors
the number of files EGCAM@.### is nomega; @ is a
number from 1 to nomega

84

Part 10: Solution programs; Campbell diagram

85

10.3 Function DYNDAMOD


DYNDAMOD(jobcode, ommin, ommax, deltaom, [npair<10>, state<2>])
Computation of the Campbell diagram and of the plot of the decay rates by using
modal techniques [10]. The system is assumed to be linear and isotropic. If nonlinear
elements, magnetic or lubricated bearings are present in the model, they are
neglected. If the system is nonisotropic, deviatoric matrices are neglected and the
averaged system is studied.
The computation is performed in modal form following the lines reported in
[10]. Firstly the modal analysis of the undamped natural system is performed. Then
the Campbell diagram is computed retaining all modes characterized by an absolute
value of the natural frequency speed smaller than twice the maximum spin speed.
The computation can be performed by assuming a generalized proportional
damping and gyroscopic effect or by using an iterative scheme to take into account
nonproportional damping and gyroscopic effect.
Parameters
jobcode
ommin
ommax
deltaom
npair
state

code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
maximum number of eigenvalue pairs searched
[1/2/3/4] (default value 2)
proportional gyroscopic effect and damping
1: recording eigenvalues on file
2: recording eigenvalues and eigenvectors on file
iterative
3: recording eigenvalues on file
4: recording eigenvalues and eigenvectors on file

Output files (in the selected directory)


CAMPBELL.### containing:
nomega: number of speeds
antyp = 0
CAMPB: matrix containing the points to plot the diagram
(see function DYNDAMP).
EGCAM@.###
containing: (only if antyp = 2 or antyp = 4)
om: speed
EIGV: matrix of eigenvectors
the number of files EGCAM@.### is nomega; @ is a
number from 1 to nomega

85

86

Part 10: Solution programs; Campbell diagram

10.4 Function DYNLUB


DYNLUB( jobcode, om1, om2, deltaom, [npair<10>,state<0>])
Computation of the Campbell diagram and of the plot of the decay rates of a
rotor on hydrodynamic bearings. The system is assumed to be linear and the rotor
isotropic. If nonlinear elements or magnetic bearings are present in the model, they
are neglected. If the rotor is nonisotropic, deviatoric matrices are neglected and the
averaged system is studied.
The static equilibrium position of the system is firstly computed at each value of
the speed. The nonlinear problem is solved using Newton-Raphson algorithm. The
inflected shape is recorded on a file and can be plotted using routines LUBPLT or
STATPLT. The behaviour of the system is then linearized about the static
equilibrium position and the natural frequencies and decay rates are computed and
saved on file [4]. They can be plotted using DCAMPLT routine.
Parameters
jobcode
om1
om2
deltaom
npair
state

code of problem
[rad/s] first value of spin speed
[rad/s] second value of spin speed
[rad/s] absolute value of spin speed increment
maximum number of eigenvalue pairs searched
[0/1] options (default value 0)
0: recording eigenvalues
1: recording eigenvalues and eigenvectors

Output files (in the selected directory)


STATRES.###
containing:
STATRES: a matrix containing the complex deflected shape
(each column contains one of the displacement vectors)
CAMPBELL.### containing:
nomega: number of speeds
antyp = 1
CAMPB: matrix containing the points to plot the diagram
(complex numbers: the real part is the frequency, the
imaginary part is the decay rate). Each line contains the
frequencies at each value of the speed. First column: spin
speed; subsequent columns: frequencies.
BEARFOR: matrix containing the forces acting on the
bearings
EGCAM@.###
containing: (only if antyp = 1)
om: speed
EIGV: matrix of eigenvectors
the number of files EGCAM@.### is nomega; @ is a
number from 1 to nomega

86

Part 10: Solution programs; Campbell diagram

87

10.5 Function DYNMAG


DYNMAG( jobcode, ommin, ommax, deltaom, nmode, [npair<10>,state<0>])
Computation of the Campbell diagram and of the plot of the decay rates of a
rotor on magnetic bearings. The system is assumed to be linear and isotropic. If
nonlinear elements or lubricated bearings are present in the model, they are
neglected. If the system is nonisotropic, deviatoric matrices are neglected and the
averaged system is studied.
The code does not deal with hysteretic damping. If damping of this type is
present is advisable to transform it into viscous damping using DYNTRANS;
otherwise it is neglected.
The computation is performed in modal form using the eigenvectors of the
undamped natural system. The number of modes to be used is selectable by the user
and, as no diagonalization of damping and gyroscopic matrices is performed, the
exact solution of the problem can be obtained by using all modes.
Parameters
jobcode
ommin
ommax
deltaom
nmode
npair
state

code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
number of modes
maximum number of eigenvalue pairs searched
[0/1] options (default value 0)
0: recording eigenvalues on file
1: recording eigenvalues and eigenvectors on file

Output files (in the selected directory)


CAMPBELL.### containing:
nomega: number of speeds
antyp = 0 or 1
CAMPB: matrix containing the points to plot the diagram
(complex numbers: the real part is the frequency, the
imaginary part is the decay rate). Each line contains the
frequencies at each value of the speed. First column: spin
speed; subsequent columns: frequencies.
EGCAM@.###
containing: (only if state = 1)
om: speed
EIGV: matrix of eigenvectors the number of files
EGCAM@.### is nomega; @ is a number from 1 to
nomega

87

88

Part 10: Solution programs; Campbell diagram

10.6 Function DYNMAG1


DYNMAG1(jobcode, kmin, kmax, deltak, nmode [om<0>, nbear<0>])
Computation of the root locus of an isotropic rotor on isotropic magnetic
bearings at varying values of the gain of the control system. For a description of the
model used see function DYNMAG.
The gain is the overall gain of the controller, which is varied by multiplying it by
a variable factor, expressed in percentage: to input values 50 and 200 for the
minimum and maximum gain, for instance, amounts to plot the root locus with gains
from half to twice the original value. It is possible to alter the gain of a single,
selectable, bearing (even if all controllers are equal) or of all bearings.
Parameters
jobcode
kmin
kmax
deltak
nmode
om
nbear

code of problem
[%] minimum gain
[%] maximum gain
[%] gain increment
number of modes
[rad/s] spin speed (default value 0)
number of bearing whose gain is altered (0=all) (default value 0)

Output files (in the selected directory)


CAMPBELL.### containing:
omega: number of values of the gain
antyp = 0
CAMPB: matrix containing the points to plot the diagram
(complex numbers: the real part is the frequency, the
imaginary part is the decay rate). Each line contains the
values of lambda"] at each value of the speed. First column:
spin speed; subsequent columns: values of lambda"].
EGCAM@.###
containing: (only if state = 1)
om: speed
EIGV: matrix of eigenvectors; the number of files
EGCAM@.### is ngain; @ is a number from 1 to ngain

88

Part 10: Solution programs; Campbell diagram

89

10.7 Function CAMPLT


CAMPLT( jobcode, n, omega, [state<0>, nsub <0>])
Plotting of the mode shapes at different speeds. The various mode shapes
computed at all speeds at which the points for the Campbell diagram have been
computed are all superimposed.
CAMPLT requires program DYNCAMP to be run in advance.
Parameters
jobcode
n
omega
state

nsub

code of problem
mode to be plotted (positive = forward; negative = backward)
speed (negative = all)
options (default value 0)
-2: 3-D plot (only beam elements, only master dof)
-1: 3-D plot (only beam elements, all dof)
0: 2-D plot
positive: node number for plotting orbit
number of substructure to be plotted ( 0 = all) (default value 0)
(for orbits, 0: fixed frame; 1: rotating frame)

10.8 Function CAMPLT1


CAMPLT1( jobcode, ommin, ommax, [lammin <-ommax>, lammax <ommax>,
dmin <0>,dmax<0>])
Plotting of the real and imaginary parts of the Campbell diagram in 2 different
graphic windows. Scales are selectable, so any part of the plot can be zoomed.
CAMPLT1 requires programs DYNCAMP, DYNDAMP, DYNDAMOD,
DYNLUB, or DYNMAG to be run in advance.
Parameters
jobcode
ommin
ommax
lammin
lammax
dmin
dmax

code of problem
[rad/s] minimum of omega scale
[rad/s] maximum of omega scale
[rad/s] minimum of lambda scale (default value -ommax)
[rad/s] maximum of lambda scale (default value ommax)
[1/s] minimum of decay rate scale (default value 0)
[1/s] maximum of decay rate scale (default value 0)

89

90

Part 10: Solution programs; Campbell diagram

10.9 Function LUBPLT


LUBPLT( jobcode, n)
Plotting of the displacement of a node of a rotor on lubricated bearings due to
static loading as function of the speed. The displacement at any node can be plotted.
LUBPLT requires program DYNLUB to be run in advance.
Parameters
jobcode
code of problem
n
number of node

10.10 Function ROOTPLT


ROOTPLT( jobcode, remin, remax, immin, immax)
Plotting of the root locus of a damped rotor at varying speed
ROOTPLT requires program DYNCAMP, DYNDAMP, DYNDAMOD,
DYNLUB or DYNMAG to be run in advance.
In the root locus the Laplace variable s is used instead of the complex frequence
and consequently its real part gives the decay rate changed in sign and its imaginary
part gives the whirl frequency.
Parameters
jobcode
remin
remax
immin
immax

90

code of problem
minimum of real part of s
maximum of real part of s
minimum of imaginary part of s
maximum of imaginary part of s

Part 11
Solution programs: torsional analysis
Functions

DYNTORS( jobcode, [nfreq<5>])


FORTORS( jobcode, ommin, ommax, deltaom, [state<0>])
TORQTORS(jobcode, omega, tin, tfin, [nmodes<2>])
CAMPBT( jobcode, nhar, ommin, ommax, deltaom, [neig<10>])
TORSPLT( jobcode, nfreq1, nfreq2, [state<0>, nsub<0>, numdisc<1>])
TCPLT( jobcode, nmode, omega, [state<0>, nsub<0>, numdisc<1>])
FTPLT( jobcode, pltype, nel, [p1 <0>, ommin <min>, ommax<max>, w<1>])
HTPLT( jobcode, pltype, nel, [tmin <min>, tmax<max>, w<1>])

This group of solution routines computes the torsional behaviour of the system.
It computes the natural frequencies of the rotor and plots the corresponding mode
shapes. If the system includes crank mechanisms, it allows the computation of the
torsional response under the effect of the inertia forces and the driving (resisting)
torques due to the pressure on the pistons. In some routines also the variability of the
equivalent inertia with the crank angle is accounted for, by searching a solution in
the form of a truncated series, using an approach similar to Hill's infinite
determinant.
If several substructures rotating at different speeds exist, the nonrotating part
(rotation index = 0) is neglected and the other substructures are assumed to be
connected with a transmission system with fixed gear ratio. The equivalent rotations,
inertias and stiffnesses are then computed (see section 5.2.3 in [1]).
FORTORS subroutine is used to compute the forced response of reciprocating
machines. It either uses an equivalent model with fixed moments of inertia or takes
into account also the variation in time of the equivalent moments of inertia.
TORQTORS subroutine is used to compute the time history of the forced
response of torsional systems under the effect of driving torques. For reciprocating
machines it uses an equivalent model with fixed moments of inertia on which also
inertia torques act.
CAMPBT is used to compute the Campbell diagram. It comprises an option on
the number of harmonics to be considered: if it is set to zero the moments of inertia
are considered as constant and the only effect of the spin speed on the results is due
to centrifugal stiffening of disc and blade elements. With a number of harmonics
different from zero the equivalent moment of inertia of crank mechanisms is

92

Part 11: Solution programs; torsional analysis

expressed as a Fourier series. To plot the Campbell diagram or the root locus
programs CAMPLT1 and ROOTPLT can be used.
To plot the mode shapes use function TORSPLT (requires program DYNTORS
to be run in advance). In case of geared systems the equivalent rotation is plotted.
The mode shapes related to the Campbell diagram ere obtained through program
TCPLT.
To plot the forced response use function FTPLT (requires program FORTORS to
be run in advance). In case of geared systems the equivalent rotation, moment or
shear stress is plotted. To plot the time history of the response use function HTPLT
(requires program TORQTORS to be run in advance).

11.1 Function DYNTORS


DYNTORS( jobcode, [nfreq<5>])
Computation of the torsional natural frequencies of the rotor. The system is
assumed to be linear and undamped. If nonlinear elements are present in the model,
they are neglected.
Parameters
code of problem
jobcode
nfreq
maximum number of frequencies (def. value 5)
Output file (in the selected directory)
TORSFREQ.###
containing:
neig: number of natural frequencies
NATFR: vector with natural frequencies
EIGV: matrix of eigenvectors

92

Part 11: Solution programs; torsional analysis

93

11.2 Function FORTORS


FORTORS( jobcode, ommin, ommax, deltaom, [state <0>])
Computation of the torsional forced response frequencies of the crankshaft of a
reciprocating machine. The system is assumed to be linear; an equivalent system
approach, with fixed or variable moment of inertia, is followed but no further
assumptions regarding a modal approach are made [1]. If the hysteretic damping of
the system has to be taken into account, it must be transformed in advance into an
equivalent viscous damping (function DYNTRANS). If nonlinear elements are
present in the model, they are neglected.
Parameters
jobcode
ommin
ommax
deltaom
state

code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
[0/1] options (default value 0)
0: simple model
1: advanced model

Output file (in the selected directory)


FORTORS.### containing:
nomega: number of speeds
PHI: complex displacement vectors

93

94

Part 11: Solution programs; torsional analysis

11.3 Function TORQTORS


TORQTORS(jobcode, omega, tin, tfin, [nmodes<2>])
Computation of the time history of the torsional forced response. The system,
which can include nonlinear elements, is excited by concentrated torques (modelled
using elements # 22) or by the driving torques acting on cranks (elements # 17).
If hysteretic damping is present it will be neglected; it can be advisable to run
routine DYNTRANS in advance to transform it into equivalent viscous damping.
The numerical integration in time is performed using Runge-Kutta algorithm,
with automatically chosen timestep, on the system after modal transformation, using
a reduced number of modes, as prescribed by the user.
Parameters
jobcode
omega
tin
tfin
nmodes

code of problem
[rad/s] speed at initial time.
initial time for integration
final time for integration
number of modes (default value 2)

Output file (in the selected directory)


THTORS.###
containing:
T: vector containg the values of time
SPEEDS: matrix, with each column containing the values of
the angular velocities at the nodes
DISPL: matrix, with each column containing the values of the
angular displacements

94

Part 11: Solution programs; torsional analysis

95

11.4 Function CAMPBT


CAMPBT( jobcode, nhar, ommin, ommax, deltaom, [neig<10>])
Computation of the torsional Campbell diagram and of the plot of the decay
rates. The system is assumed to be linear and isotropic. If nonlinear elements are
present in the model, they are neglected.
An equivalent system approach is followed and the inertia of the cranks is not
considered as a constant. A number of harmonics, stated by the user, is considered.
By chosing to consider zero harmonics, the same results obtained using function
DYNTORS are reached, except for the effect of stress stiffening. If the hysteretic
damping of the system has to be taken into account, it must be transformed in
advance into an equivalent viscous damping (function DYNTRANS).
Parameters
jobcode
nhar
ommin
ommax
deltaom
neig

code of problem
nmber of harmonics (0 = fixed moment of inertia)
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
maximum number of eigenvalues (default value 10)

Output files (in the selected directory)


CAMPBELL.### containing:
nomega: number of speeds
CAMPB: matrix containing the points to plot the diagram
(complex numbers: the real part is the frequency, the
imaginary part is the decay rate). Each line contains the
frequencies at each value of the speed. First column: spin
speed; subsequent columns: frequencies.
EGCAM@.###
containing:
om: speed
EIGV: matrix of eigenvectors
the number of files EGCAM@.### is nomega; @ is a
number from 1 to nomega

95

Part 11: Solution programs; torsional analysis

96

11.5 Function TORSPLT


TORSPLT( jobcode, nfreq1, nfreq2, [state<0>, nsub<0>, numdisc<1>])
Plotting of the mode shapes related to the torsional natural frequencies.
TORSPLT requires program DYNTORS to be run in advance.
Parameters
jobcode
nfreq1
nfreq2
state
nsub

code of problem
number of first mode to be plotted
number of last mode to be plotted
[0/1] options (default value 0) *
0: only beam elements, disp. plotted in x direction
1: disc and blade elements
number of substructure to be plotted ( 0 = all) (default value
number of disc (only if state = 1) (default value 1)

11.6 Function TCPLT


TCPLT( jobcode, nmode, omega, [state<0>, nsub<0>, numdisc<1>])
Plotting of the mode shapes related to the torsional natural frequencies.
TCPLT requires program CAMPBT to be run in advance.
Parameters
jobcode
nmode
speed
state
nsub
numdisc

96

code of problem
number of mode to be plotted
speed
[0/1] options (default value 0)
0: only beam elements, disp. plotted in x direction
1: disc and blade elements
number of substructure to be plotted ( 0 = all) (default value 0)
number of disc (only if state = 1) (default value 1)

Part 11: Solution programs; torsional analysis

97

11.7 Function FTPLT


FTPLT( jobcode, pltype, nel, [p1 <0>, ommin <min>, ommax<max>, w<1>])
Plotting of the forced torsional response in terms of angular displacements,
torsional moments or shear stress. If shear stresses are required in an element for
which the data for the computation of the section modulus are unavailable
(asymmetrical beam or spring elements), the section modulus must be entered. A
default value of 1 is supplied, yielding the torsional moment instead of the shear
stress.
FTPLT requires program FORTORS to be run in advance.
Parameters
code of problem
jobcode
[0/1/2] options
pltype
0: displacement versus speed
1: torsional moment versus speed
2: shear stress versus speed
number of node (if pltype = 0)
nel
number of element (if pltype = 1 or 2)
[0/1] (default value = 0)
p1
0: linear; 1: log
minimum of omega scale (default minimum value computed)
ommin
maximum of omega scale (default maximum value computed)
ommax
section modulus (default value 1)
w

97

98

Part 11: Solution programs; torsional analysis

11.8 Function HTPLT


HTPLT( jobcode, pltype, nel, [tmin <min>, tmax<max>, w<1>])
Plotting of the time history of the forced torsional response in terms of angular
velocities, angular displacements, torsional moments or shear stress. If shear stresses
are required in an element for which the data for the computation of the section
modulus are unavailable (asymmetrical beam or spring elements), the section
modulus must be entered. A default value of 1 is supplied, yielding the torsional
moment instead of the shear stress.
HTPLT requires program TORQTORS to be run in advance.
Parameters
code of problem
jobcode
[0-4] options
pltype
0: displacement versus time
1: speed versus time
2: torsional moment versus time
3: shear stress versus time
4: applied torque versus time
number of node (if pltype = 0, 1 or 4)
nel
number of element (if pltype = 2 or 3)
minimum of time scale (default minimum value computed)
tmin
maximum of time scale (default maximum value computed)
tmax
section modulus (default value 1)
w

98

Part 12
Solution programs: axial natural frequencies
Functions

DYNAX( jobcode, [nfreq<5>])


CAMPBA( jobcode, state, ommin, ommax, deltaom, [neig<5>])
AXPLT( jobcode, nfreq1, nfreq2, [state<0>, nsub <0>])
ACPLT( jobcode, nmode, omega, [state<0>, nsub<0>])

This group of solution routines computes the axial behaviour of the system. It
computes the natural frequencies of the rotor and plots the corresponding mode
shapes and the Campbell diagram.
Function DYNAX computes the natural frequencies of the system at standstill. If
centrifugal stiffening is present, and hence the natural frequency depends on the spin
speed, function CAMPBA, which computes the Campbell diagram can be used.
If several substructures rotating at different speeds exist, the nonrotating part
(rotation index = 0) is neglected.
To plot the mode shapes use function AXPLT (requires program DYNAX to be
run in advance). The mode shapes related to the Campbell diagram ere obtained
through program ACPLT.
The axial Campbell diagram can be plot using function CAMPLT1.

100

Part 12: Solution programs; axial natural frequencies

12.1 Function DYNAX


DYNAX( jobcode, [nfreq<5>])
Computation of the axial natural frequencies of the rotor. The system is assumed
to be linear and undamped. If nonlinear elements are present in the model, they are
neglected.
Parameters
jobcode
code of problem
nfreq
maximum number of frequencies (def. value 5)
Output file (in the selected directory)
AXFREQ.###
containing:
neig: number of natural frequencies
NATFR: vector with natural frequencies
EIGV: matrix of eigenvectors

100

Part 12: Solution programs; axial natural frequencies

101

12.2 Function CAMPBA


CAMPBA( jobcode, state, ommin, ommax, deltaom, [neig<5>])
Computation of the axial Campbell diagram. The system is assumed to be linear
and isotropic. If nonlinear elements are present in the model, they are neglected.
If the hysteretic damping of the system has to be taken into account, it must be
transformed in advance into an equivalent viscous damping (function DYNTRANS).
Parameters
jobcode
code of problem
state
[0/1]
0: recording eigenvalues on file
1: recording eigenvalues and eigenvectors on file
ommin
[rad/s] minimum spin speed
ommax
[rad/s] maximum spin speed
deltaom
[rad/s] spin speed increment
neig
maximum number of eigenvalues (default value 5)
Output files (in the selected directory)
CAMPBELL.### containing:
nomega: number of speeds
CAMPB: matrix containing the points to plot the diagram
(complex numbers: the real part is the frequency, the
imaginary part is the decay rate). Each line contains the
frequencies at each value of the speed. First column: spin
speed; subsequent columns: frequencies.
containing: (only if state = 1)
EGCAM@.###
om: speed
EIGV: matrix of eigenvectors
the number of files EGCAM@.### is nomega; @ is a
number from 1 to nomega

101

102

Part 12: Solution programs; axial natural frequencies

12.3 Function AXPLT


AXPLT( jobcode, nfreq1, nfreq2, [state<0>, nsub <0>])
Plotting of the mode shapes related to the axial natural frequencies.
AXPLT requires program DYNAX to be run in advance.
Parameters
jobcode
nfreq1
nfreq2
state
nsub

code of problem
number of first mode to be plotted
number of last mode to be plotted
[0/1] options (default value 0) *
0: only beam elements, disp. plotted in x direction
1: disc and blade elements
number of substructure to be plotted ( 0 = all) (default value
number of disc (only if state = 1) (default value 1)

12.4 Function ACPLT


ACPLT( jobcode, nmode, omega, [state<0>, nsub<0>])
Plotting of the mode shapes related to the torsional natural frequencies.
ACPLT requires program CAMPBA to be run in advance.
Parameters
jobcode
nmode
speed
state
nsub

102

code of problem
number of mode to be plotted
speed
[0/1] options (default value 0)
0: only beam elements, displacements plotted in x direction
1: disc and blade elements
number of substructure to be plotted (0 = all) (default value 0)
number of disc (only if state = 1) (default value 1)

Part 13
Solution programs: torsional-axial natural
frequencies
Functions

DYNTA( jobcode, [nfreq<5>])


CAMPTA( jobcode, state, ommin, ommax, deltaom, [neig<5>])

This group of solution routines computes the coupled torsional-axial behaviour


of the system caused by the presence of blades whose principal axes of inertia are
not in axial and tangential directions. It computes the natural frequencies of the rotor
and plots the Campbell diagram.
Function DYNTA computes the natural frequencies of the system at standstill. If
centrifugal stiffening is present, and hence the natural frequency depends on the spin
speed, function CAMPBTA, which computes the Campbell diagram can be used.
If several substructures rotating at different speeds exist, the nonrotating part
(rotation index = 0) is neglected.
The axial Campbell diagram can be plot using function CAMPLT1.
The mode shapes can be plotted using AXPLT, TORPLT, ACPLT and TCPLT
programs.

104

Part 13: Solution programs; torsional-axial natural frequencies

13.1 Function DYNTA


DYNTA( jobcode, [nfreq<5>])
Computation of the axial natural frequencies of the rotor. The system is assumed
to be linear and undamped. If nonlinear elements are present in the model, they are
neglected.
Parameters
jobcode
code of problem
nfreq
maximum number of frequencies (def. value 5)
Output file (in the selected directory)
TAFREQ.###
containing:
neig: number of natural frequencies
NATFR: vector with natural frequencies
EIGV: matrix of eigenvectors

104

Part 13: Solution programs; torsional-axial natural frequencies

105

13.2 Function CAMPBTA


CAMPBTA( jobcode, state, ommin, ommax, deltaom, [neig<5>])
Computation of the axial Campbell diagram. The system is assumed to be linear
and isotropic. If nonlinear elements are present in the model, they are neglected.
If the hysteretic damping of the system has to be taken into account, it must be
transformed in advance into an equivalent viscous damping (function DYNTRANS).
Parameters
jobcode
code of problem
state
[0/1]
0: recording eigenvalues on file
1: recording eigenvalues and eigenvectors on file
ommin
[rad/s] minimum spin speed
ommax
[rad/s] maximum spin speed
deltaom
[rad/s] spin speed increment
neig
maximum number of eigenvalues (default value 5)
Output files (in the selected directory)
CAMPBELL.### containing:
nomega: number of speeds
CAMPB: matrix containing the points to plot the diagram
(complex numbers: the real part is the frequency, the
imaginary part is the decay rate). Each line contains the
frequencies at each value of the speed. First column: spin
speed; subsequent columns: frequencies.
containing: (only if state = 1)
EGCAM@.###
om: speed
EIGV: matrix of eigenvectors
the number of files EGCAM@.### is nomega; @ is a
number from 1 to nomega

105

Part 14
Examples
In the present section some examples, contained in the directory DATA of the
DYNROT diskette, are presented.
For each example two files are supplied: a data M-file and a driver M-file. To
run the examples the user must:
create a directory on the hard disk whose name is indicated in the driver M-file
(instruction datapath);
copy the data M-file and the driver M-file in the directory in which MATLAB
M-files are located (must be included in the MATLABPATH);
enter MATLAB and type the name of the driver M-file.
Alternatively, the examples can be run using the interactive driver DYNROT.
Remember that in the supplied driver files the subdirectory for data is
C:\DYNROT\DATA and that for results is C:\DYNROT\TEST# (# is the number of
the example). If these names are changed, also the dirver files must be changed
accordingly).

14.1 Example TEST1


The example is a simple nonlinear, damped Jeffcott rotor.
The data are included in the file TEST1.M and the driver is file TEST1DRV.M.
The mass and the stiffness of the rotor are assumed to have a unit value, so the resuts
are reported in a sort of nondimensional form, even if for the code a frequency equal
to 1 means obviously 1 rad/s.
The driver M-file is here commented in detail:
clear
filename = 'test1';
datapath = 'c:\dynrot\test1\';
The M-file containing the data is TEST1.M; the jobcode is TS1 and the path for
results is C:\DYNROT\TEST1\.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);

108

Part 14: Examples

These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST1\.
dynprep(filename,datapath)
DYNPREP M-file is run to build the model.
dyncrit('ts1',0,2,1)
Function DYNCRIT is called to compute the main critical speeds of the
linearized system. Only one value, equal to 1, is obtained, although 2 are requested.
dynunbal('ts1',0,3,.001,0,0)
Function DYNUNBAL is called to compute the unbalance response of the
linearized system, from 0 to 3 rad/s, with a speed increment of 0.01 rad/s. Note that
in the data a static unbalance with an eccentricity of 1 m is given; this has the
meaning of a unit eccentricity.
dynunbal('ts1',0,3,.001,4,0)
dynunbal('ts1',3,0,.001,4,0)
Function DYNUNBAL is called to compute the unbalance response of the
nonlinear system, from 0 to 3 rad/s, with a speed increment of 0.001 rad/s. The
subroutine is called twice, to perform the computation while spinning up and
spinning down the rotor. Note that in the data a static unbalance with an eccentricity
of 1 m is given.
dynaccel('ts1',1,0)
Function DYNACCEL is called to compute the acceleration response. The time
history defined in the data file includes an acceleration, from 0 to 3 rad/s, a steadystate operation and a subsequent deceleration.
unplt('ts1',0,0,1,0,0,3)
Function UNPLT is called to plot the acceleration response at node 1 (the only
one existing). A linear plot is requested.
accplot('ts1',0,1,0,0,700)
accplot('ts1',3,1)
Function ACCPLOT is called to plot the acceleration response at node 1 (the
only one existing) as a function of time. A linear plot is requested. It is then called
again to plot the orbit in the rotating frame.
dyncamp('ts1',0,3,.5,0,1,1,0)
Function DYNCAMP is called to plot a the Campbell diagram from 0 to 3 rad/s,

108

Part 14: Examples

109

with increments of 0.5 rad/s.


diary off
The diary file DYNROT.LOG is closed.

14.2 Example TEST2


The example is taken from [1], example 4-3, page 339; for a sketch of the
system, the mathematical model and the mode shapes at the first 2 critical speeds,
see also the cover of the present guide.
The data are included in the file TEST2.M and the driver is file TEST2DRV.M.
The data are the same reported in [1] and the computation follows the same scheme,
with the exception of the translational degrees of freedom of the modes at the
bearing locations which are here assumed to be master degrees of freedom. Owing
to the high stiffness of the bearings, no difference in the results occurs.
The driver M-file is here commented in detail:
clear
filename = 'test2';
datapath = 'c:\dynrot\test2\';
The M-file containing the data is TEST2.M; the jobcode is TS2 and the path for
results is C:\DYNROT\TEST2\.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST2\.
dynprep(filename,datapath);
DYNPREP M-file is run to build the model.
dynplot('ts2',0)
dynplot1('ts2',0,0,1,0,0)
Functions DYNPLOT and DYNPLOT1 are called to plot a sketch of all the
model (cross section and 3-D view).
dyncrit('ts2',0,3,1)
critplt('ts2',1,2,0,0)
Function DYNCRIT is called to compute the first 3 main critical speeds and the
corresponding mode shapes. The values of the critical speeds are recorded in the
diary file DYNROT.LOG. Function CRITPLT is then called to plot the first two
mode shapes.

109

110

Part 14: Examples


dyncrit('ts2',1,1,-2,0)
critplt('ts2',2,2,-2,0)

Function CRITPLT is called again twice to plot the first two mode shapes in the
form of a 3-D plot.
dynunbal('ts2',0,5000,10,0,0)
Function DYNUNBAL is called to compute the unbalance response, from 0 to
5000 rad/s, with a speed increment of 10 rad/s. Note that in the data a static
unbalance with an eccentricity of 1 m is given to the centre of gravity of the
compressor.
unplt('ts2',0,0,3,1,0,5000)
unplt('ts2',0,1,0,1,0,5000)
Function UNPLT is called to plot the unbalance response at node 3 (centre of
gravity of the compressor) and then called again to plot the driving torque needed to
run the rotor at constant speed against the losses due to unbalance. Note that the
torque is vanishingly small due to the small effect of nonrotating damping applied to
very stiff bearings. Logarithmic plots are requested.
unplt('ts2',0,6,3,4000,0,0)
unplt('ts2',0,7,4000,0,-1,0)
Function UNPLT is called again to plot the orbit at node 3 at 4000 rad/s (in the
fixed frame) and the inflected shape at the same speed as a 3-D plot.
forces('ts2',0,2000,0)
Function FORCES is called to compute the forces on the elements at 2000 rad/s.
No specific diary file is given, to avoid closing the diary file DYNROT.LOG.
dyntrans('ts2','tt2')
Function DYNTRANS is called to generate a model (with code tt1) with
equivalent viscous damping
dynaccel('tt2',2,0)
Function DYNACCEL is called to compute the acceleration response, from 0 to
3000 rad/s, with an angular acceleration of 1000 rad/s2 (as stated in the time history
included in the data file). Note that in the data a static unbalance with an eccentricity
of 1 m is given to the centre of gravity of the compressor. Note that this stage of
the computation can be quite time consuming, particularly for slow machines. It is
suggested to skip it in a first attempt to run the test case.
unplt('tt2',0,0,3,1,0,3000)

110

Part 14: Examples

111

forces('tt2',2,2.5,0)
Function UNPLT is called to plot the acceleration response at node 3 (centre of
gravity of the compressor). A logarithmic plot is requested. Function FORCES is
then called for the computation of the forces in the elements at time = 2.5 s.
dyncamp('ts2',0,5000,500,0,3,1,0)
camplt('ts2',1,-1,0)
camplt('ts2',1,3000,0)
Function DYNCAMP is called to plot a the Campbell diagram from 0 to 5000
rad/s, with increments of 500 rad/s with 3 pair of modes (3 forward and 3 backward
modes. Function CAMPLT is then called twice to plot the first mode shape at the
various speeds and then at 3000 rad/s only.
diary off
The diary file DYNROT.LOG is closed.

14.3 Example TEST3


The example is taken from [1], example 4-3, page 339 but with nonlinear
bearings. The data are included in the file TEST3.M and the driver is file
TEST3DRV.M.
The driver M-file is here commented in detail:
clear
filename = 'test3';
datapath = 'c:\dynrot\test3\';
The M-file containing the data is TEST3.M; the jobcode is TS3 and the path for
results is C:\DYNROT\TEST3\.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST3\.
dynprep(filename,datapath)
DYNPREP M-file is run to build the model.
dynplot('ts3',0)
Function DYNPLOT is called to plot a sketch of all the model.
dynunbal('ts3',0,4000,15,4,0)

111

112

Part 14: Examples

Function DYNUNBAL is called to compute the nonlinear unbalance response,


from 0 to 4000 rad/s, with a speed increment of 15 rad/s. Note that in the data a
static unbalance with an eccentricity of 1 m is given to the centre of gravity of the
compressor.
unplt('ts3',0,0,3,1,0,4000)
unplt('ts3',0,1,0,0,0,4000)
forces('ts3',0,2000,0)
Function UNPLT is called to plot the unbalance response at node 3 (centre of
gravity of the compressor) and then the driving torque needed to run the rotor at
constant speed against the losses due to unbalance. Note that the torque is
vanishingly small due to the small effect of nonrotating damping applied to very
stiff bearings.
Logarithmic plots are requested. Function FORCES is called to compute the
forces on the elements at 2000 rad/s. No specific plot diary file is given, to avoid
closing the diary file DYNROT.LOG.
dynunbal('ts3',4000,0,-15,4,0)
Function DYNUNBAL is called to compute the unbalance response, from 4000
to 0 rad/s, with a speed increment of -15 rad/s.
unplt('ts3',0,0,3,1,0,4000)
unplt('ts3',0,1,0,1,0,4000)
forces('ts3',0,2000,0)
Function UNPLT and FORCES are again called to display the results obtained at
decreasing speed.
dyntrans('ts3','tt3')
Function DYNTRANS is called to generate a model (with code tt2) with
equivalent viscous damping
dynaccel('tt3',2,1)
Function DYNACCEL is called to compute the acceleration response, from 0 to
3000 rad/s, with an angular acceleration of 500 rad/s2 (as stated in the time history
included in the data file). Note that in the data a static unbalance with an eccentricity
of 1 m is given to the centre of gravity of the compressor. Note that this stage of
the computation can be quite time consuming, particularly for slow machines. It is
suggested to skip it in a first attempt to run the test case.
unplt('tt3',0,0,3,1,0,3000)
Function UNPLT is called to plot the acceleration response at node 3 (centre of
gravity of the compressor). A logarithmic plot is requested.

112

Part 14: Examples

113

diary off
The diary file DYNROT.LOG is closed.

14.4 Example TEST4


The example is taken from [1], exercise 4-10: it is the same rotor seen in the
preceding examples, but running on hydrodynamic bearings. The data are included
in the file TEST4.M and the driver is file TEST4DRV.M. The data are the same
reported in [1].
The driver M-file is here commented in detail:
clear
filename = 'test4';
datapath = 'c:\dynrot\test4\';
The M-file containing the data is TEST4.M; the jobcode is TS4 and the path for
results is C:\DYNROT\TEST4\.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST4\.
dynprep(filename,datapath)
DYNPREP M-file is run to build the model.
dynplot('ts4',0)
Function DYNPLOT is called to plot a sketch of all the model.
lubunbal('ts4',200,3000,100)
unplt('ts4',1,3,3,0,0)
Function LUBUNBAL is called to compute the unbalance response from 200 to
3000 rad/s, with a speed increment of 100 rad/s. Functions UNPLT is called to plot
the displacements in x and y direction due to the unbalance at node 3 as functions of
the speed.
dynlub('ts4',200,3000,100,4,1)
lubplt('ts4',3)
statplt('ts4',-1,0)
Function DYNLUB is called to compute the Campbel diagram, from 200 to 3000
rad/s, with a speed increment of 100 rad/s. Functions LUBPLT and STATPLT are

113

Part 14: Examples

114

called to plot the static deflection at node 3 as a function of the speed and the
inflected shape (in 3-D).
camplt1('ts4',0,3000,-3000,3000,-100,300)
rootplt('ts4',-300,100,-3000,3000)
camplt('ts4',4,3000,-1,0)
Function CAMPLT1 is called to plot the real and imaginary parts of the
Campbell diagram. The roots locus is obtained from function ROOTPLT. The mode
shape for the fourth mode is plotted using function CAMPLT.
diary off
The diary file DYNROT.LOG is closed.

14.5 Example TEST5


The example is taken from [2], page 45. As in the example the equation is made
nondimensional by dividing all frequencies and speeds by k / m , unit values for
both the mass and the stiffness are assumed. The system is modelled using two very
stiff massless beams, one asymmetrical mass and two asymmetrical springs. As the
compliance of the beams is negligible, once the model is condensed with only two
master degrees of freedom (translation and rotation at the centre of mass of the mass
element), the model is equivalent to that in [2]. Note that no numerical instability
occurs during the reduction process, even in this case in which elements with widely
different stiffnesses are assembled.
Note that both stator and rotor are unsymmetrical (see [2]). The aim of the
computation is to plot the Campbell diagrams of figures 4, 5 and 6 in [2].
The data are included in the file TEST5.M and the driver is file TEST5DRV.M.
The user is advised to reduce the amount of instructions included in the driver
file if a slow computer with limited memory is used.
The driver M-file is here commented in detail:
clear
filename = 'test5';
datapath = 'c:\dynrot\test5\';
The M-file containing the data is TEST5.M; the jobcode is TS5 and the path for
results is C:\DYNROT\TEST5\.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST5\.
dynprep(filename,datapath)

114

Part 14: Examples

115

DYNPREP M-file is run to build the model.


% isotropic system
Just a remark. The following instructions are related to the isotropic average
model.
dyncrit('ts5',0,2,1)
Function DYNCRIT is called to compute two main critical speeds and the
corresponding mode shapes of the symmetrical averaged system. The values of the
critical speeds are recorded in the diary file DYNROT.LOG.
critplt('ts5',1,1,0,0)
critplt('ts5',1,1,-1,0)
critplt('ts5',1,1,2,0)
critplt('ts5',1,1,2,1)
Function CRITPLT is called four times to plot the mode shape for the first mode
(2-D plot, 3-D plot, orbit at node 2 in the fixed frame and orbit at the same node in
the rotating frame.
dynunbal('ts5',0,3,.05,0,0)
unplt('ts5',0,0,2,0,0,3)
unplt('ts5',0,6,2,-1,0,0)
unplt('ts5',0,6,2,1,0,0)
unplt('ts5',0,6,2,1,1,0)
unplt('ts5',0,7,-1,0,0)
unplt('ts5',0,7,1,0,-1,0)
unplt('ts5',0,7,1,0,0)
Function DYNUNBAL is called to compute the unbalance response and then
function UNPLT is called seven times with different parameters to plot the results in
different forms. The isotropic system is still studied.
dyncamp('ts5',0,3,.1,0,2,1,0)
Function DYNCAMP is called to plot the Campbell diagram for values of the
nondimensional speed from 0 to 3, with increments of 0.1. The plot is the same
reported in fig. 4a in [2].
camplt('ts5',1,1,2,0)
camplt('ts5',1,1,-1,0)
Function CAMPLT is called twice to plot the first mode shape at a unit speed
(orbit at node 2 and 3-D plot).
% nonisotropic stator

115

116

Part 14: Examples

Just a remark. The following instructions are related to the model with isotropic
rotor and nonisotropic stator.
dyncrit('ts5',1,3,0)
Function DYNCRIT is called to compute the main critical speeds and the
corresponding mode shapes of the system with nonsymmetrical stator. The values of
the critical speeds are recorded in the diary file DYNROT.LOG.
critplt('ts5',1,1,0,0)
critplt('ts5',1,1,-1,0)
critplt('ts5',1,1,2,0)
critplt('ts5',1,1,2,1)
Function CRITPLT is called to plot the first mode shape
dynunbal('ts5',0,3,.05,1,0)
unplt('ts5',1,0,2,0,0,3)
unplt('ts5',1,6,2,-1,0,0)
unplt('ts5',1,6,2,1,0,0)
unplt('ts5',1,6,2,1,1,0)
unplt('ts5',1,7,-1,0,0)
unplt('ts5',1,7,1,0,-1,0)
unplt('ts5',1,7,1,0,0)
Function DYNUNBAL computes the unbalance response and function UNPLT
is called to plot it.
dyncamp('ts5',0,3,.1,1,2,1,0)
camplt1('ts5',0,3,0,4,0,0)
camplt('ts5',1,1,2,0)
camplt('ts5',1,1,-1,0)
Function DYNCAMP is called to plot the Campbell diagram for values of the
nondimensional speed from 0 to 3, with increments of 0.1 for the system with
nonsymmetrical stator. The plot is the same reported in fig. 4b in [2]. Function
CAMPPLT1 is called to plot the Campbell diagram with a different scale for the
whirl speed, to match exactly the figure in [2]. Then function CAMPLT is called to
plot the first mode shape.
% nonisotropic rotor
Just a remark. The following instructions are related to the model with
nonisotropic rotor and isotropic stator.
dyncrit('ts5',2,0)
critplt('ts5',1,1,0,0)
critplt('ts5',1,1,-1,0)

116

Part 14: Examples

117

critplt('ts5',1,1,2,0)
critplt('ts5',1,1,2,1)
Function DYNCRIT is called to compute the main critical speeds and the
corresponding mode shapes of the system with nonsymmetrical rotor. The values of
the critical speeds are recorded in the diary file DYNROT.LOG. Function CRITPLT
is called to plot the first mode.
dynunbal('ts5',0,3,.05,2,0)
unplt('ts5',2,0,2,0,0,3)
unplt('ts5',2,6,2,-1,0,0)
unplt('ts5',2,6,2,1,0,0)
unplt('ts5',2,6,2,1,1,0)
unplt('ts5',2,7,-1,0,0)
unplt('ts5',2,7,1,0,-1,0)
unplt('ts5',2,7,1,0,0)
Function DYNUNBAL computes the unbalance response and function UNPLT
is called to plot it.
dyncamp('ts5',0,3,.05,2,10,1,0)
camplt1('ts5',0,3,-4,4,-.4,.4)
camplt('ts5',1,1,2,0)
camplt('ts5',1,1,-1,0)
Function DYNCAMP is called to plot the Campbell diagram for values of the
nondimensional speed from 0 to 3, with increments of .05 for the system with
nonsymmetrical rotor. 10 pairs of eigenvalues are asked. A finer pitch is advisable
here to obtain a better definition of the plot. The plot is the same reported in fig. 5 in
[2]. Function CAMPLT1 is then called to plot the real and imaginary parts of the
Campbell diagram with different scales, to match exactly the figure in [2]. The
negative values of the decay rate indicate the unstable ranges of the system. Then
function CAMPLT is called to plot the first mode shape.
% nonisotropic stator and rotor
Just a remark. The following instructions are related to the fully anisotropic
model.
dyncrit('ts5',3,6,2)
critplt('ts5',4,4,0,0)
critplt('ts5',4,4,-1,0)
critplt('ts5',4,4,2,0)
critplt('ts5',4,4,2,1)
Function DYNCRIT is called to compute the main critical speeds and the
corresponding mode shapes of the system with nonsymmetrical rotor and stator. The
number of harmonics considered is 2. The values of the critical speeds are recorded
in the diary file DYNROT.LOG. Function CRITPLT is called to plot the first mode.

117

118

Part 14: Examples


dynunbal('ts5',0,3,.05,3,2)
unplt('ts5',3,0,2,0,0,3)
unplt('ts5',3,6,2,-1,0,0)
unplt('ts5',3,6,2,1,0,0)
unplt('ts5',3,6,2,1,1,0)
unplt('ts5',3,7,-1,0,0)
unplt('ts5',3,7,1,0,-1,0)
unplt('ts5',3,7,1,0,0)

Function DYNUNBAL computes the unbalance response and function UNPLT


is called to plot it.
dyncamp('ts5',0,3,.025,3,10,1,2)
Function DYNCAMP is called to plot the Campbell diagram for values of the
nondimensional speed from 0 to 3, with increments of .025 for the system with
nonsymmetrical rotor and stator. Again 2 harmonics are used. A finer pitch is
advisable here to obtain a better definition of the plot.
camplt1('ts5',0,3,0,4,-.1,.1)
camplt('ts5',4,1,2,0)
camplt('ts5',4,1,-1,0)
Function CAMPPLT1 is called to plot the real and imaginary parts of the
Campbell diagram with different scales, to match exactly the figure in [2]. The
negative values of the decay rate indicate the unstable ranges of the system. Then
function CAMPLT is called to plot the fourth mode shape.
diary off
The diary file DYNROT.LOG is closed.

14.6 Example TEST6


The example is taken from [1], example 5-1, page 434. The torsional natural
frequencies and mode shapes of the equivalent model of a six-cylinders in-line
internal combustion engine are computed.
The system is modelled using 7 spring and 8 mass elements. The shaft is
modelled using spring elements, as the equivalent stiffness of the various parts of the
engine were computed in advance; if their equivalent length were obtained it would
have been faster to model them as beam elements. In order to obtain a plot of the
mode shapes the end nodes of the spring elements are placed at unit distance; this
exception to the rule that the end nodes of a spring must have coinciding coordinates is possible as only the torsional behaviour is studied.
The data are included in the file TEST6.M and the driver is file TEST6DRV.M.
The data are the same reported in [1] and the computation follows the same scheme.
The driver M-file is here commented in detail:

118

Part 14: Examples

119

clear
filename = 'test6';
datapath = 'c:\dynrot\test6\';
The M-file containing the data is TEST6.M; the jobcode is TS6 and the path for
results is C:\DYNROT\TEST6\.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST6\.
dynprep(filename,datapath)
DYNPREP M-file is run to build the model.
dyntors('ts6')
torsplt('ts6',1,1,0,0)
torsplt('ts6',2,2,0,0)
torsplt('ts6',3,3,0,0)
Function DYNTORS is called to compute the torsional natural frequencies and
the corresponding mode shapes. The values of the natural frequencies are recorded
in the diary file DYNROT.LOG. Function TORSPLT is called 3 times to plot the
first 3 mode shapes.
fortors('ts6',100,700,5,0)
ftplt('ts6',2,4,0,0,700,1.79e-5)
Function FORTORS is called to compute the torsional response between 100 and
700 rad/s, with an increment of 5 rad/s. Function FTPLT is called to plot the shear
stress in the fourth element as a function of the speed. The parameters chosen are 2
(shear stress plot), 4 (number of element), 0 (linear plot), 0,700 (minimum and
maximum speed scale) and 1.79e-5 (section modulus).
diary off
The diary file DYNROT.LOG is closed.

14.7 Example TEST7


The example deals with the rotor of a turbomolecular pump on magnetic
bearings. A free-free analysis is performed. It is a fairly large model, as it includes
138 nodes and many disc and blade elements.
The data are included in the file TEST7.M and the driver is file TEST7DRV.M.
The driver M-file is here commented in detail:

119

120

Part 14: Examples


clear
filename = 'test7';
datapath = 'c:\dynrot\test7\';

The M-file containing the data is TEST7.M; the jobcode is TS7 and the path
for results is C:\DYNROT\TEST7\.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST7\.
dynprep(filename,datapath)
DYNPREP M-file is run to build the model.
dynplot('ts7',0)
Function DYNPLOT is called to plot a sketch of the model.
dyncrit('ts7',0,6,1)
critplt('ts7',1,1,0,0)
critplt('ts7',2,2,0,0)
critplt('ts7',3,3,0,0)
Function DYNCRIT is called to compute the first 6 main critical speeds and the
corresponding mode shapes. The values of the critical speeds are recorded in the
diary file DYNROT.LOG. Function CRITPLT is then called three times to plot the
first three mode shapes.
dyncamp('ts7',0,5000,500,0,4,1,0)
camplt('ts7',3,0,0)
camplt('ts7',3,5000,0)
Function DYNCAMP is called to plot a the Campbell diagram from 0 to 5000
rad/s, with increments of 500 rad/s and then Function CAMPLT is called twice to
plot the third mode shape at standstill and at 5000 rad/s.
dynta('ts7',8)
torsplt('ts7',3,3,0,0,0)
torsplt('ts7',3,3,1,0,13)
axplt('ts7',3,3,0,0)
axplt('ts7',3,3,1,0)
Function DYNTA is called to compute the coupled torsional-axial natural
frequencies at standstill (8 modes are requested) and the the torsional and axial

120

Part 14: Examples

121

components of the third mode shape are plotted using TORSPLT and AXPLT
functions.
diary off
The diary file DYNROT.LOG is closed.

14.8 Example TEST8


The aim of the example is that of plotting the first two critical speeds of the rotor
of example TEST 2 as functions of the stiffness of the bearings.
The data are included in the file TEST8.M, which is identical to file TEST2.M
but for two lines:
k = par(1,1);
which defines the stiffness k (matrix par is the matrix which is passed to DYNPREP
function and contains the parameters), and
8 3 k 0 0 0 1;
defining the 8-th line of matrix GEOM (defining the parameters of the 8-th
geometry, that of an element type 3, i.e. a spring element, used to model the
bearings).
The driver file is TEST8DRV.M, which now is not just a driver file but is an
actual program plotting the required graph and using as subroutines the relevant
function files of DYNROT.
The driver M-file is here commented in detail:
clear
filename = 'test7';
datapath = 'c:\dynrot\test7\';
The M-file containing the data is TEST8.M; the jobcode is TS8 and the path for
results is C:\DYNROT\TEST8\.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST8\.
stiffness = [1e5 2e5 5e5 1e6 2e6 5e6 1e7 2e7 5e7 1e8 2e8 5e8 1e9 2e9 5e9 1e10];
[dummy,nstiff] = size(stiffness);
A matrix called stiffness in which the various values of the stiffness of the
bearings are listed and the variable nstiff indicating the number of such values are
defined.

121

122

Part 14: Examples


for in = 1 : nstiff
k(1,1) = stiffness(in);
dynprep(filename,datapath,k);
dyncrit('ts8',0,3,1)
eval(['load ',datapath,'crspeed.ts8 -mat']);
RES(in,:)=OMCR;
end

These lines define a loop in which the proper value of stiffness is introduced in
k, function DYNPREP is called with the added parameter to be passed later to the
program defining the model, function DYNCRIT is called to compute the first 3
critical speeds. The file in which the critical speeds are stored is then loaded and the
critical speeds are stored in the lines of matrix RES, containing the results.
figure
for in = 1 :2
semilogx(stiffness,RES(:,in)*30/pi)
hold on
end
xlabel('Stiffness (N/m)')
ylabel('Critical speeds (rpm)')
title('Test 8 - Critical speeds versus stiffness')
hold off
drawnow
The first two critical speeds are plotted on a semilog plot against the stiffness of
the bearings and the proper labels are written.
diary off
The diary file DYNROT.LOG is closed.

122

References

123

References
[1] Genta G.Vibration of structures and machines, III edition, Springer, New York,
1999.
[2] Genta G.: Whirling of Unsymmetrical Rotors, a Finite Element Approach Based
on Complex Coordinates, Journal of Sound and Vibration, 124(1), 1988, p. 2753
[3] Genta G., Gugliotta A.: A Conical Element for Finite Element Rotor Dynamics,
Journal of Sound and Vibration, 120(2), 1988, p.175-182.
[4] Someya T. (editor): Journal Bearing Databook, Springer, Tokyo, 1988.
[5] Genta G., Vatta F: A Lubricated Bearing Element for FEM Rotor Dynamics, IX
IMAC, Firenze, april 1991.
[6] Genta G., Delprete C.: Acceleration through critical speeds of an anisotropic,
nonlinear, torsionally stiff rotor with many degrees of freedom, to be published.
[7] Genta G., De Bona F.: Unbalance Response of Rotors: a Modal Approach with
some Extensions to Damped Natural Systems, Journal of Sound and Vibration,
140(1), p. 129-153.
[8] Genta G., Repaci A., Briacca I.: Iterative Techniques for Computation of the
Unbalance Response of Multi-degrees of Freedom Nonlinear Rotors, III
International Conf. Rotordynamics, Lyon, september 1990.
[9] Genta G., Delprete C., Tonoli A., Vadori R.: Conditions for Noncircular
Whirling of Nonlinear Isotropic Rotors, Journal of Nonlinear Dynamics, 1993,
Vol 4, p. 153-181.
[10] Genta G.: A Fast FEM Technique for the Computation of the Campbell
Diagram of Multi-Degrees of Freedom Rotors, Journal of Sound and Vibration,
155(3), 1992, p. 385-402.
[11] Genta G., Delprete C.: Acceleration Through Critical Speeds of an Anisotropic,
Nonlinear, Torsionally Stiff Rotor with Many Degrees of Freedom, Journal of
Sound and Vibration, 180(3), 1995, p. 369-386.
[12] Genta G., Tonoli A.: A Harmonic Finite Element for the Analysis of Flexural,
Torsional and Axial Rotordynamic Behaviour of Discs, Journal of Sound and
Vibration, 196(1), 1996, p. 19-43.
[13]. Genta G., Tonoli A.: A Harmonic Finite Element for the Analysis of Flexural,
Torsional and Axial Rotordynamic Behaviour of Bladed Arrays, Journal of
Sound and Vibration, 207(5), 1997, pp. 693-720.

123

Das könnte Ihnen auch gefallen