Modelica is a language for modeling of cyber-physical systems, supporting acausal connection of components governed by mathematical equations to facilitate modeling from first principles. It provides object-oriented constructs that facilitate reuse of models, and can be used conveniently for modeling complex systems containing, e.g., mechanical, electrical, electronic, magnetic, hydraulic, thermal, control, electric power or process-oriented subcomponents.
Learning the Modelica Language
The Modelica language has been designed to be readable and understandable by engineers or in general students with a mathematical background.
The classic free online language guides are:
- The Modelica 1.4 Tutorial by the Modelica Association
- Modelica by Example by Michael Tiller
In addition to these language guides, a collection of books provides further background material and exercises.
A quick overview of the syntax elements are provided by the
- Modelica Web Reference from Michael Tiller.
- Modelica Quick Reference from Wolfram.
When coding it is good to follow certain conventions. You may have a look at the coding conventions from the Modelica Standard Library.
When modelling, a lot can be learned from existing models. Hence, it is a good idea to study the Modelica Standard Library.
Using the Modelica Language
In order to use the Modelica Language you need a tool implementing the language - and to be more effective libaries of existing models.
When learning the language with a tool, please take into account that most tools offer additional training material.
Modelica Language Specification
Modelica Specification 3.6 (March 2023, current) [PDF] [HTML]
All versions are available at specification.modelica.org based on the development work.