Dymola was designed by Hilding Elmqvist of the Technical University at Lund (LTH) in Sweden as part of his PhD dissertation.
Dymola is a modeling environment that enables the user to map hardware components of physical systems directly onto corresponding software components.
Elmqvist recognized that there must not exist any distinction between input and output parameters of such objects. The direction of information flow can only be determined during the compilation of the models based on the embedding of the model components into the overall model.
Since then, Dymola/Modelica matured into the best and most flexible modeling environment for the description of physical systems currently available on the software market.
In 1978, Hilding Elmqvist introduced a first version of Dymola as part of his PhD dissertation. The language presented at that time offered a purely alphanumerical user interface that today forms the basis of the modern modeling language Modelica. A first version of the Dymola compiler had been coded in Simula 68. However, that version was soon replaced by a newer version that was coded in Pascal. The compiler translated Dymola models to Simnon. a simulation environment that Elmqvist had developed in 1975 as part of his MS Thesis.
In 1981, Hilding Elmqvist developed a first version of a graphic user interface (GUI) that would enable the user to describe a physical system by means of graphical objects. The graphic modules were then mapped onto Dymola. Elmqvist was convinced that graphical descriptions of systems were easier to manage, as they support two-dimensional connections, whereas an alphanumerical description must necessarily be one-dimensional. However, the proposed GUI could not meaningfully be utilized, as it consumed to many computer resources. The computers of those days were not yet powerful enough to meaningfully support such a development.
After Elmqvist had left academia in 1984 to assume a job in industry, I myself together with my students continued in 1986 with the development of Dymola. In particular, we developed new translation modules that mapped Dymola models onto the simulation languages Desire and ACSL. These modules were developed under a grant from NASA.
In 1991, I published the book Continuous System Modeling , in which Dymola played a central role. This book convinced Hilding Elmqvist to give up his position in industry and create instead a company of his own, called Dynasim AS. the sole purpose of which would be the further development of Dymola.
A still unsolved problem was the symbolic treatment of algebraic loops and structural singularities, as they occurred frequently in the coupling of Dymola models. This problem was solved by Elmqvist in 1992. It led to publication .
In the summer of 1992, I worked at the German Aerospace Establishment (DLR) in Oberpfaffenhofen. This contract led to a close and very fruitful collaboration between Hilding Elmqvist (Dynasim), Martin Otter (DLR), and myself. In the sequel, DLR financed majorly the further development of Dymola for several years. As a first project, an interface to the DLR simulation environment DSblock was developed that forms the basis of the Dymosim simulation environment in use today.
In 1993, the Dymola modeling environment was enriched by language elements for modeling discontinuous processes that replaced and improved on the modeling concepts that had been proposed in the modeling environment COSY . In parallel, a new version of the Dymola compiler was issued, now coded in C.
In 1994, the symbolic treatment of algebraic loops was improved by the introduction of tearing variables. Also introduced were new language elements that should enable the user to describe vector processes, as they occur for example in mechanics in the description of multibody systems (MBS), by means of matrices, offering a user interface similar to that available in Matlab.
Also in 1994, a new GUI was introduced that first took the name of Dymodraw. In contrast to the earlier development of 1981, Dymodraw was fully functional. Unfortunately, he tools offered in Dymodraw for the definition of new graphical objects still left much to be desired. For this reason, it was easy to use already developed graphical objects in Dymodraw, but the design of new graphical objects was painful and error prone. The graphic compiler was coded in C++.
In 1995, the efficiency of the compiled simulation code was significantly improved by the introduction of DASSL as the default integration method, as well as by the new concept of “inlining”, i.e. the merging of the integrator equations with the model equations prior to the symbolic preprocessing of the resulting differential-algebraic equation (DAE) system .
In 1996, the symbolic preprocessor was enhanced by yet another algorithm, called “relaxing” of linear equation systems. The relaxing algorithm offers a symbolic implementation of the Gauss reduction algorithm .
Also in 1996, the language definition of Dymola, which by now was 18 years old, underwent a major revision. Die resulting new language was called Modelica. Modelica’s language definition was placed in the public domain. As the name “Dymola” had been freed up, the GUI from now on assumed the name Dymola. By the year 2003, Dymola Version 5 was released, which finally offered a completely redesigned and fully functional GUI, in which also the design and development of new graphical objects can be accomplished easily and reliably.
In 1997, a standard committee was created, the task of which was the further development and standardization of the language definition of Modelica. Unfortunately, I could no longer participate personally in this effort, as this would have called for 2-3 trips to Europe annually, mostly during teaching sessions, which I could not justify.
Already in 1993, I stopped with the further development of the Dymola compiler, as I would not and could not compete with Elmqvist’s group in this arena. Instead, I subsequently focused my efforts on a task that my students and I could handle much more easily and successfully, namely the design and development of new Dymola/Modelica libraries, such as BondLib.
Most Important Publications
Elmqvist, H. F.E. Cellier, and M. Otter (1993), Object-Oriented Modeling of Hybrid Systems. Proc. ESS’93, SCS European Simulation Symposium. Delft, The Netherlands, pp.xxxi-xli.
Otter, M. H. Elmqvist, and F.E. Cellier (1996), “Relaxing” – A Symbolic Sparse Matrix Method Exploiting the Model Structure in Generating Efficient Simulation Code. Proc. Symposium on Modelling, Analysis, and Simulation. CESA’96, IMACS MultiConference on Computational Engineering in Systems Applications, Lille, France, vol.1, pp.1-12.