We present a novel physics-informed system identification method to construct a passive linear time-invariant system. In more detail, for a given quadratic energy functional, measurements of the input, state, and output of a system in the time domain, we find a realization that approximates the data well while guaranteeing that the energy functional satisfies a dissipation inequality. To this end, we use the framework of port-Hamiltonian (pH) systems and modify the dynamic mode decomposition to be feasible for continuous-time pH systems. We propose an iterative numerical method to solve the corresponding least-squares minimization problem. We construct an effective initialization of the algorithm by studying the least-squares problem in a weighted norm, for which we present the analytical minimum-norm solution. The efficiency of the proposed method is demonstrated with several numerical examples.
If you use this project for academic work, please consider citing our publication:
R. Morandin, J. Nicodemus, and B. Unger
Port-Hamiltonian Dynamic Mode Decomposition
SIAM Journal on Scientific Computing 2023 45:4, A1690-A1710
A python environment is required with at least Python 3.10.
Install dependencies via pip
:
pip install -r requirements.txt
There are two executable scripts main.py
, reduction.py
and a configuration file config.py
in the src
directory.
main.py
execute thepHDMD
algorithm for the current experiments, defined inconfig.py
.reduction.py
executes thepHDMD
algorithm with model reduction step for the MIMO Mass-Spring-Damper experiment, defined inconfig.py
. The algorithm is executed for different reduced orders, subsequently the H2 and Hinf errors are plotted of the reduced orders.
Documentation is available online
or you can build it yourself from inside the docs
directory
by executing:
make html
This will generate HTML documentation in docs/build/html
.
It is required to have the sphinx
dependencies installed. This can be done by
pip install -r requirements.txt
within the docs
directory.
Distributed under the MIT License. See LICENSE
for more information.
Jonas Nicodemus - jonas.nicodemus@simtech.uni-stuttgart.de
Benjamin Unger - benjamin.unger@simtech.uni-stuttgart.de
Riccardo Morandin - morandin@math.tu-berlin.de
Project Link: https://github.com/Jonas-Nicodemus/phdmd