Modelica—A language for equation-based physical modeling and high performance simulation
- Cite this paper as:
- Fritzson P. (1998) Modelica—A language for equation-based physical modeling and high performance simulation. In: Kågström B., Dongarra J., Elmroth E., Waśniewski J. (eds) Applied Parallel Computing Large Scale Scientific and Industrial Problems. PARA 1998. Lecture Notes in Computer Science, vol 1541. Springer, Berlin, Heidelberg
A new language called Modelica for hierarchical physical modeling is developed through an international effort. Modelica 1.0 [http:// www.Dynasim.se/Modelica] was announced in September 1997. It is an object-oriented language for modeling of physical systems for the purpose of efficient simulation. The language unifies and generalizes previous object-oriented modeling languages and techniques.
Compared to the widespread simulation languages available today this language offers two important advances: 1) non-causal modeling based on differential and algebraic equations; 2) multidomain modeling capability, i.e. it is possible to combine electrical, mechanical, thermodynamic, hydraulic etc. model components within the same application model.
A class in Modelica may contain variables (i.e. instances of other classes), equations and local class definitions. The multi-domain capability is partly based on a notion of connectors, which are classes just like any other entity in Modelica.
Simulation models can be developed using a graphical editor for connection diagrams. Connections are established just by drawing lines between objects picked from a class library. The Modelica model is translated into a set of constants, variables and equations. Equations are sorted and converted to assignment statements when possible. Strongly connected sets of equations are solved by calling a symbolic and/or numeric solver. The C/C++ code generated from Modelica models is quite efficient.
High performance parallel simulation code can be obtained either at the coarse-grained level by identifying fairly independent submodels which are simulated in parallel, or at the fine-grained level by parallelizing on clustered expression nodes in the equation graph. Preliminary results using the coarse-grained approach have been obtained in an application on simulating an autonomous aircraft watching car traffic.
Unable to display preview. Download preview PDF.