Modelica—A language for equation-based physical modeling and high performance simulation

  • Peter Fritzson
Conference paper

DOI: 10.1007/BFb0095332

Volume 1541 of the book series Lecture Notes in Computer Science (LNCS)
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

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Peter Fritzson
    • 1
  1. 1.PELAB, Dept. of Computer and Information ScienceLinköping UniversityLinköpingSweden