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 methods for manifold learning and reduced dynamics fitting.
The computational steps for achieving a reduced-order model are:
- Embedding of the simulation/measurement data in a suitable observable space;
- Computation of the invariant manifold parametrization and its reduced order or latent coordinates;
- Identification of the reduced dynamics, with initial implementation of normal form transformation.
The code can run analytics and predictions on the reduced-order model, as shown in our examples. There are no constraints on the types of masurements, on the kind of nonlinearities or on the problem dimensions.
We have included a demonstration of SSM computation over the following examples.
- Oscillator chain: n degrees of freedom with trajectories on or off specific SSMs;
- Brake-Reuss beam: benchmark system for the dynamics of jointed structures, data from experimental measurements (DIC and accelerometers);
- Vortex Shedding behind a cylinder: data from CFD simulations, projected on a low-dimensional linear subspace of the phase space;
- Couette flow: data from CFD simulations, projected on a low-dimensional linear subspace of the phase space, for different regimes;
- Liquid sloshing of a water tank: data from experimental measurements.
- One degree of freedom oscillator, as a benchmark problem;
- Clone the project with
git clone https://github.com/mattiacenedese/SSMLearnPy.git
- Enter in the project folder
cd SSMLearnPy/
- (optional) Create a new conda environment and activate it:
conda create -n ssmlearn python=3.9 conda activate ssmlearn
- Install dependencies:
pip install -r requirements.txt
- Install the package:
pip install -e .
- You are ready.
The implementation and the examples are largely based on the Matlab package SSMLearn https://github.com/mattiacenedese/SSMLearn. The Python implementation is still under active developement and therefore may contain bugs. We apologize for this and welcome any feedback regarding the package.
Please consider to cite this article when using this code:
- M. Cenedese, J. Axås, B. Bäuerlein, K. Avila and G. Haller. Data-driven modeling and prediction of non-linearizable dynamics via spectral submanifolds. Nature Communications, 13 (2022) 872. [PDF] [Supplementary Information]
Additional works appear in the references:
-
M. Cenedese, J. Axås, H. Yang, M. Eriten and G. Haller. Data-driven nonlinear model reduction to spectral submanifolds in mechanical systems, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences 380 (2022) 20210194. [PDF]
-
G. Haller, S. Jain and M. Cenedese. Dynamics-based machine learning for nonlinearizable phenomena. Data-driven reduced models on spectral submanifolds, SIAM News 55/5 (2022) 20210194. [PDF]
-
B. Kaszás, M. Cenedese & G. Haller, Dynamics-based machine learning of transitions in Couette flow, Physical Review Fluids, 7 (2022) L082402. [PDF] [Supplemental Material] https://arxiv.org/abs/2209.05712
-
J.I. Alora, M. Cenedese, E. Schmerling, G. Haller & M. Pavone, Data-driven spectral submanifold reduction for nonlinear optimal control of high-dimensional robots (2022) arxiv.org/2209.05712. [PDF