ThummeTo / FMISensitivity.jl

Unfortunately, FMUs (fmi-standard.org) are not differentiable by design. To enable their full potential inside Julia, FMISensitivity.jl makes FMUs fully differentiable, regarding to: states and derivatives | inputs, outputs and other observable variables | parameters | event indicators | explicit time | state change sensitivity by event
MIT License
6 stars 1 forks source link
fmi fmu linearization sciml sensitivity uncertainty

FMI.jl Logo

FMISensitivity.jl

Test (latest) Test (LTS) Coverage ColPrac: Contributor's Guide on Collaborative Practices for Community Packages

What is FMISensitivity.jl?

Unfortunately, FMUs (fmi-standard.org) are not differentiable by design. To enable their full potential inside Julia, FMISensitivity.jl makes FMUs fully differentiable, regarding to:

This opens up to many applications like:

Supported AD-Frameworks are:

Here, FMISensitivity.jl uses everything the FMI-standard and Julia currently offers:

How can I use FMISensitivity.jl?

FMISensitivity.jl is part of FMIFlux.jl. If you only need FMU sensitivities without anything around and want to keep the dependencies as small as possible, FMISensitivity.jl might be the right way to go. You can install it via:

1. Open a Julia-REPL, switch to package mode using ], activate your preferred environment.

2. Install FMISensitivity.jl:

(@v1) pkg> add FMISensitivity

3. If you want to check that everything works correctly, you can run the tests bundled with FMISensitivity.jl:

(@v1) pkg> test FMISensitivity

4. Have a look inside the examples folder in the examples branch or the examples section of the documentation of the FMI.jl package. All examples are available as Julia-Script (.jl), Jupyter-Notebook (.ipynb) and Markdown (.md).

What FMI.jl-Library should I use?

FMI.jl Family To keep dependencies nice and clean, the original package FMI.jl had been split into new packages:

What Platforms are supported?

FMISensitivity.jl is tested (and testing) under Julia Versions 1.6 LTS and latest on Windows latest and Ubuntu latest. x64 architectures are tested. Mac and x86-architectures might work, but are not tested.

How to cite?

Coming soon ...

Tobias Thummerer, Lars Mikelsons and Josef Kircher. 2021. NeuralFMU: towards structural integration of FMUs into neural networks. Martin Sjölund, Lena Buffoni, Adrian Pop and Lennart Ochel (Ed.). Proceedings of 14th Modelica Conference 2021, Linköping, Sweden, September 20-24, 2021. Linköping University Electronic Press, Linköping (Linköping Electronic Conference Proceedings ; 181), 297-306. DOI: 10.3384/ecp21181297