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:

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

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.