SSMtool Manual
SSMtool_manual
User Manual:
Open the PDF directly: View PDF
.
Page Count: 15

SSMtool: A short guide
S. Ponsioen & G. Haller
Nonlinear Dynamics Group
Institute for Mechanical Systems

SSMtool: A short guide
S. Ponsioen ·G. Haller
March 1, 2019
S. Ponsioen ( ) ·G. Haller
Institute for Mechanical Systems, ETH Zürich, Leonhardstrasse 21, 8092, Zürich, Switzerland
E-mail: stenp@ethz.ch

SSMtool: A short guide 3
Contents
1 Introduction.................................................. 4
1.1 Download ssmtool ........................................... 5
1.2 Installation ............................................... 5
2 How to use ssmtool.............................................. 6
2.1 Loading a mechanical system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Selecting the spectral subspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 SSMcomputation............................................ 9
2.4 Parameterization/Backbone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Integrate trajectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.6 Invarianceerror............................................. 14
2.7 Plotoptions............................................... 14
3 Finalremarks................................................. 15

4 S. Ponsioen, G. Haller
1 Introduction
ssmtool is a matlab-based computational tool for computing two-dimensional spectral sub-
manifolds (SSMs) in nonlinear mechanical systems with arbitrary degrees of freedom. ssmtool is
intended for researchers and students who are interested in extracting key-information, such as
reduced-order models or backbone curves from a nonlinear, dissipative mechanical system with
a potentially large number of degrees of freedom. The software achieves this without using any
numerical integration or numerical continuation techniques, purely based on a reduction to SSMs.
SSMs where first introduced by Haller and Ponsioen [1] as the smoothest nonlinear contin-
uations of modal subspaces of the linearized system, providing mathematically exact reduced
models for the nonlinear system (cf. Ponsioen et al. [2, 3], Breunung and Haller [4] and Jain
and Haller [5]). More specifically, let us consider n-degree-of-freedom, autonomous mechanical
systems of the form
M¨
y+C˙
y+Ky +g(y,˙
y) = 0,g(y,˙
y) = O|y|2,|y| | ˙
y|,|˙
y|2,(1.1)
where y∈Rnis the generalized position vector; M=MT∈Rn×nis the positive definite mass
matrix; C=CT∈Rn×nis the damping matrix; K=KT∈Rn×nis the stiffness matrix and
g(y,˙
y)denotes all the nonlinear terms in the system. These nonlinearities are assumed to be
analytic for simplicity. Additionally, we require that the trivial fixed point of system (1.1) is
asymptotically stable.
Under appropriate non-resonance conditions, we can construct a two-dimensional autonomous
SSM, W(E), over a chosen spectral subspace Eas an embedding of a two-dimensional open set U
into the full phase space of the system via a mapping W(z). This mapping is approximated in a
neighborhood of the origin using a Taylor expansion in the parameterization coordinates z∈C2.
Additionally, there exists a polynomial function R(z)representing the reduced dynamics on the
SSM via
˙
z=R(z).(1.2)
By introducing a change to polar coordinates, eq. (1.2) can be rewritten as
˙ρ=a(ρ), Ω =˙
θ=b(ρ),(1.3)
where we refer to section 5.2 of Ponsioen et al. [2] for a detailed explanation of this derivation.
In other words, using SSM theory we are able to reduce the n-degree-of-freedom system (1.1)
to the two ordinary differential equations in (1.3). Additionally, as can be seen in eq. (1.3), the ˙
θ-
equation provides a direct relationship between the amplitude ρand the instantaneous frequency
Ω. This relationship is generally called the backbone curve, corresponding to a given mode. We
illustrate this concept in Figure 1.1.
ssmtool is designed to construct the Taylor approximations of the autonomous SSM W(z)
and the reduced dynamics R(z)in an automated fashion. The graphical user interface (GUI)
of ssmtool allows the user to import/define their nonlinear mechanical system and compute the
SSM over an arbitrarily chosen spectral subspace under appropriate non-resonance conditions.
The software then computes the reduced dynamics up to any predicted order of accuracy and
determines the associated backbone curves from the reduced dynamics on the SSM without any
further user input.

SSMtool: A short guide 5
Observed forced response
under external forcing with
frequency .
Fig. 1.1: Illustration of the backbone curve construction using the parameterized autonomous
SSM. For each fixed radius ρ0on the SSM, we can identify an instantaneous frequency Ω(ρ0)
from the reduced system on the SSM, which, subsequently, will represent a point on the damped
backbone curve.
1.1 Download ssmtool
This software is made public for research use only. It may be modified and redistributed under
the terms of the GNU General Public License. ssmtool can be downloaded from the Haller Group
software page at the ETH Zürich:
http://www.georgehaller.com
ssmtool requires matlab R2016b or newer. This code may be improved and is subject to change.
1.2 Installation
To install ssmtool, unzip the source code into a local directory. In matlab, change the current
matlab folder to the ssmtool folder.

6 S. Ponsioen, G. Haller
2 How to use ssmtool
After installing ssmtool, type “SSM” in the matlab command window to open the graphical
user interface. The graphical user interface shown in Figure 2.1 is displayed.
Fig. 2.1: Overview of the graphical user interface of ssmtool.
2.1 Loading a mechanical system
To load an autonomous mechanical system into ssmtool, there is a total of three options. The
first option is to load a predefined mechanical system from the drop-down list in the top-left
corner of the GUI, as shown in Figure 2.2 (a). The systems listed here have been analyzed, using
ssmtool, in the work of Ponsioen et al. [2] and consist out of a two-degree-of-freedom nonlinear
mass-spring-damper system with a near-inner resonance and a near-outer resonance respectively,
and, additionally, a discretized clamped nonlinear Timoshenko beam having a 32-dimensional
phase space. A graphical illustration of both systems is shown in Figure 2.3.

SSMtool: A short guide 7
(a) (b)
Fig. 2.2: (a) You can load a predefined mechanical system from the drop-down list or load a
custom mechanical system from a .mat file. (b) Additionally, you can manually enter a mechanical
system in the predefined input windows.
The second option is to define your mechanical system in the predefined input windows as
shown in Figure 2.2 (b). Here, you are asked to specify the position and velocity vectors, then
indicate if the system is conservative or non-conservative, specify the mass, damping and stiffness
matrices, the nonlinear force vector and the scaling factor of the transformation matrix containing
the eigenvectors of the linearized system at the trivial fixed point. The manually entered system
can be saved to a .mat file by using the Save button and loaded back into ssmtool for future
use by using the Browse file button.
The third and last option available is to load a custom mechanical system from a .mat file
containing the variables listed in Table 2.1, where the "conservative" variable is either 0or 1to
indicate if the system is non-conservative or conservative, respectively. The "scaling" variable,
mentioned above, can be used to scale the eigenvectors of the system and can be any positive
value. The .mat file can be loaded by using the Browse file button shown in Figure 2.2 (a).

8 S. Ponsioen, G. Haller
ϕy
L
h
u0
nonlinear Timoshenko beam
zϕy
Fig. 2.3: Graphical illustration of the predefined mechanical systems in ssmtool. You can load
the modified Shaw-Pierre example as explained in section 7.1 and 7.2 of Ponsioen et al. [2] or
load the discretized clamped nonlinear Timoshenko beam from section 7.3 of [2].
Table 2.1: Required variables and variable names to load a .mat file into ssmtool.
Variable name Class
Mass matrix Mn×ndouble
Damping matrix Cn×ndouble
Stiffness matrix Kn×ndouble
Nonlinear force vector fn×1sym
Position vector xn×1sym
Velocity vector xd n×1sym
Conservative constant conservative integer or double
Scaling constant scaling double
2.2 Selecting the spectral subspace
After specifying an autonomous mechanical system, press Analyze to extract the eigenvalues
of the system (see Figure 2.4 (a)). Select a two-dimensional spectral subspace E, by selecting a
pair of complex conjugate eigenvalues and pressing the Select button, as shown in Figure 2.4
(b). ssmtool will calculate the spectral quotient σ(E), which indicates the minimum order of the
Taylor expansion needed to be able to the capture the unique SSM. Additionally, ssmtool will
check if the outer non-resonance conditions (equation (9) in Ponsioen et al. [2]) are satisfied in
order to guarantee that the SSM of interest exists (see Figure 2.4 (b)). In case of a lightly damped
spectral subspace E,ssmtool will check for near inner-resonances (see section 5.2 in Ponsioen et
al. [2]), up to the order dictated by the spectral quotient.

SSMtool: A short guide 9
(a) (b) (c)
Fig. 2.4: (a) Analyzing the spectrum of the linearized system at the trivial fixed point. (b)
Selecting a two-dimensional spectral subspace E. (c) Specifying the order of the Taylor expansions
and choosing the desired output coordinates.
2.3 SSM computation
You are now required to specify the order of the Taylor expansion and select if the output
coordinates of the SSM should be in modal, physical or complex coordinates. The "Check for
higher-order internal resonances" checkbox is there to specify if ssmtool should check for near
internal-resonances up to the order of expansion instead of the order dictated by the spectral
quotient (see Figure 2.4 (c)).
After pressing the Compute SSM button for the first time, ssmtool will try to start-
up the local parallel matlab pool and identify the number of cores available, which will be
indicated by the message window shown in Figure 2.5 (a). A small portion of the autonomous
SSM computations can be run in parallel, however, it is not required to run the computations in
parallel.
After this stage, ssmtool will proceed with constructing the SSM and the reduced dynamics.
The progress is graphically displayed with the loading bar as shown in Figure 2.5 (b). When the
SSM computation is complete, ssmtool will output a lower-dimensional projection of the SSM
in modal or physical coordinates, depending on the coordinate selection (see Figure 2.6). If you
selected the complex coordinates option, no figure is displayed.

10 S. Ponsioen, G. Haller
(a) (b)
Fig. 2.5: (a) ssmtool will try to start the local parallel matlab pool during the first SSM compu-
tation and will automatically detect the available cores. If matlab fails to start the local pool,
the SSM computation will be continued in series. (b) The progress of the SSM computation is
shown in the loading bar.
(a)
Fig. 2.6: Lower-dimensional projection of the computed SSM in modal or physical coordinates.

SSMtool: A short guide 11
2.4 Parameterization/Backbone
The constructed SSM expressions and the reduced dynamics expressions can be inspected
by pressing the Show button under the header "Parameterization/Backbone". A new window
will be opened, as shown in Figure 2.7. The mapping W(z)and the reduced dynamics R(z)
being displayed are both stored in a matlab function file under the names SSM_function.m and
R_function.m.
Fig. 2.7: The expressions for the autonomous SSM, W(z), and the reduced dynamics R(z)are
displayed. The reduced dynamics has automatically been transformed to polar coordinates.
As explained in the introduction of this guide and in section 5.2 of Ponsioen et al. [2], the
backbone curve can be extracted from the Ω(ρ) = ˙
θ(ρ)equation of the reduced system. By
pressing the Plot button, ssmtool will compute the backbone curve in the physical coordinate
system, see Figure 2.8. The output can be specified to be either the maximum absolute value of
one of the physical coordinates of the system, or to be an average over all positional coordinates
as defined in eq. (48) of [2].

12 S. Ponsioen, G. Haller
Fig. 2.8: Extracted backbone curve by ssmtool from the ˙
θ(ρ)reduced equation.
2.5 Integrate trajectories
By pressing the Open Panel button under the "Integrate trajectories" header, a new window
will open up, shown in Figure 2.9 (a). Here, you can integrate the reduced system for a given
initial position (ρ0, θ0)and specify the total integration time tend and the maximum stepsize
used by the matlab ordinary-differential-equation solver. The result is mapped back into the full
phase space using the mapping W(z)as shown in Figure 2.10 (a). To compare the result of the
reduced system with the full system, you can integrate a trajectory of the full system with the
same initial condition of the reduced system on the SSM. This can be accomplished by checking
the "Integrate full system" box and subsequently pressing the Integrate button. The results are
shown in Figure 2.10 (b). As an extra feature, it is also possible to integrate the full system from
an initial condition that is not necessarily on the SSM by simply modifying the initial position
values as shown in Figure 2.9 (b).

SSMtool: A short guide 13
(a) (b)
Fig. 2.9: (a) The reduced dynamics can be integrated from 0to tend , for a given initial position
(ρ0, θ0). The maximum integration stepsize can be specified for the matlab ordinary-differential-
equation solver. (b) Additionally, the full system can be integrated for the same initial position
on the SSM, in order to compare the results of the reduced system with the full system. Here it
is also possible to integrate the full system from an initial condition that is not necessarily on
the SSM.
(a) (b)
Fig. 2.10: (a) The reduced dynamics is integrated for a given initial position. The resulting
reduced trajectory is mapped into the full phase space using the mapping W(z). (b) To compare
the accuracy of the reduced model, the full system can be integrated for the same initial condition
on the SSM, but mapped into the full phase space.

14 S. Ponsioen, G. Haller
2.6 Invariance error
In order to quantify the accuracy of the computed invariant manifolds and the reduced dy-
namics on them, ssmtool can calculate an invariance error measure which compares trajectories
of the full system xi, with trajectories of the reduced system ˜
xi. A total of Ntrajectories from
the full and reduced system are launched from a circle with fixed radius ρ0from the origin, and
integrated until the reduced trajectories cross the inner circle of radius ρε< ρ0, therefore remov-
ing the time dependency. The error measure norm is mathematically formalized in eq. (2.1) (see
section 6 of Ponsioen et al. [2]).
δinv =1
N
N
X
i=1
dist(i)
max
θ∈S1k˜
x(ρ0, θ)k2
,dist(i) = max
xi|ρ
ρ0−˜
xi|ρ
ρ0
2
.(2.1)
In Figure 2.11 (a) and (b) we show the computed invariance error measures for an O(5)
and O(10) approximation of the SSM. As we increase the order of approximation, and therefore
increase the accuracy of our approximation, the error measure decreases for a fixed radius ρ0.
(a) (b)
Fig. 2.11: (a) Resulting invariance measure error for an O(5) approximation of the SSM and the
reduced dynamics for a fixed radius ρ0= 1. (b) Resulting invariance measure error for an O(10)
approximation of the SSM and the reduced dynamics for the same radius ρ0= 1. As expected
the error decreases for an increasing order of approximation.
2.7 Plot options
You can change the plot coordinates of the lower-dimensional projection of the SSM by using
the "Plot Options" as shown in Figure 2.12. Additionally, the axes limits and the parameterization
domain can be modified as desired.

SSMtool: A short guide 15
Fig. 2.12: Plot options that can be modified to change to visualization of the lower-dimensional
projection of the SSM.
3 Final remarks
You are now able to fully take advantage of ssmtool. We would like to note that the future
release of ssmtool will be able to handle the time-dependent periodic forcing case as explained
in Ponsioen et al. [3]. This will allow you to extract forced response curves corresponding to
vibration modes of interest for different forcing amplitudes, in an even more numerically efficient
way. Additionally, and due to the use of SSM theory, it will be possible to detect isolated regions
in the forced response curves.
Should you discover any bugs or malfunctions in the GUI, please send an email to stenp@ethz.ch.
References
1. G. Haller and S. Ponsioen. Nonlinear normal modes and spectral submanifolds: existence, uniqueness and
use in model reduction. Nonlinear Dyn., 86(3):1493–1534, 2016.
2. S. Ponsioen, T. Pedergnana, and G. Haller. Automated computation of autonomous spectral submanifolds
for nonlinear modal analysis. Journal of Sound and Vibration, 420:269–295, 2018.
3. S. Ponsioen, T. Pedergnana, and G. Haller. Analytic Prediction of Isolated Forced Response Curves from
Spectral Submanifolds. arXiv preprint arXiv:1812.06664, 2018.
4. T. Breunung and G. Haller. Explicit backbone curves from spectral submanifolds of forced-damped nonlinear
mechanical systems. Proc. R. Soc. A, 474(2213):20180083, 2018.
5. S. Jain, P. Tiso, and G. Haller. Exact nonlinear model reduction for a von Kármán beam: slow-fast decom-
position and spectral submanifolds. J. Sound Vib., 423:195–211, 2018.