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 GitHub gehostet:
Ubuntu nutzer können MasterSim auch einfach über ein Paket-Repository installieren:
1. Repository hinzufügen:
sudo add-apt-repository ppa:ghorwin/sim
sudo apt-get update
2. MasterSim installieren:
sudo apt install mastersim
Teile von MasterSim
MasterSim besteht aus drei Teilen:
- MasterSimulator Programmoberfläche
- MasterSimulator Kommandozeilenprogramm
- 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 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
Details über diese Eigenschaften sind in der Dokumentation (siehe Dokumentationsseite) zu finden.
| |
MasterSim Bibliothek
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-Jacobi, Gauss-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.
|