Dymola und Modelica

Dymola und Modelica werden häufig als Synonym verwendet oder in einem Atemzug genannt. Das ist je nach Kontext irreführend oder sogar falsch. Wir erklären die Unterschiede und Zusammenhänge zwischen der Sprache Modelica und der Software Dymola.

Manuel Gräber

Manuel Gräber

|

February 4, 2022

Dymola und Modelica

Dymola Screenshot / TLK Energy

Was ist Dymola?

Dymola ist eine kommerzielle Simulationssoftware des französischen Konzerns Dassault Systèmes. Ursprünglich wurde sie von der Firma Dynasim AB in Lund (Schweden) entwickelt. Simulationsmodelle werden in Dymola mit der Modellierungssprache Modelica in Textform (Code) formuliert oder in einer graphischen Oberfläche per Drag-and-Drop aus Submodellen zusammengebaut, die in Modellbibliotheken organisiert sind.

Was ist Modelica?

Modelica ist eine frei verfügbare Modellierungssprache zur mathematischen Beschreibung von multiphysikalischen Systemen. Die Sprache wurde in der 1.0 Version 1997 veröffentlicht wund wird seit 2000 in der Modelica Association weiterentwickelt. Modelica ist objektorientiert und gleichungsbasiert. Es können Systeme von Differentialgleichungen, algebraischen Gleichungen und diskrete Ereignisse formuliert werden. Die symbolische und numerische Lösung dieser Gleichungssysteme ist nicht Teil des Standards, sondern obliegt der jeweiligen Simulationssoftware.

Objektorientierung in Modelica

Analog zu generellen Programmiersprachen wie Python ist Modelica vollständig objektorientiert. Durch Vererbung und Instanziierung können komplexe Simulationsmodelle in kleinere Einheiten unterteilt und organisiert werden. Das erhöht die Übersichtlichkeit in Systemmodellen und ermöglicht die Wiederverwendbarkeit von einzelnen Komponenten.

Gleichungsbasierte Modellierung

Eine wesentliche Eigenschaft von Modelica ist, dass im Gegensatz zu klassischen Programmiersprachen keine Anweisungen formuliert werden, die der Computer Schritt für Schritt abarbeitet, sondern, dass Gleichungen beschrieben werden. Die Reihenfolge der Gleichungen im Modelica-Code ist unwichtig. Wichtig ist nur, dass das resultierende Gleichungssystem lösbar ist. Diesen Ansatz bezeichnet man als Gleichungsorientierung oder als akausale Modellierung.

Der Begriff akausal kommt daher, dass es in Modelica-Code keinen festen kausalen Zusammenhang gibt. Wie in mathematischen Gleichungen ist x=y gleichbedeutend mit y=x.

Es ist allerdings wichtig zu verstehen, dass das nur für die höhere Ebene der Modellierungssprache gilt. Um das Simulationsergebnis für ein Modell numerisch berechnen zu können, muss zwangsläufig ein kausaler Zusammenhang – also eine Berechnungsreihenfolge – hergestellt werden. Das passiert in den Modelica Tools wie Dymola im Hintergrund. Das Gleichungssystem wird symbolisch manipuliert und in eine möglichst einfach lösbare Form gebracht. Danach wird es von Modelica in eine Programmiersprache (meistens C) übersetzt und an numerische Lösungsalgorithmen gekoppelt. Der Nutzer bekommt davon nur etwas mit, wenn die symbolische Umformung oder die numerische Lösung schiefgehen.

Graphische Darstellung

Eine weitere Besonderheit der Sprache Modelica ist, dass die grafische Darstellung von Modellen teil des Standards ist. So können zum Beispiel in Dymola Modelle sowohl auf Code Ebene als auch in einer grafischen Ansicht (Drag-and-Drop von Subkomponenten) erstellt werden. Und da die grafische Darstellung teil des Standards ist, sieht das Modell genau so aus, wenn man es in anderen Modelica Tools öffnet.

Graphische Darstellung und Code-Ansicht eines Systemmodells in Modelica.
Graphische Darstellung und Code-Ansicht eines Systemmodells in Modelica (mit Dymola erstellt).

Dymola Alternativen

Die Ursprünge der Sprache Modelica und der Software Dymola gehen beide zurück auf Hilding Elmqvist. Daher war Dymola von Anfang an der De-Facto-Standard unter den Modelica Tools – und ist es, wenn man ehrlich ist, immer noch. Letztendlich kommt daher auch die weit verbreitete Rede- und Schreibweise Dymola/Modelica in einem Atemzug zu nennen.

Aber in den letzen Jahren hat sich viel getan. Und es gibt inzwischen eine beachtliche Anzahl an Dymola-Alternativen:

  • OpenModelica (open source)
  • SimulationX
  • Modelon Impact (web-basiert)
  • Wolfram SystemModeler
  • MapleSim

Modelica Lernen

Wir bei TLK Energy bieten regelmäßig Schulungen zu Modelica und unserer Bibliothek TIL Suite an. Mit dem Modelica Training werden alle wichtigen Grundlagen von Modelica abgedeckt. Für Neueinsteiger und Anfänger ist das der schnellste Weg, um erfolgreich mit Modelica zu arbeiten.

Wer mehr Zeit mitbringt und statt einer Schulung lieber auf Selbststudium setzt, für den ist das kostenlose Online-Lehrbuch Modelica by Example von Michael Tiller sicherlich eine sehr gute Wahl.

Manuel Gräber

Dr.-Ing.

Manuel Gräber

Managing Director

TLK Energy

Dr.-Ing. Manuel Gräber arbeitet seit 2008 an der Modellierung, Optimierung und Regelung von thermischen Systemen. Seine Promotion an der TU Braunschweig hat er mit dem Thema „Energieoptimale Regelung von Kälteprozessen“ abgeschlossen. Im Rahmen der Tätigkeiten als wissenschaftlicher Mitarbeiter an der TU Braunschweig und als Angestellter bei der TLK-Thermo GmbH hat er zahlreiche Forschungs- und Entwicklungsprojekte mit verschiedenen Industriepartnern durchgeführt. Seine besondere Stärke ist die Verknüpfung einer breiten theoretischen Wissensbasis aus verschiedenen Disziplinen mit der praktischen Erfahrung konkreter Ingenieursprojekte.

Weitere Blogbeiträge: