Skip to content

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 functi…

License

Notifications You must be signed in to change notification settings

Jonas-Nicodemus/phdmd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

arXiv DOI Documentation Status MIT License

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.

Table of Contents

  1. Citing
  2. Installation
  3. Usage
  4. Documentation
  5. License
  6. Contact

Citing

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

Installation

A python environment is required with at least Python 3.10.

Install dependencies via pip:

pip install -r requirements.txt

Usage

There are two executable scripts main.py, reduction.py and a configuration file config.py in the src directory.

  • main.py execute the pHDMD algorithm for the current experiments, defined in config.py.
  • reduction.py executes the pHDMD algorithm with model reduction step for the MIMO Mass-Spring-Damper experiment, defined in config.py. The algorithm is executed for different reduced orders, subsequently the H2 and Hinf errors are plotted of the reduced orders.

Documentation

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.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

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

About

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 functi…

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages