Professional Documents
Culture Documents
ROTORDYNAMIC ANALYSIS
Dipartimento di Meccanica
Politecnico di Torino
Torino Italy
November 2000
Contents 1
1
Foreword
G. Genta
1
MATLAB is a trademark of The MathWorks, Inc.
3 Contents
Contents
Foreword 1
Contents 3
Part 3. Elements 21
3.1 Element 1: beam 22
3.2 Element 2: tapered beam 23
3.3 Element 3: spring 24
3.4 Element 4: damper 25
3.5 Element 5: concentrated mass 26
3.6 Element 6: nonisotropic (asymmetrical) beam 27
3.7 Element 7: nonisotropic (asymmetrical) spring 28
3.8 Element 8: nonisotropic (asymmetrical) damper 29
3.9 Element 9: nonisotropic (asymmetrical) concentrated mass 30
3.10 Element 10: cubic spring 31
3.11 Element 11: spring with clearance 32
3.12 Element 12: magnetic bearing 33
3.13 Element 13: asymmetrical magnetic bearing 34
3.14 Element 14: 8-coefficients bearing 36
3.15 Element 15: speed-dependent 8-coefficients bearing 37
3.16 Element 16: hydrodynamic bearing 38
3.17 Element 17: crank with connecting rod and piston 39
3.18 Element 18: disc-shaft transition element 40
3.19 Element 19: flexible disc 42
3.20 Element 20: disc-blade transition element 44
3.21 Element 21: row of blades element 46
3.22 Element 22: concentrated driving torque 47
3.23 Element 23: shaft-disc transition element 48
3.24 Element 24: blade-disc transition element 50
3.25 Element 101: PID controller for magnetic bearings 52
3.26 Element 102: general controller for magnetic bearings 53
3
Contents 4
4
5 Contents
References 123
5
Part 1
How to get started
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.
8 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
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.
8
Part 1: How to get started 9
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.
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.
9
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';
datapath = yyyyyyyyy;
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(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
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.
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 15
15
Part 2
General informations
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.
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 co-
ordinates 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.
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.
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 non-
axisymmetrical 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 non-
axisymmetrical 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 first-
approximation studies [2]. Another consequence is the fact that gyropscopic
matrices are always symmetrical.
19
20 Part 2: General informations
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:
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
1 beam
2 tapered beam
3 spring
4 damper
5 mass
6 asymmetrical beam
7 asymmetrical spring
8 asymmetrical damper
9 asymmetrical mass
10 cubic spring
11 spring with clearance
12 magnetic bearing
13 asymmetrical magnetic bearing
14 8-coefficients bearing
15 8-coefficients bearing (speed dependent)
16 lubricated bearing
17 crank with piston
18 shaft-disc interface
19 flexible disc
20 disc-blade interface
21 flexible blade row
22 concentrated driving torque
23 disc-shaft interface
24 blade-disc interface
101 PID controller
102 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
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.
22
Part 3: Elements 23
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.
23
24 Part 3: Elements
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.
24
Part 3: Elements 25
25
26 Part 3: Elements
26
Part 3: Elements 27
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.
27
28 Part 3: Elements
28
Part 3: Elements 29
29
30 Part 3: Elements
30
Part 3: Elements 31
(
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.
31
32 Part 3: Elements
F = k (x c ) if x>c
F = 0 if c < x < c
F = k (x + c ) if 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.
32
Part 3: Elements 33
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.
33
34 Part 3: Elements
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.
Different bias currents can be given to linearize the characteristics of the actuator
in the two radial planes.
34
Part 3: Elements 35
35
36 Part 3: Elements
36
Part 3: Elements 37
37
38 Part 3: Elements
38
Part 3: Elements 39
Element 17 is a crank mechanism for the study of crankshafts. It has only one
node, as a mass element.
39
40 Part 3: Elements
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.
40
Part 3: Elements 41
Column 6 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)
Column 7 temperature at the inner radius
Column 8 temperature at the outer radius
Column 9 stress at the inner radius
41
42 Part 3: Elements
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.
42
Part 3: Elements 43
43
44 Part 3: Elements
44
Part 3: Elements 45
45
46 Part 3: Elements
46
Part 3: Elements 47
n
M z = A0 + B0 e s0t + e
i =1
si t
[Ai cos(i t ) + Bi sin (i t )]
47
48 Part 3: Elements
48
Part 3: Elements 49
49
50 Part 3: Elements
50
Part 3: Elements 51
51
52 Part 3: Elements
1 t de(t )
u (t ) = k c 1 +
Ti
e(u )du + T
0
d
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
U ( s) 1 sTd
= 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
1
F (s) =
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.
52
Part 3: Elements 53
bn s n + bn 1s n 1 + bn 2 s n 2 + K + b0
C ( s) =
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.
53
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.
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].
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].
56
Part 4: Bearings 57
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:
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
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.
60
Part 5: Construction of the model 61
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)
DYNPLOT(jobcode, nsub, [tview <0>, type <0>, mesh <0>, light <0>])
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
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
jobcode code of problem
numdisc number of disc to be plotted
type type of plot [0/4] (default value 2)
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
omega speed for centrifugal stresses in rad/s (default value 1000)
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
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 (4-
94) in [1], page 333
([K ]+ 2
[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
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)
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
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
jobcode code of problem
type [0/1] options (default value 0)
0: forces on elements due to unbalance
1: forces on elements due to static loading
2: forces on elements due to acceleration
omega spin speed at which the forces are computed
file [ number/string] (default value 0)
file is a number: no file recorded
file is a string: recording of file '###file.log'
65
Part 7
Solution programs: critical speeds
Functions
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
Parameters
jobcode code of problem
antyp [ 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
ncrit maximum number of critical speeds computed (def. val. 10)
par (if state = 0) ratio lambda/omega for secondary critical speeds
(default value 1)
(if state = 3) number of harmonics (default value 3)
68
Part 7: Solution programs; critical speeds 69
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)
Parameters
jobcode code of problem
ncrit1 number of first mode to be plotted
ncrit2 number of last mode to be plotted
state 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
nsub 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
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
( 2
([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.
72 Part 8: Solution programs; unbalance response
Parameters
jobcode code of problem
om1 [rad/s] first value of spin speed
om2 [rad/s] second value of spin speed
deltaom [rad/s] spin speed increment
state [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
nhar number of harmonics, if state = 3 (dafault value 3)
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: driving torque (only if
state = 0); subsequent columns: the displacement vector
transposed. @ = state.
72
Part 8: Solution programs; unbalance response 73
Parameters
jobcode code of problem
ommin [rad/s] minimum spin speed
ommax [rad/s] maximum spin speed
deltaom [rad/s] spin speed increment
state [0/1] options (default value 0)
0: proportionally damped, computation at all dof
1: damped, computation at all dof
UNBAL0.### containing:
antype = 0 (unbalance response)
UNBRES: matrix containing the unbalance response (see
function DYNUNBAL).
CRSPEED.### containing:
neig: number of critical speeds
OMCR: vector with critical speeds
EIGV: matrix of eigenvectors
73
74 Part 8: Solution programs; unbalance response
Parameters
jobcode Code of problem
ommin [rad/s] minimum spin speed
ommax [rad/s] maximum spin speed
deltaom [rad/s] spin speed increment
74
Part 8: Solution programs; unbalance response 75
Parameters
jobcode code of problem
ommin [rad/s] minimum spin speed
ommax [rad/s] maximum spin speed
deltaom [rad/s] spin speed increment
75
76 Part 8: Solution programs; unbalance response
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
jobcode code of problem
state [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
pltype [0/.../7] options (default value 0)
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
p1 number of node (if pltype = 0, 2, 3, 4, 5, 6)
0 (if pltype = 1)
omega (if pltype = 7)
p2 [0/1] (default value 0)
0: linear plot
1: logarithmic plot (if pltype = 0 - 5)
omega (if pltype = 6)
number of substructure (0 = all) (if pltype = 7)
p3 minimum for linear scale (if pltype = 0 - 5) [0]
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)
p4 max. for linear scale (default value computed max.)
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
DYNACCEL(jobcode,[nstep<1>,state<0>])
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
78
Part 9: Solution programs; acceleration response 79
Parameters
jobcode code of problem
pltype [0/1/2/3/4] options
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
nnod number of node
p1 [0/1] (default value = 0)
0: linear; 1: log (if pltype = 0 or 1)
0 (if pltype = 2 or 3 or 4)
tmin minimum of time scale (default minimum value computed)
tmax maximum of time scale (default maximum value computed)
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
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].
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.
82
Part 10: Solution programs; Campbell diagram 83
DYNCAMP(jobcode,ommin,ommax,deltaom,[antyp<0>,npair<10>,state<0>,
nhar<3>])
Parameters
jobcode code of problem
ommin [rad/s] minimum spin speed
ommax [rad/s] maximum spin speed
deltaom [rad/s] spin speed increment
antyp [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
npair maximum number of eigenvalue pairs searched
state [0/1] options (default value 0)
0: recording eigenvalues
1: recording eigenvalues and eigenvectors
nhar number of harmonics (default value 3)
83
84 Part 10: Solution programs; Campbell diagram
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 code of problem
ommin [rad/s] minimum spin speed
ommax [rad/s] maximum spin speed
deltaom [rad/s] spin speed increment
antyp [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
npair maximum number of eigenvalue pairs searched
state [0/1] options (default value 0)
0: recording eigenvalues
1: recording eigenvalues and eigenvectors
nhar number of harmonics (default value 3)
84
Part 10: Solution programs; Campbell diagram 85
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 code of problem
ommin [rad/s] minimum spin speed
ommax [rad/s] maximum spin speed
deltaom [rad/s] spin speed increment
npair maximum number of eigenvalue pairs searched
state [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
85
86 Part 10: Solution programs; Campbell diagram
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 code of problem
om1 [rad/s] first value of spin speed
om2 [rad/s] second value of spin speed
deltaom [rad/s] absolute value of spin speed increment
npair maximum number of eigenvalue pairs searched
state [0/1] options (default value 0)
0: recording eigenvalues
1: recording eigenvalues and eigenvectors
86
Part 10: Solution programs; Campbell diagram 87
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 code of problem
ommin [rad/s] minimum spin speed
ommax [rad/s] maximum spin speed
deltaom [rad/s] spin speed increment
nmode number of modes
npair maximum number of eigenvalue pairs searched
state [0/1] options (default value 0)
0: recording eigenvalues on file
1: recording eigenvalues and eigenvectors on file
87
88 Part 10: Solution programs; Campbell diagram
Parameters
jobcode code of problem
kmin [%] minimum gain
kmax [%] maximum gain
deltak [%] gain increment
nmode number of modes
om [rad/s] spin speed (default value 0)
nbear number of bearing whose gain is altered (0=all) (default value 0)
88
Part 10: Solution programs; Campbell diagram 89
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 code of problem
n mode to be plotted (positive = forward; negative = backward)
omega speed (negative = all)
state 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
nsub number of substructure to be plotted ( 0 = all) (default value 0)
(for orbits, 0: fixed frame; 1: rotating frame)
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 code of problem
ommin [rad/s] minimum of omega scale
ommax [rad/s] maximum of omega scale
lammin [rad/s] minimum of lambda scale (default value -ommax)
lammax [rad/s] maximum of lambda scale (default value ommax)
dmin [1/s] minimum of decay rate scale (default value 0)
dmax [1/s] maximum of decay rate scale (default value 0)
89
90 Part 10: Solution programs; Campbell diagram
LUBPLT( jobcode, n)
Parameters
jobcode code of problem
n number of node
Parameters
jobcode code of problem
remin minimum of real part of s
remax maximum of real part of s
immin minimum of imaginary part of s
immax maximum of imaginary part of s
90
Part 11
Solution programs: torsional analysis
Functions
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).
Parameters
jobcode code of problem
nfreq maximum number of frequencies (def. value 5)
92
Part 11: Solution programs; torsional analysis 93
Parameters
jobcode code of problem
ommin [rad/s] minimum spin speed
ommax [rad/s] maximum spin speed
deltaom [rad/s] spin speed increment
state [0/1] options (default value 0)
0: simple model
1: advanced model
93
94 Part 11: Solution programs; torsional analysis
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 code of problem
omega [rad/s] speed at initial time.
tin initial time for integration
tfin final time for integration
nmodes number of modes (default value 2)
94
Part 11: Solution programs; torsional analysis 95
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 code of problem
nhar nmber of harmonics (0 = fixed moment of inertia)
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 10)
95
96 Part 11: Solution programs; torsional analysis
Parameters
jobcode code of problem
nfreq1 number of first mode to be plotted
nfreq2 number of last mode to be plotted
state [0/1] options (default value 0) *
0: only beam elements, disp. plotted in x direction
1: disc and blade elements
nsub number of substructure to be plotted ( 0 = all) (default value
number of disc (only if state = 1) (default value 1)
Parameters
jobcode code of problem
nmode number of mode to be plotted
speed speed
state [0/1] options (default value 0)
0: only beam elements, disp. plotted in x direction
1: disc and blade elements
nsub number of substructure to be plotted ( 0 = all) (default value 0)
numdisc number of disc (only if state = 1) (default value 1)
96
Part 11: Solution programs; torsional analysis 97
FTPLT( jobcode, pltype, nel, [p1 <0>, ommin <min>, ommax<max>, w<1>])
Parameters
jobcode code of problem
pltype [0/1/2] options
0: displacement versus speed
1: torsional moment versus speed
2: shear stress versus speed
nel number of node (if pltype = 0)
number of element (if pltype = 1 or 2)
p1 [0/1] (default value = 0)
0: linear; 1: log
ommin minimum of omega scale (default minimum value computed)
ommax maximum of omega scale (default maximum value computed)
w section modulus (default value 1)
97
98 Part 11: Solution programs; torsional analysis
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
jobcode code of problem
pltype [0-4] options
0: displacement versus time
1: speed versus time
2: torsional moment versus time
3: shear stress versus time
4: applied torque versus time
nel number of node (if pltype = 0, 1 or 4)
number of element (if pltype = 2 or 3)
tmin minimum of time scale (default minimum value computed)
tmax maximum of time scale (default maximum value computed)
w section modulus (default value 1)
98
Part 12
Solution programs: axial natural frequencies
Functions
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
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)
100
Part 12: Solution programs; axial natural frequencies 101
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)
101
102 Part 12: Solution programs; axial natural frequencies
Parameters
jobcode code of problem
nfreq1 number of first mode to be plotted
nfreq2 number of last mode to be plotted
state [0/1] options (default value 0) *
0: only beam elements, disp. plotted in x direction
1: disc and blade elements
nsub number of substructure to be plotted ( 0 = all) (default value
number of disc (only if state = 1) (default value 1)
Parameters
jobcode code of problem
nmode number of mode to be plotted
speed speed
state [0/1] options (default value 0)
0: only beam elements, displacements plotted in x direction
1: disc and blade elements
nsub number of substructure to be plotted (0 = all) (default value 0)
number of disc (only if state = 1) (default value 1)
102
Part 13
Solution programs: torsional-axial natural
frequencies
Functions
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)
104
Part 13: Solution programs; torsional-axial natural frequencies 105
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)
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).
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\.
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)
dyncrit('ts1',0,2,1)
dynunbal('ts1',0,3,.001,0,0)
dynunbal('ts1',0,3,.001,4,0)
dynunbal('ts1',3,0,.001,4,0)
dynaccel('ts1',1,0)
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)
dyncamp('ts1',0,3,.5,0,1,1,0)
108
Part 14: Examples 109
diary off
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\.
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);
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)
unplt('ts2',0,0,3,1,0,5000)
unplt('ts2',0,1,0,1,0,5000)
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')
dynaccel('tt2',2,0)
unplt('tt2',0,0,3,1,0,3000)
110
Part 14: Examples 111
forces('tt2',2,2.5,0)
dyncamp('ts2',0,5000,500,0,3,1,0)
camplt('ts2',1,-1,0)
camplt('ts2',1,3000,0)
diary off
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\.
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)
dynplot('ts3',0)
dynunbal('ts3',0,4000,15,4,0)
111
112 Part 14: Examples
unplt('ts3',0,0,3,1,0,4000)
unplt('ts3',0,1,0,0,0,4000)
forces('ts3',0,2000,0)
dynunbal('ts3',4000,0,-15,4,0)
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')
dynaccel('tt3',2,1)
unplt('tt3',0,0,3,1,0,3000)
112
Part 14: Examples 113
diary off
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\.
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)
dynplot('ts4',0)
lubunbal('ts4',200,3000,100)
unplt('ts4',1,3,3,0,0)
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
114 Part 14: Examples
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 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\.
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
% 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)
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)
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)
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)
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.
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)
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 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 co-
ordinates 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\.
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)
dyntors('ts6')
torsplt('ts6',1,1,0,0)
torsplt('ts6',2,2,0,0)
torsplt('ts6',3,3,0,0)
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
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\.
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)
dynplot('ts7',0)
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)
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)
120
Part 14: Examples 121
components of the third mode shape are plotted using TORSPLT and AXPLT
functions.
diary off
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\.
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
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. 27-
53
[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