SSMLearn
Data-driven Reduced Order Models for Nonlinear Dynamical Systems
This package perform data-driven identification of reduced order model based on spectral submanifolds (SSMs). The required input consists of trajectory data of generic system observables close to an SSM, the SSM dimension and the polynomial orders for approximation of the parametrization and reduced dynamics.
The computational steps for achieving a reduced-order model are:
- Embedding of the measurements in a suitable observable space;
- Computation of the invariant manifold parametrization and its reduced order coordinates;
- Identification of the reduced dynamics and its normal form.
Once the normal form dynamics has been determined, the code can run analytics and predictions on the reduced-order model, such as backbone curves and forced responses, as shown in our examples. There are no constraints on the types of measurements, on the kind of nonlinearities or on the problem dimensions.
We have included a demonstration of SSM identification on the following examples.
- Von Kármán straight beam in 2D: geometrically nonlinear finite element model from SSMTool, with reduced order models constructed using different observables;
- Vortex Shedding behind a cylinder: data from CFD simulations, projected on a low-dimensional linear subspace of the phase space;
- Liquid sloshing of a water tank: data from experimental measurements.
This package uses the following external open-source packages for some of the examples and post-processing capabilities:
- Continuation core (coco) https://sourceforge.net/projects/cocotools/
- SSMTool 2.1: Computation of invariant manifolds & their reduced dynamics in high-dimensional mechanics problems https://github.com/haller-group/SSMTool-2.1
Installation
- Once located in the main folder, install the package:
install
- If external packages are not yet installed, download SSMTool from the link above, which also include coco, and install it.
- (optional) Figure specifications can be edited in the function customFigure.m located in the src folder.
- You are ready.
Please report any issues/bugs to Mattia Cenedese ([email protected]) or Joar Axås ([email protected])