MasterSimulator

MasterSim ist ein FMI Co-Simulation Master und eine Programmierbibliothek. Es wird das Functional Mockup Interface für Co-Simulation in Version 1.0 und 2.0 unterstützt. Unter Verwendung der Funktionalität von Version 2.0-Funktionalität sind verschiedene Iterationsalgorithmen implementiert, welche die Fähigkeit einer FMU zum Zurücksetzen des Zustands nutzt und dadurch die Stabilität der Simulation verbessert.

MasterSim wird aktiv am Institut für Bauklimatik der TU Dresden (siehe Kontaktseite) entwickelt.

Die MasterSim Installationsprogramme für die verschiedenen Plattformen werden auf SourceForge gehostet:

Teile von MasterSim

MasterSim besteht aus drei Teilen:

  • MasterSimulator Kommandozeilenprogramm
  • MasterSimulator Programmoberfläche
  • MasterSim Programmierbibliothek

Warum MasterSim?

Zuerst einmal, es ist frei! Der komplette Quelltext ist auf der GitHub-Projektseite unter einer Open-Source Lizenz verfügbar.

Aber es gibt viele andere Gründe, MasterSim zu verwenden:

  • MasterSim ist plattformübergreifend entwickelt und verfügbar für Windows, Linux und MacOS
  • unterstützt geskriptete Ausführung
  • unterstützt mehrere FMU-Instanzen innerhalb eines Co-Simulationsszenarios
  • Detailliert konfigurierbare Master-Algorithmen
  • Auto-Verbindungs-Funktion in der Programmoberfläche (sehr nützlich, wenn FMUs mit vielen passenden Ein- und Ausgängen verknüpft werden sollen)
  • Detaillierte Simulationsstatistiken informieren über die zeitkritischen Teile der Co-Simulation; Das ist sehr hilfreich bei der Geschwindigkeitsoptimierung und bei der Auswahl geeigneter Algorithmen
  • Unterstützung von parallel ausgeführten Variationsstudien (mehrere MasterSimulator-Prozesse), wo die gleiche FMU gleichzeitig in mehreren parallel laufenden Simulationen verwendet wird
  • Diagnoseoptionen assistieren FMU Entwicklern beim Debugging von FMUs
  • Quelltext hat nur wenige Abhängigkeiten zu Dritt-Bibliotheken (nur C/C++ Standardbibliothek und Qt für die Programmoberfläche), welches eine lange Lebenszeit und Kompatibilität mit vielen Plattformen sichert.
  • Software und Quelltext wird aktiv entwickelt, verwendet und gepflegt am Institut für Bauklimatik, TU Dresden

Bibliotheksfunktionalität

Mit der Programmbibliothek von MasterSim kann man Co-Simulationsfunktionalität recht einfach in eigene Programme implementieren.

FMU Importfunktion

Die Bibliothek unterstützt das Entpacken von FMUs (Archiven), das Einlesen der modelDescription.xml-Datei, Importieren der Funktion in der dynamischen Bibliothekt in den Speicher, welche dann durch C++ Funktionen sinnvoll und bequem gekapselt sind.

Master-Algorithmem

In der Bibliothek enthalten sind die Standard-Master-Algorithmen, wie Gauss-JacobiGauss-Seidel und Newton. Diese können ohne größere Anpassungen in eigenem Programmcode integriert oder aufgerufen werden. Dabei können natürlich verschiedene numerische Parameter getuned werden.

Best-Practice-Anleitungen und Beispiele

Der Quelltext des Kommandozeilen-Simulators MasterSimulator und der Benutzeroberfläche können als Anschauungsbeispiel und Anleitung für eigenen Entwicklungen genutzt werden.

Unterstützter Co-Simulations-Standard

Die Bibliothek unterstützt aktuell den FMI Co-Simulations-Standard 1.0 and 2.0. Einige Algorithmen (z.B. alle Algorithmen, welche den Zustand einer FMU zurücksetzen) benötigen FMI v2.0, aber Gauss-Jacobi und Gauss-Seidel funktionieren auch mit FMI v1.0 Schnittstelle.

This site is registered on wpml.org as a development site.