xrg-simulation / SMArtIInt

Simple Modelica Artificial Intelligence Interface
BSD 3-Clause "New" or "Revised" License
11 stars 3 forks source link

Image

The SMArtInt Library is designed to integrate various artificial intelligence (AI) models seamlessly into Modelica-based simulation tools. SMArtInt, short for Simple Modelica Artificial Intelligence Interface, provides a user-friendly interface that bridges advanced AI capabilities with the power of Modelica simulations, enhancing both modeling efficiency and simulation accuracy.

Currently, it supports the following tools

  1. Dymola
  2. OpenModelica

with

  1. TensorFlow models exported as TFLite
  2. ONNX models.

The repository contains a compiled version of the interface for usage in windows. As a starting point open the Modelica Library. It contains some ready to run examples (SMartInt.Tester) which demonstrate the usage. The corresponding python files which create the TF-Lite and ONNX models are located in Resources\ExampleNeuralNets.

Hints for usage in Dymola: Currently, only a 64-bit version is available. If the variable Advanced.CompileWith64 is set on its default value 0, Dymola will automatically compile a 64-bit Dymosim.exe after giving a remark in the translate log file. In case Advanced.CompileWith64=2 a 64-bit dymosim.exe is created anyway and in case of Advanced.CompileWith64=1 compilation will fail.

SMArtInt uses other software - the source code is included as submodule and/or as compiled version for direct usage_

  1. Tensorflow (https://github.com/tensorflow/tensorflow)
  2. Bazel.exe (https://github.com/bazelbuild/bazel)
  3. ClaRa Delay (https://github.com/xrg-simulation/ClaRaDelay)
  4. ONNX Runtime (https://github.com/microsoft/onnxruntime)

This work was carried out within the framework of the research project DIZPROVI, supported by the Federal Ministry of Education and Research (number 03WIR0105E).