By clicking “Accept”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.

Dymola and Modelica

Dymola and Modelica are often used as synonyms or mentioned in the same breath. Depending on the context, this is misleading or even wrong. We explain the differences and connections between the Modelica language and the Dymola software.

Manuel Gräber

Manuel Gräber

|

February 11, 2022

Dymola and Modelica

Dymola Screenshot / TLK Energy

What is Dymola?

Dymola is a commercial simulation software of the French Dassault Systèmes group. It was originally developed by the company Dynasim AB in Lund (Sweden). Simulation models are formulated in Dymola using the Modelica modeling language in text form (code) or assembled in a graphical interface by drag-and-drop from submodels organized in model libraries.

What is Modelica?

Modelica is a freely available modeling language for the mathematical description of multi-physical systems. The language was published in the 1.0 version in 1997 and has been developed further in the Modelica Association since 2000. Modelica is object-oriented and equation-based. Systems of differential equations, algebraic equations and discrete events can be formulated. The symbolic and numerical solution of these systems of equations is not part of the standard, but is the responsibility of the respective simulation software.

Object orientation in Modelica

Analog to general programming languages like Python, Modelica is completely object-oriented. Through inheritance and instantiation, complex simulation models can be divided and organized into smaller units. This increases the clarity in system models and enables the reusability of individual components.

Equation based modeling

An essential feature of Modelica is that, in contrast to classical programming languages, no instructions are formulated which the computer processes step by step, but that equations are described. The order of the equations in the Modelica code is not important. The only important thing is that the resulting system of equations is solvable. This approach is called equation orientation or acausal modeling.

The term acausal comes from the fact that there is no fixed causal relationship in Modelica code. As in mathematical equations, x=y is equivalent to y=x.

However, it is important to understand that this only applies to the higher level of the modeling language. In order to numerically compute the simulation result for a model, a causal relationship - that is, a computational order - must necessarily be established. This happens in the Modelica tools like Dymola in the background. The system of equations is symbolically manipulated and converted into a form that is as easy to solve as possible. Modelica then translates it into a programming language (usually C) and couples it to numerical solution algorithms. The user only notices this if the symbolic transformation or the numerical solution goes wrong.

Graphical representation

Another special feature of the Modelica language is that the graphical representation of models is part of the standard. For example, in Dymola, models can be created both at code level and in a graphical view (drag-and-drop of subcomponents). And since the graphical representation is part of the standard, the model looks exactly the same when you open it in other Modelica tools.

Graphical representation and code view of a system model in Modelica
Graphical representation and code view of a system model in Modelica (created with Dymola).

Dymola alternatives

The origins of the Modelica language and the Dymola software both go back to Hilding Elmqvist. Therefore, Dymola has been the de facto standard among Modelica tools from the very beginning - and still is, if truth be told. Ultimately, this is where the widespread speech and spelling Dymola/Modelica in the same breath comes from.But a lot has happened in the last few years.

And there are now a considerable number of Dymola alternatives:

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

Learn Modelica

At TLK Energy, we regularly offer training on Modelica and our library TIL Suite. Modelica Training covers all the important basics of Modelica. For newcomers and beginners, this is the fastest way to start working successfully with Modelica.

For those who have more time and prefer self-study instead of training, the free online textbook Modelica by Examp  by Michael Tiller is certainly a very good choice.

Manuel Gräber

Dr.-Ing.

Manuel Gräber

Managing Director

TLK Energy

Dr.-Ing. Manuel Gräber works on modeling, optimization and controlling of thermal systems since 2008. He received his PhD at TU Braunschweig after finishing his thesis on “Energy-Optimal Control of Refrigeration Processes”. As research assistant at TU Braunschweig and employee of TLK-Thermo GmbH, Manuel Gräber carried out numerous research and development projects with various partners from industry. His focus is the combination of a broad theoretical knowledge base in different disciplines with practical experience of concrete engineering projects.

More blog posts: