Академический Документы
Профессиональный Документы
Культура Документы
3
A FINITE ELEMENT CODE FOR
ROTORDYNAMIC ANALYSIS
Dipartimento di Meccanica
Politecnico di Torino
Torino Italy
November 2000
Contents
Foreword
DYNROT 8.3 is a code for rotordynamics computations based on the finite
element method (FEM).
It has been evolved in various versions through more than 20 years. The present
version is based on the MATLAB1 interactive software package and consequently
can be used on any hardware on which MATLAB has been installed. Version 4.0 or
higher of MATLAB is required.
The original code was written at the end of the seventies by Giancarlo Genta and
Antonio Gugliotta, both of Department of Mechanics of Politecnico di Torino, using
HPL and then HP-BASIC language, for desktop HP 9800 computers. Subsequent
versions written in Fortran and C languages were developed in the eighties and
finally the present version using MATLAB package was evolved. Its superiority lays
mainly in the ability of MATLAB of dealing with complex arithmetics, its graphic
tools and the possibility of easily obtaining output ASCII files.
At present the DYNROT project is coordinated by Giancarlo Genta. Its aim is to
continue the development of the code to widen its capabilities and to make it an
even more powerful tool for the dynamic analysis of rotating machinery. A number
of persons worked and is still working in it, mostly undergraduate and post graduate
students. Among them Giacomo Brussino, Philip Miller, Domenico Bassani,
Cristiana Delprete, Stefano Carabelli and Andrea Tonoli must be mentioned.
G. Genta
Torino, November 2000
Contents
Contents
Foreword
Contents
1
3
7
8
8
9
11
17
17
18
18
18
20
Part 3. Elements
3.1 Element 1: beam
3.2 Element 2: tapered beam
3.3 Element 3: spring
3.4 Element 4: damper
3.5 Element 5: concentrated mass
3.6 Element 6: nonisotropic (asymmetrical) beam
3.7 Element 7: nonisotropic (asymmetrical) spring
3.8 Element 8: nonisotropic (asymmetrical) damper
3.9 Element 9: nonisotropic (asymmetrical) concentrated mass
3.10Element 10: cubic spring
3.11Element 11: spring with clearance
3.12Element 12: magnetic bearing
3.13Element 13: asymmetrical magnetic bearing
3.14Element 14: 8-coefficients bearing
3.15Element 15: speed-dependent 8-coefficients bearing
3.16Element 16: hydrodynamic bearing
3.17Element 17: crank with connecting rod and piston
3.18Element 18: disc-shaft transition element
3.19Element 19: flexible disc
3.20Element 20: disc-blade transition element
3.21Element 21: row of blades element
3.22Element 22: concentrated driving torque
3.23Element 23: shaft-disc transition element
3.24Element 24: blade-disc transition element
3.25Element 101: PID controller for magnetic bearings
3.26Element 102: general controller for magnetic bearings
21
22
23
24
25
26
27
28
29
30
31
32
33
34
36
37
38
39
40
42
44
46
47
48
50
52
53
Contents
55
56
56
56
56
59
59
60
61
61
62
62
63
64
64
65
67
68
69
69
71
72
73
74
75
76
77
78
79
81
83
84
85
86
87
88
89
89
90
90
91
92
Contents
93
94
95
96
96
97
98
99
100
101
102
102
103
104
105
107
107
109
111
113
114
118
119
121
References
123
Part 1
How to get started
1.1 Structure of the code
The code is based on a number of MATLAB M-files. Some of them are script
files, while others are function files. They are supplied in the directories
PROGRAMS, MLAB4 and MLAB5 of the DYNROT 8.3 diskette.
The input data for any particular program are contained in a particular M-file,
that can be prepared by the user with any editor or generated interactively using the
programs contained in the INPUT directory (see section 1.5). Examples of these data
files are supplied in the directory DATA of the DYNROT 8.3 diskette. The same
directory contains also the data for various types of lubricated bearings.
A driver called DYNROT can be run by typing DYNROT in the MATLAB
command window followed by a <RETURN>. A button menu then appears, from
which all parts of the code can be accessed.
The computation must start with the construction of the model. This is performed
by function DYNPREP, which calls automatically other functions when needed.
Once the model has been prepared, the solutions of the various problems are
obtained by running the several M-files which solve them (e.g., DYNCRIT.M finds
the critical speeds, UNBAL.M computes the unbalance response, etc. ). They are all
function files and consequently the calling statement must contain the relevant
parameters, although alternative ways of running solution routines exist. An in-line
help is provided: for example, by typing HELP DYNCRIT a short description of the
DYNCRIT function and of the calling parameters needed is supplied. The user can
call any number of solution routines, to solve the various problems related to a
particular model. If the solution is impossible, as calling the unbalance response of a
rotor whose unbalances have not been defined, the program stops with an error
message (e.g. -** ERROR ** Unbalances not defined-). In other cases, a warning
message is supplied and the computation proceeds with a slightly different aim: if
the computation of the critical speeds of a nonlinear rotor is called, the computation
is performed on a linearized version of the model and the warning -** WARNING
** Nonlinear system: linearized analysis performed- is supplied. Many solution
routines supply the results in form of messages on the screen and/or of a plot on
MATLAB graphic windows. All messages on the screen are saved in a diary-file
while each plot is drawn in a separate graphic window which can then be recalled at
will.
After computations are performed, the results can be post processed in three
different ways. The most direct is that of calling a function M-file provided in the
DYNROT diskette (e.g., function CRITPLT.M plots the mode shapes at the critical
speeds). The outputs are generally plots in various graphic windows.
The second alternative is that of loading the file containing the results from
within MATLAB either using the command LOAD (e.g. LOAD CRSPEED.### MAT, where ### is the code of a particular problem, will result in loading the scalar
quantity "neig" expressing the number of critical speeds, the one-column matrix
OMCR, containing the critical speeds, and the matrix of the eigenvectors EIGV, all
prepared by the function DYNCRIT) or through an appropriate choice of the
interactive menu. The matrices can then be saved in ASCII form and processed
using any graphical program. The numbers can be passed, through an ASCII file, to
any word processor to be included in a report.
The third alternative is that of preparing a code which reads the output file to
produce a plot or a report, either directly from the outputs in MATLAB format or,
after conversion, in ASCII form.
1.2 Installation
To install DYNROT on a computer, MATLAB must be installed first.
A directory for DYNROT must be created on the hard disk to contain all the
program M-files (e.g. C:\DYNROT).
The directory with the M-files must be inserted in the MATLABPATH. No other
changes in the MATLABPATH will be needed.
All M-files from PROGRAM subdirectory of the DYNROT diskette must be
copied in the chosen directory of the hard disk. Also the M-files from either MLAB4
or MLAB5 subdirectories of the DYNROT diskette must be copied in the chosen
directory of the hard disk, depending whether MATLAB 4 or MATLAB 5 is used.
The lubricated bearings data contained in A:\DYNROT\DATA and all similar ones
created by the used must be stored in a directory included in the MATLABPATH.
Note that in the driver files included for the examples this directory is
C:\DYNROT\DATA; if this name is changed, the driver files must be changed
accordingly. Note also that the bearing data (files starting with SH and SO) need not
to be copied, unless a particular bearing is actually used. Example TEST4 uses file
sh58.m.
The data and the results of each case can be placed in different directories. They
can be subdirectories of C:\DYNROT or not. These directories must be created
before starting the computations and need not to be included in the
MATLABPATH. To run the test cases the data M-files must be copied on the hard
disk.
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.
10
The driver M-file is a standard script file which must contain the following
instructions:
clear
filename = 'aaaaaa';
aaaaaaa.m is the name of the m-file (maximum length of filename is 8 characters)
containing the data of the problem to be studied. Among the data, there will be a
code of three characters designating the problem to be solved. If the code is xxx, all
files containing the results will have xxx as extension (example: filename = 'test1'; in
file TEST1.M there is the instruction jobcode = 'ts1';).
datapath = yyyyyyyyy;
yyyyyyyyy is a directory in which all results of the problem to be solved will be
written (example: datapath = 'c:\dynrot\test1\'; the final \ is needed). This directory
must be created in advance.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory yyyyyyyyy.
dynprep(filename,datapath);
DYNPREP function is run to build the model. If other parameters must be
passed to function dynprep, they must have be arranged in a form of a single matrix
(e.g. matrix par) and the line becomes (see section 2.3.):
dynprep(filename,datapath,par);
After this instruction all the required function M-file are called, e.g.
dynplot('xxx',0);
It calls function DYNPLOT which plots all the model. In all function M-files the
first parameter xxx is the three-characters code which designates the particular
problem and corresponds to the code entered in the data M-file aaaaaaa.M. In the
present example the second parameter is 0.
diary off
This is the last instruction, which closes the diary file. It must not be omitted.
10
11
11
12
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
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
In case of nodes of type 2, columns from 2 to 5 contain the status of the four
degrees of freedom for flexural behaviour in the order described in section 2.3.
Column 6 must contain a 0. Column 7 contains the status of the torsional degree of
freedom, column 8 contains a 0 and columns 9 and 10 the status of the axial degrees
of freedom.
In case of nodes of type 3, columns from 2 to 6 contain the status of the five
degrees of freedom for flexural behaviour in the order described in section 2.3.
Columns 7 and 8 contain the status of the two torsional degrees of freedom and
columns 9 and 10 that of the axial degrees of freedom. Status equal to 0 means that
the degree of freedom is constrained, 1 characterizes master degrees of freedom and
2 slave degrees of freedom. In general, the second flexural degree of freedom of
nodes of type 1 (column 3), the last flexural and axial degree of freedom of nodes of
type 2 (columns 5 and 10) can be assumed to be slave. For nodes of type 3 also the
last flexural and torsional degrees of freedom (columns 6 and 8) can be assumed to
be slave.
A further type of degree of freedom can be defined, only for flexural
translational, torsional and axial degrees of freedom of nodes of type 1 (columns 2, 7
and 9). They are defined as input supermaster, output supermasters and input-output
supermasters. They are standard masterdegrees of freedom whose displacemnts are
needed by the user for further computations, as in the case of active systems in
which the displacements at the sensor and actuator locations are required. The
program generates selection matrices which, when multiplied by the displacement
vector, return the displacements in the selected nodes.
The overall characteristics of a model are listed in a vector named GLOBAL,
which is automatically generated by the code. They are:
Row Content
1. number of nodes
2. number of elements
3. number of materials
4. number of geometries
5. number of static forces (flexural)
6. number of unbalances
7. number of cranks
8. number of working cycles
9. number of harmonics (including zero-order)
10. number of entries for time histories
11. nonlinearity index
12. number of bladed discs
13. index for axial-torsional coupling
14. index for rotating anisotropy
15. index for non rotating anisotropy
16. number of substructures
17. index for hysteretic rotating damping
18. index for hysteretic non rotating damping
19. index for viscous rotating damping
20. index for viscous non rotating damping
21. number of cubic elements (flexural behaviour)
14
15
15
Part 2
General informations
2.1 Aims of the code
DYNROT is a tool for the dynamic analysis of rotating machines. Its main aim is
then to perform all the usual rotordynamics computations, such as the evaluation of
critical speeds and the plotting of the Campbell diagram.However, its ability to take
into account features as nonlinearities,deviations from axial symmetry of either the
rotor or the stator of the machine, damping and angular acceleration, allow to
simulate the dynamic behaviour of the machine in a detail much deeper than that
achieved in usual rotordynamic analysis. The effects of the flexibility of the discs
and of the blades are included: when they are introduced into the model, the stress
distribution in the disc due both to centrifugal and thermal stressing are computed, to
take into account also the stiffening (and then the increase of the natural frequencies)
due to the stress field.
Also the axial and the torsional behaviour of the system can be studied. In these
cases the stiffening of the discs and the blades due to the stress field are accounted
for. If the blades have their principal axes of inertia in directions other than axial and
tangential to the discs, a coupling between axial and torsional behaviour results. In
this case the code allows to study also the coupled torsional-axial dynamics. Note
that the results obtained from the uncopled torsional and axial study can be incorrect
in this case (warnings are issued if the uncoupled study is attempted).
Routines for the detailed study of the equivalent system for the study of the
torsional behaviour of reciprocating machines have been included in the present
release.
While building the model, the inertial properties (mass, moments of inertia and
co-ordinates of the centre of mass) of the whole model and of the various
substructures are computed, printed to the screen and in the diary file.
As the whole machine is made of different parts which can rotate at different
speeds, all outputs can be obtained for the various substructures separately. A
substructure is here defined as the assembly of all the parts which rotate at the same
spin speed. The spin speed is entered as rotation index: rotation index equal to zero
characterizes the nonrotating parts of the machine (stator); rotation index equal to 1
characterize all the parts of the machine rotating at the nominal speed. If the value of
the rotation index is , the spin speed is times the nominal speed.
Although it is possible, to use slightly different values of the rotating index (e.g.,
1 and 1.0000001 for parts rotating at the nominal speed) to obtain separate outputs
18
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.
Numbers in braces designate references listed in last section of the present guide.
18
19
of freedom, corresponding to the six real degrees of freedom commonly used for the
nodes of beam elements. Only nodes of type 1 are used for all elements except for
disc and row-of-blades elements. Suitable transition elements are provided to
connect elements which require nodes of different types.
A node of type 1 has 2 complex degrees of freedom related to displacements and
rotations in xz and yz planes, 1 real degree of freedom related to torsional rotation
and 1 real degree of freedom related to axial displacement. The two translational
degrees of freedom ux and uy are composed to produce the complex displacement z =
ux + i uy and the two rotational degrees of freedom x and y are composed to
produce the complex rotation = y + i x. The complex co-ordinates z and are
dealt with in the way real co-ordinates usually are.
A node of type 2 has 4 complex degrees of freedom related to displacements and
rotations in xz and yz planes, 1 real degree of freedom related to torsional rotation
and 2 real degrees of freedom related to axial displacement. For the flexural
behaviour they are a complex radial displacement (only the first harmonic of a
Fourier expansion of a non-axisymmetrical displacement), a complex axial
displacement (again the first harmonic of a Fourier expansion of a nonaxisymmetrical displacement); a complex circumferential displacement (first
harmonic) and the derivative of the axial displacement with respect to the radius,
which coincides with the slope of the inflected shape, as no shear deformation is
considered (first harmonic). The axial displacement (second degree of freedom) and
its derivative are divided by the radius to form a sort of rotation of the circumference
at the location of the node about one of its diameters.
For the torsional behaviour the real degree of freedom is the circumferential
displacement divided by the radius, i.e. the torsional rotation (zero order harmonic of
a Fourier expansion). For the axial behaviour they are a real axial displacement and
its derivative with respect to the radius (zero order harmonic).
A node of type 3 has 5 complex degrees of freedom related to displacements and
rotations in xz and yz planes, 2 real degrees of freedom related to torsional rotation
and 2 real degrees of freedom related to axial displacement. For the flexural
behaviour they are a complex radial displacement (only the first harmonic of a
Fourier expansion of a non-axisymmetrical displacement), a complex axial
displacement (again the first harmonic of a Fourier expansion of a nonaxisymmetrical displacement); a complex circumferential displacement (first
harmonic) and the derivatives of the axial and circumferential with respect to the
radius.
For the torsional behaviour the real degrees of freedom are the circumferential
displacement (zero order harmonic of a Fourier expansion) and its derivative with
respect to the radius, both divided by the radius. In a similar way, for the axial
behaviour they are a real axial displacement and its derivative with respect to the
radius (zero order harmonic).
A consequence of the use of the complex co-ordinates is the need to use mean
and deviatoric matrices in case of anisotropic systems; this has however its
advantages too, as it is easy to build an averaged model which can be used for firstapproximation studies [2]. Another consequence is the fact that gyropscopic
matrices are always symmetrical.
19
20
2.5 Units
All numerical quantities are expected to be introduced into the code using any
consistent system. Obviously the use of S.I. system is highly recommended and
consequently the most important units are expected to be:
length
density
ang. vel.
pressure
m
kg/m3
rad/s
Pa
mass
kg
stress
N/m2
frequency rad/s
force
angle
decay rate
N
rad
1/s
There is only one exception: in few cases angles are requested to be introduced
in degrees, as it is far more immediate for the user. In this case the user is explicitly
warned to do so in the present guide.
The user is explicitly warned not to use mm for lengths and N/mm2 for stresses
and Young's moduli: in this case the correct unit for densities would not be kg/mm3
but t/mm3, which could lead to misunderstandings.
20
Part 3
Elements
The element library of DYNROT code is particularly tailored for rotordynamics
applications; as a consequence many standard elements are not included and
specialized elements are present. In the present version there are 24 mechanical
elements and 2 control elements. They are:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
101
102
beam
tapered beam
spring
damper
mass
asymmetrical beam
asymmetrical spring
asymmetrical damper
asymmetrical mass
cubic spring
spring with clearance
magnetic bearing
asymmetrical magnetic bearing
8-coefficients bearing
8-coefficients bearing (speed dependent)
lubricated bearing
crank with piston
shaft-disc interface
flexible disc
disc-blade interface
flexible blade row
concentrated driving torque
disc-shaft interface
blade-disc interface
PID controller
general controller
The data concerning the element connectivity and some general characteristics
are given in ELEM matrix while those concerning the geometrical properties of the
element are given in GEOM matrix. In this way if some elements have the same
geometrical properties the latter can be listed only once.
22
Part 3: Elements
22
Part 3: Elements
23
23
24
Part 3: Elements
24
Part 3: Elements
25
25
26
Part 3: Elements
26
Part 3: Elements
27
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
31
32
Part 3: Elements
F = 0
F = k (x + c )
if
if
x>c
c < 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.
The data to be introduced in matrix ELEM are
11
Type
number of the node at one end
N1
number of the node at the other end (0 if grounded)
N2
0
N3
0
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
not needed (0)
Material
not needed (0).
Rotation index
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (11) (reference to matrix ELEM)
Column 2
stiffness for translations in x (y) direction
Column 3
clearance for translations in x (y) direction
Column 4
stiffness for torsional rotations
Column 5
clearance for torsional rotations
Column 6
stiffness for translations in z direction
Column 7
clearance for translations in z direction
Column 8
No data need to be introduced in matrix MATER
32
Part 3: Elements
33
and two displacement sensors measuring the displacements in the same directions.
The sensors can be located in nodes different from those in which the actuators
are located.
The degrees of freedom related to displacements of the nodes at both actuator
and sensor locations must be defined as master degrees of freedom.
A bias current is given to linearize the characteristics of the actuator.
The data to be introduced in matrix ELEM are
12
Type
number of the node at one end of the actuator
N1
number of the node at the other end of the actuator (0 if
N2
grounded)
number of the node at one end of the sensor
N3
number of the node at the other end of the sensor (0 if grounded)
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
not needed (0)
Material
not needed (0)
Rotation index
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (12) (reference to matrix ELEM)
Column 2
coefficient k in the expression of the force of the actuator
Column 3
nominal air gap in the actuator
Column 4
bias current
Column 5
gain of the sensor (voltage/displacement)
Column 6
time constant of the sensor
Column 7
gain of the power amplifier (current/voltage)
Column 8
time constant of the power amplifier
Column 9
number of the geometry of the controller
Column 10
No data are to be introduced in matrix MATER
33
34
Part 3: Elements
F = kx (I / u )
and two displacement sensors measuring the displacements in the same directions.
The sensors can be located in nodes different from those in which the actuators
are located.
The degrees of freedom related to displacements of the nodes at both actuator
and sensor locations must be defined as master degrees of freedom.
Different bias currents can be given to linearize the characteristics of the actuator
in the two radial planes.
The data to be introduced in matrix ELEM are
13
Type
number of the node at one end of the actuator
N1
number of the node at the other end of the actuator (0 if
N2
grounded)
number of the node at one end of the sensor
N3
number of the node at the other end of the sensor (0 if grounded)
N4
number of the type of geometry (reference to matrix GEOM)
Geometry
needed (0)
Material
not needed (0)
Rotation index
Data to be introduced in matrix GEOM
number of the geometry (reference to matrix ELEM)
Column 1
code of the element type (13) (reference to matrix ELEM)
Column 2
coefficient k in the expression of the force of the actuator (x
Column 3
direction)
nominal air gap in the actuator (x direction)
Column 4
static displacement in the actuator (x direction)
Column 5
bias current (x direction)
Column 6
static compensation current (x direction)
Column 7
Class index (1= class A; 2= class B) (x direction)
Column 8
angle between a rotating x -axis of the whole rotor and a similar
Column 9
axis of the actuator (expressed in degrees)
Column 10
gain of the sensor (voltage/displacement) (x direction)
Column 11
time constant of the sensor (x direction)
Column 12
gain of the power amplifier (current/voltage) (x direction)
Column 13
time constant of the power amplifier (x direction)
34
Part 3: Elements
Column 14
Column 15
Column 16
Column 17
Column 18
Column 19
Column 20
Column 21
Column 22
Column 23
Column 24
Column 25
Column 26
35
35
36
Part 3: Elements
36
Part 3: Elements
37
37
38
Part 3: Elements
38
Part 3: Elements
39
39
40
Part 3: Elements
40
Part 3: Elements
Column 6
Column 7
Column 8
Column 9
41
41
42
Part 3: Elements
42
Part 3: Elements
43
43
44
Part 3: Elements
44
Part 3: Elements
Column 8
Column 9
Column 10
Column 11
45
45
46
Part 3: Elements
46
Part 3: Elements
47
si t
i =1
47
48
Part 3: Elements
48
Part 3: Elements
49
49
50
Part 3: Elements
50
Part 3: Elements
Column 6
Column 7
Column 8
Column 9
Column 10
Column 11
51
51
52
Part 3: Elements
1
u (t ) = k c 1 +
Ti
e(u)du + T
t
de(t )
dt
where e(t) is the error and u(t) is the controller output (control signal).
The equivalent frequency representation takes into account the pole necessary to
make the derivative filter feasible
sTd
U ( s)
1
= PID( s ) = 1 +
+
E ( s)
sT
1
+
sT
/
N
i
d
where kc is the overall gain, Ti is the reset time, Td is the prediction or derivative
time and N is the ratio between zero and pole of the PD section.
The filter on sensor output has the following transfer function
F ( s) =
1
s + 1
52
Part 3: Elements
53
bn s n + bn 1s n 1 + bn 2 s n 2 + K + b0
s n + an 1s n 1 + a n 2 s n 2 + K + a0
No data need to be introduced in matrix ELEM, as the element does not appear
in the element list.
Data to be introduced in matrix GEOM
number of the geometry (no reference to matrix ELEM;
Column 1
reference to matrix GEOM at the line of the magnetic bearing
element)
code of the element type (102) (no reference to matrix ELEM)
Column 2
degree n of the polynomial in s at the denominator of the transfer
Column 3
function. There are n + 1 coefficients in the numerator and n + 1
coefficients in the denominator. The number of column of matrix
GEOM are then 5+ 2n; if some coefficients are not present, zeros
must be entered
coefficient bn (numerator)
Column 4
coefficient bn-1 (numerator)
Column 5
coefficient .... (numerator)
Column
coefficient b0 (numerator)
Column 4+n
coefficient an (denominator)
Column 5+n
coefficient an-1 (denominator)
Column 6+n
coefficient ... (denominator)
Column
coefficient a0 (denominator)
Column 5+2n
No data are to be introduced in matrix MATER
53
Part 4
Bearings
Some functions related to the modelling of lubricated bearings are described in
this section.
Lubricated bearings are modelled using the linearized approach usually referred
to as 8-coefficients bearings. There are three elements which can be used: elements
14, 15 and 16.
The simplest alternative is to use element 14, a fixed-parameters 8-coefficients
bearing. The model is completely linearized and all types of analysis can be
performed.
A more detailed modelling can be obtained using element 15, a speed-dependent
8-coefficients bearing. The four components of the stiffness and damping matrices
must be specified at a number of values of the speed and are interpolated for
intermediate values. The model is again completely linearized and all types of
analysis can be performed, except the computation of the critical speed.
Element 16, referred to as a lubricated bearing element is more complete. It
allows to model realistically lubriceted bearings of any type, provided that the
eccentricity, the attitude angle and the eight coefficients (four components of the
stiffness and four components of the damping matrices) are known functions of the
Sommerfeld number. The element is used by programs which compute the working
conditions of the bearings by solving a nonlinear static problem and then linearize
the behaviour of the bearing about the static equilibrium position using the 8coefficients approach. Only the Campbell diagram and the unbalance response can
be computed through the linearized analysis.
The data are introduced in the form of a table, which is stored in a file separated
from that containing the data of the rotor: in this way a library of bearings can be
built and the various bearings can be included in any model. The table has the form
described in detail in [4] and all its entries are nondimensional parameters.
The first column contains the Sommerfeld number, the second the eccentricity
and the third the attitude angle in degrees.
The eight stiffness coefficents, in nondimensional form, are stored in columns
from 7 to 10 while the four damping nondimensional coefficients in columns from
11 to 14.
Columns 4, 5, 6 are introduced to be consistent with the tables in [4] and contain
data related with the flow and the power dissipation: as they are not used in the
present version of the code a zero can be entered. They must be however present in
the table.
56
Part 4: Bearings
Some bearing files are included in the DYNROT 8.3 diskette: the user can refer
to them to create other files using any editor. Three program which can be used to
create data files for bearings and to visualize their content are listed below. A fourth
program allows to compute the displacements which must be given to the bearings
in order to align the various components of a rotor made of several units to allow the
joints to work properly when a static load is given.
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:
{q2 }
[K11 ]
[K 21 ]
[K12 ]
[K 22 ]
60
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
61
61
62
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 (494) in [1], page 333
([K ] +
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
64
65
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
68
69
nsub
code of problem
number of first mode to be plotted
number of last mode to be plotted
options (default value 0)
-2: 3-D plot (only beam elements, only master dof)
-1: 3-D plot (only beam elements, all dof)
0: 2-D plot
positive: node number for plotting orbit
number of substructure to be plotted ( 0 = all) (default value 0)
(for orbits, 0 = fixed frame; 1 = rotating frame)
69
Part 8
Solution programs: unbalance response
Functions
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
72
nhar
code of problem
[rad/s] first value of spin speed
[rad/s] second value of spin speed
[rad/s] spin speed increment
[0/3] options (default value 0)
0: axisymmetrical analysis
1: analysis with nonsymmetrical stator
2: analysis with nonsymmetrical rotor
3: analysis with nonsymmetrical stator and rotor
4: nonlinear analysis, symmetrical system
number of harmonics, if state = 3 (dafault value 3)
72
containing:
antype = 0 (unbalance response)
UNBRES : matrix containing the unbalance response. Each
line contains the response at each value of the speed. First
column: spin speed; second column: driving torque (only if
state = 0); subsequent columns: the displacement vector
transposed. @ = state.
73
code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
[0/1] options (default value 0)
0: proportionally damped, computation at all dof
1: damped, computation at all dof
CRSPEED.###
containing:
antype = 0 (unbalance response)
UNBRES: matrix containing the unbalance response (see
function DYNUNBAL).
containing:
neig: number of critical speeds
OMCR: vector with critical speeds
EIGV: matrix of eigenvectors
73
74
Code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
74
75
code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
75
76
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
78
78
79
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
[K ] i [Cr ]){q0 } = 0
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].
82
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
83
npair
state
nhar
code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
[0/1/2/3] options (default value 0)
0: axisymmetrical analysis
1: analysis with nonsymmetrical stator
2: analysis with nonsymmetrical rotor
3: analysis with nonsymmetrical stator and rotor
maximum number of eigenvalue pairs searched
[0/1] options (default value 0)
0: recording eigenvalues
1: recording eigenvalues and eigenvectors
number of harmonics (default value 3)
83
84
npair
state
nhar
code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
[0/1/2/3] options (default value 0)
0: axisymmetrical analysis
1: analysis with nonsymmetrical stator
2: analysis with nonsymmetrical rotor
3: analysis with nonsymmetrical stator and rotor
maximum number of eigenvalue pairs searched
[0/1] options (default value 0)
0: recording eigenvalues
1: recording eigenvalues and eigenvectors
number of harmonics (default value 3)
84
85
code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
maximum number of eigenvalue pairs searched
[1/2/3/4] (default value 2)
proportional gyroscopic effect and damping
1: recording eigenvalues on file
2: recording eigenvalues and eigenvectors on file
iterative
3: recording eigenvalues on file
4: recording eigenvalues and eigenvectors on file
85
86
code of problem
[rad/s] first value of spin speed
[rad/s] second value of spin speed
[rad/s] absolute value of spin speed increment
maximum number of eigenvalue pairs searched
[0/1] options (default value 0)
0: recording eigenvalues
1: recording eigenvalues and eigenvectors
86
87
code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
number of modes
maximum number of eigenvalue pairs searched
[0/1] options (default value 0)
0: recording eigenvalues on file
1: recording eigenvalues and eigenvectors on file
87
88
code of problem
[%] minimum gain
[%] maximum gain
[%] gain increment
number of modes
[rad/s] spin speed (default value 0)
number of bearing whose gain is altered (0=all) (default value 0)
88
89
nsub
code of problem
mode to be plotted (positive = forward; negative = backward)
speed (negative = all)
options (default value 0)
-2: 3-D plot (only beam elements, only master dof)
-1: 3-D plot (only beam elements, all dof)
0: 2-D plot
positive: node number for plotting orbit
number of substructure to be plotted ( 0 = all) (default value 0)
(for orbits, 0: fixed frame; 1: rotating frame)
code of problem
[rad/s] minimum of omega scale
[rad/s] maximum of omega scale
[rad/s] minimum of lambda scale (default value -ommax)
[rad/s] maximum of lambda scale (default value ommax)
[1/s] minimum of decay rate scale (default value 0)
[1/s] maximum of decay rate scale (default value 0)
89
90
90
code of problem
minimum of real part of s
maximum of real part of s
minimum of imaginary part of s
maximum of imaginary part of s
Part 11
Solution programs: torsional analysis
Functions
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
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).
92
93
code of problem
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
[0/1] options (default value 0)
0: simple model
1: advanced model
93
94
code of problem
[rad/s] speed at initial time.
initial time for integration
final time for integration
number of modes (default value 2)
94
95
code of problem
nmber of harmonics (0 = fixed moment of inertia)
[rad/s] minimum spin speed
[rad/s] maximum spin speed
[rad/s] spin speed increment
maximum number of eigenvalues (default value 10)
95
96
nsub
code of problem
number of first mode to be plotted
number of last mode to be plotted
[0/1] options (default value 0) *
0: only beam elements, disp. plotted in x direction
1: disc and blade elements
number of substructure to be plotted ( 0 = all) (default value
number of disc (only if state = 1) (default value 1)
nsub
numdisc
96
code of problem
number of mode to be plotted
speed
[0/1] options (default value 0)
0: only beam elements, disp. plotted in x direction
1: disc and blade elements
number of substructure to be plotted ( 0 = all) (default value 0)
number of disc (only if state = 1) (default value 1)
97
97
98
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
100
101
101
102
nsub
code of problem
number of first mode to be plotted
number of last mode to be plotted
[0/1] options (default value 0) *
0: only beam elements, disp. plotted in x direction
1: disc and blade elements
number of substructure to be plotted ( 0 = all) (default value
number of disc (only if state = 1) (default value 1)
nsub
102
code of problem
number of mode to be plotted
speed
[0/1] options (default value 0)
0: only beam elements, displacements plotted in x direction
1: disc and blade elements
number of substructure to be plotted (0 = all) (default value 0)
number of disc (only if state = 1) (default value 1)
Part 13
Solution programs: torsional-axial natural
frequencies
Functions
104
104
105
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).
108
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST1\.
dynprep(filename,datapath)
DYNPREP M-file is run to build the model.
dyncrit('ts1',0,2,1)
Function DYNCRIT is called to compute the main critical speeds of the
linearized system. Only one value, equal to 1, is obtained, although 2 are requested.
dynunbal('ts1',0,3,.001,0,0)
Function DYNUNBAL is called to compute the unbalance response of the
linearized system, from 0 to 3 rad/s, with a speed increment of 0.01 rad/s. Note that
in the data a static unbalance with an eccentricity of 1 m is given; this has the
meaning of a unit eccentricity.
dynunbal('ts1',0,3,.001,4,0)
dynunbal('ts1',3,0,.001,4,0)
Function DYNUNBAL is called to compute the unbalance response of the
nonlinear system, from 0 to 3 rad/s, with a speed increment of 0.001 rad/s. The
subroutine is called twice, to perform the computation while spinning up and
spinning down the rotor. Note that in the data a static unbalance with an eccentricity
of 1 m is given.
dynaccel('ts1',1,0)
Function DYNACCEL is called to compute the acceleration response. The time
history defined in the data file includes an acceleration, from 0 to 3 rad/s, a steadystate operation and a subsequent deceleration.
unplt('ts1',0,0,1,0,0,3)
Function UNPLT is called to plot the acceleration response at node 1 (the only
one existing). A linear plot is requested.
accplot('ts1',0,1,0,0,700)
accplot('ts1',3,1)
Function ACCPLOT is called to plot the acceleration response at node 1 (the
only one existing) as a function of time. A linear plot is requested. It is then called
again to plot the orbit in the rotating frame.
dyncamp('ts1',0,3,.5,0,1,1,0)
Function DYNCAMP is called to plot a the Campbell diagram from 0 to 3 rad/s,
108
109
109
110
Function CRITPLT is called again twice to plot the first two mode shapes in the
form of a 3-D plot.
dynunbal('ts2',0,5000,10,0,0)
Function DYNUNBAL is called to compute the unbalance response, from 0 to
5000 rad/s, with a speed increment of 10 rad/s. Note that in the data a static
unbalance with an eccentricity of 1 m is given to the centre of gravity of the
compressor.
unplt('ts2',0,0,3,1,0,5000)
unplt('ts2',0,1,0,1,0,5000)
Function UNPLT is called to plot the unbalance response at node 3 (centre of
gravity of the compressor) and then called again to plot the driving torque needed to
run the rotor at constant speed against the losses due to unbalance. Note that the
torque is vanishingly small due to the small effect of nonrotating damping applied to
very stiff bearings. Logarithmic plots are requested.
unplt('ts2',0,6,3,4000,0,0)
unplt('ts2',0,7,4000,0,-1,0)
Function UNPLT is called again to plot the orbit at node 3 at 4000 rad/s (in the
fixed frame) and the inflected shape at the same speed as a 3-D plot.
forces('ts2',0,2000,0)
Function FORCES is called to compute the forces on the elements at 2000 rad/s.
No specific diary file is given, to avoid closing the diary file DYNROT.LOG.
dyntrans('ts2','tt2')
Function DYNTRANS is called to generate a model (with code tt1) with
equivalent viscous damping
dynaccel('tt2',2,0)
Function DYNACCEL is called to compute the acceleration response, from 0 to
3000 rad/s, with an angular acceleration of 1000 rad/s2 (as stated in the time history
included in the data file). Note that in the data a static unbalance with an eccentricity
of 1 m is given to the centre of gravity of the compressor. Note that this stage of
the computation can be quite time consuming, particularly for slow machines. It is
suggested to skip it in a first attempt to run the test case.
unplt('tt2',0,0,3,1,0,3000)
110
111
forces('tt2',2,2.5,0)
Function UNPLT is called to plot the acceleration response at node 3 (centre of
gravity of the compressor). A logarithmic plot is requested. Function FORCES is
then called for the computation of the forces in the elements at time = 2.5 s.
dyncamp('ts2',0,5000,500,0,3,1,0)
camplt('ts2',1,-1,0)
camplt('ts2',1,3000,0)
Function DYNCAMP is called to plot a the Campbell diagram from 0 to 5000
rad/s, with increments of 500 rad/s with 3 pair of modes (3 forward and 3 backward
modes. Function CAMPLT is then called twice to plot the first mode shape at the
various speeds and then at 3000 rad/s only.
diary off
The diary file DYNROT.LOG is closed.
111
112
112
113
diary off
The diary file DYNROT.LOG is closed.
113
114
called to plot the static deflection at node 3 as a function of the speed and the
inflected shape (in 3-D).
camplt1('ts4',0,3000,-3000,3000,-100,300)
rootplt('ts4',-300,100,-3000,3000)
camplt('ts4',4,3000,-1,0)
Function CAMPLT1 is called to plot the real and imaginary parts of the
Campbell diagram. The roots locus is obtained from function ROOTPLT. The mode
shape for the fourth mode is plotted using function CAMPLT.
diary off
The diary file DYNROT.LOG is closed.
114
115
115
116
Just a remark. The following instructions are related to the model with isotropic
rotor and nonisotropic stator.
dyncrit('ts5',1,3,0)
Function DYNCRIT is called to compute the main critical speeds and the
corresponding mode shapes of the system with nonsymmetrical stator. The values of
the critical speeds are recorded in the diary file DYNROT.LOG.
critplt('ts5',1,1,0,0)
critplt('ts5',1,1,-1,0)
critplt('ts5',1,1,2,0)
critplt('ts5',1,1,2,1)
Function CRITPLT is called to plot the first mode shape
dynunbal('ts5',0,3,.05,1,0)
unplt('ts5',1,0,2,0,0,3)
unplt('ts5',1,6,2,-1,0,0)
unplt('ts5',1,6,2,1,0,0)
unplt('ts5',1,6,2,1,1,0)
unplt('ts5',1,7,-1,0,0)
unplt('ts5',1,7,1,0,-1,0)
unplt('ts5',1,7,1,0,0)
Function DYNUNBAL computes the unbalance response and function UNPLT
is called to plot it.
dyncamp('ts5',0,3,.1,1,2,1,0)
camplt1('ts5',0,3,0,4,0,0)
camplt('ts5',1,1,2,0)
camplt('ts5',1,1,-1,0)
Function DYNCAMP is called to plot the Campbell diagram for values of the
nondimensional speed from 0 to 3, with increments of 0.1 for the system with
nonsymmetrical stator. The plot is the same reported in fig. 4b in [2]. Function
CAMPPLT1 is called to plot the Campbell diagram with a different scale for the
whirl speed, to match exactly the figure in [2]. Then function CAMPLT is called to
plot the first mode shape.
% nonisotropic rotor
Just a remark. The following instructions are related to the model with
nonisotropic rotor and isotropic stator.
dyncrit('ts5',2,0)
critplt('ts5',1,1,0,0)
critplt('ts5',1,1,-1,0)
116
117
critplt('ts5',1,1,2,0)
critplt('ts5',1,1,2,1)
Function DYNCRIT is called to compute the main critical speeds and the
corresponding mode shapes of the system with nonsymmetrical rotor. The values of
the critical speeds are recorded in the diary file DYNROT.LOG. Function CRITPLT
is called to plot the first mode.
dynunbal('ts5',0,3,.05,2,0)
unplt('ts5',2,0,2,0,0,3)
unplt('ts5',2,6,2,-1,0,0)
unplt('ts5',2,6,2,1,0,0)
unplt('ts5',2,6,2,1,1,0)
unplt('ts5',2,7,-1,0,0)
unplt('ts5',2,7,1,0,-1,0)
unplt('ts5',2,7,1,0,0)
Function DYNUNBAL computes the unbalance response and function UNPLT
is called to plot it.
dyncamp('ts5',0,3,.05,2,10,1,0)
camplt1('ts5',0,3,-4,4,-.4,.4)
camplt('ts5',1,1,2,0)
camplt('ts5',1,1,-1,0)
Function DYNCAMP is called to plot the Campbell diagram for values of the
nondimensional speed from 0 to 3, with increments of .05 for the system with
nonsymmetrical rotor. 10 pairs of eigenvalues are asked. A finer pitch is advisable
here to obtain a better definition of the plot. The plot is the same reported in fig. 5 in
[2]. Function CAMPLT1 is then called to plot the real and imaginary parts of the
Campbell diagram with different scales, to match exactly the figure in [2]. The
negative values of the decay rate indicate the unstable ranges of the system. Then
function CAMPLT is called to plot the first mode shape.
% nonisotropic stator and rotor
Just a remark. The following instructions are related to the fully anisotropic
model.
dyncrit('ts5',3,6,2)
critplt('ts5',4,4,0,0)
critplt('ts5',4,4,-1,0)
critplt('ts5',4,4,2,0)
critplt('ts5',4,4,2,1)
Function DYNCRIT is called to compute the main critical speeds and the
corresponding mode shapes of the system with nonsymmetrical rotor and stator. The
number of harmonics considered is 2. The values of the critical speeds are recorded
in the diary file DYNROT.LOG. Function CRITPLT is called to plot the first mode.
117
118
118
119
clear
filename = 'test6';
datapath = 'c:\dynrot\test6\';
The M-file containing the data is TEST6.M; the jobcode is TS6 and the path for
results is C:\DYNROT\TEST6\.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST6\.
dynprep(filename,datapath)
DYNPREP M-file is run to build the model.
dyntors('ts6')
torsplt('ts6',1,1,0,0)
torsplt('ts6',2,2,0,0)
torsplt('ts6',3,3,0,0)
Function DYNTORS is called to compute the torsional natural frequencies and
the corresponding mode shapes. The values of the natural frequencies are recorded
in the diary file DYNROT.LOG. Function TORSPLT is called 3 times to plot the
first 3 mode shapes.
fortors('ts6',100,700,5,0)
ftplt('ts6',2,4,0,0,700,1.79e-5)
Function FORTORS is called to compute the torsional response between 100 and
700 rad/s, with an increment of 5 rad/s. Function FTPLT is called to plot the shear
stress in the fourth element as a function of the speed. The parameters chosen are 2
(shear stress plot), 4 (number of element), 0 (linear plot), 0,700 (minimum and
maximum speed scale) and 1.79e-5 (section modulus).
diary off
The diary file DYNROT.LOG is closed.
119
120
The M-file containing the data is TEST7.M; the jobcode is TS7 and the path
for results is C:\DYNROT\TEST7\.
eval (['delete ' datapath 'dynrot.log']);
eval (['diary ' datapath 'dynrot.log']);
These instructions delete the old diary file and prepare a new one. The diary file
is named DYNROT.LOG and is created in the directory C:\DYNROT\TEST7\.
dynprep(filename,datapath)
DYNPREP M-file is run to build the model.
dynplot('ts7',0)
Function DYNPLOT is called to plot a sketch of the model.
dyncrit('ts7',0,6,1)
critplt('ts7',1,1,0,0)
critplt('ts7',2,2,0,0)
critplt('ts7',3,3,0,0)
Function DYNCRIT is called to compute the first 6 main critical speeds and the
corresponding mode shapes. The values of the critical speeds are recorded in the
diary file DYNROT.LOG. Function CRITPLT is then called three times to plot the
first three mode shapes.
dyncamp('ts7',0,5000,500,0,4,1,0)
camplt('ts7',3,0,0)
camplt('ts7',3,5000,0)
Function DYNCAMP is called to plot a the Campbell diagram from 0 to 5000
rad/s, with increments of 500 rad/s and then Function CAMPLT is called twice to
plot the third mode shape at standstill and at 5000 rad/s.
dynta('ts7',8)
torsplt('ts7',3,3,0,0,0)
torsplt('ts7',3,3,1,0,13)
axplt('ts7',3,3,0,0)
axplt('ts7',3,3,1,0)
Function DYNTA is called to compute the coupled torsional-axial natural
frequencies at standstill (8 modes are requested) and the the torsional and axial
120
121
components of the third mode shape are plotted using TORSPLT and AXPLT
functions.
diary off
The diary file DYNROT.LOG is closed.
121
122
These lines define a loop in which the proper value of stiffness is introduced in
k, function DYNPREP is called with the added parameter to be passed later to the
program defining the model, function DYNCRIT is called to compute the first 3
critical speeds. The file in which the critical speeds are stored is then loaded and the
critical speeds are stored in the lines of matrix RES, containing the results.
figure
for in = 1 :2
semilogx(stiffness,RES(:,in)*30/pi)
hold on
end
xlabel('Stiffness (N/m)')
ylabel('Critical speeds (rpm)')
title('Test 8 - Critical speeds versus stiffness')
hold off
drawnow
The first two critical speeds are plotted on a semilog plot against the stiffness of
the bearings and the proper labels are written.
diary off
The diary file DYNROT.LOG is closed.
122
References
123
References
[1] Genta G.Vibration of structures and machines, III edition, Springer, New York,
1999.
[2] Genta G.: Whirling of Unsymmetrical Rotors, a Finite Element Approach Based
on Complex Coordinates, Journal of Sound and Vibration, 124(1), 1988, p. 2753
[3] Genta G., Gugliotta A.: A Conical Element for Finite Element Rotor Dynamics,
Journal of Sound and Vibration, 120(2), 1988, p.175-182.
[4] Someya T. (editor): Journal Bearing Databook, Springer, Tokyo, 1988.
[5] Genta G., Vatta F: A Lubricated Bearing Element for FEM Rotor Dynamics, IX
IMAC, Firenze, april 1991.
[6] Genta G., Delprete C.: Acceleration through critical speeds of an anisotropic,
nonlinear, torsionally stiff rotor with many degrees of freedom, to be published.
[7] Genta G., De Bona F.: Unbalance Response of Rotors: a Modal Approach with
some Extensions to Damped Natural Systems, Journal of Sound and Vibration,
140(1), p. 129-153.
[8] Genta G., Repaci A., Briacca I.: Iterative Techniques for Computation of the
Unbalance Response of Multi-degrees of Freedom Nonlinear Rotors, III
International Conf. Rotordynamics, Lyon, september 1990.
[9] Genta G., Delprete C., Tonoli A., Vadori R.: Conditions for Noncircular
Whirling of Nonlinear Isotropic Rotors, Journal of Nonlinear Dynamics, 1993,
Vol 4, p. 153-181.
[10] Genta G.: A Fast FEM Technique for the Computation of the Campbell
Diagram of Multi-Degrees of Freedom Rotors, Journal of Sound and Vibration,
155(3), 1992, p. 385-402.
[11] Genta G., Delprete C.: Acceleration Through Critical Speeds of an Anisotropic,
Nonlinear, Torsionally Stiff Rotor with Many Degrees of Freedom, Journal of
Sound and Vibration, 180(3), 1995, p. 369-386.
[12] Genta G., Tonoli A.: A Harmonic Finite Element for the Analysis of Flexural,
Torsional and Axial Rotordynamic Behaviour of Discs, Journal of Sound and
Vibration, 196(1), 1996, p. 19-43.
[13]. Genta G., Tonoli A.: A Harmonic Finite Element for the Analysis of Flexural,
Torsional and Axial Rotordynamic Behaviour of Bladed Arrays, Journal of
Sound and Vibration, 207(5), 1997, pp. 693-720.
123