Version: 2017-06-09

Introduction to Modelica with Examples in Modeling, Technology, and Applications

This is a web-based executable extensible Modelica book that has been created to allow students and practitioners easy access to learn Modelica, modeling, simulation, analysis, optimization, etc., allowing editing of models and running simulations in the book from a web page.


Work has been started on adding 3D visualization/animation and graphical model editing capabilities to a future version of this book.


The book is open for submissions of material for on-line publication, each part labeled with the corresponding authors. All material is open source, but different parts can have different open source licenses and copyrights. The Creative Commons Attribution-ShareAlike 4.0 International License is the default open source license if nothing else is specified. An editorial board of academic professionals handle submissions, improve the quality, and when needed provide material in relevant areas.


The book is published by Linköping University Electronic Press in the series ”Linköping University Interdisciplinary Studies” with ISSN 1650-9625. Citations of the whole book or separate chapters are possible. Pdf snapshots of the book contents will be taken regularly and published on-line in addition to the live editable/executable version.

Web book editoral board

Prof. Peter Fritzson. Modelica language and technology

Prof. Bernhard Bachmann. Mathematics, symbolics, numerics

Prof. Kannan Moudgalya. Chemical engineering modeling, spoken-tutorials

Prof. Francesco Casella. Power plants, control, fluid modeling

Prof. Bernt Lie. Control, process industry, hydropower, Python

Prof. Jiri Kofranek. Biochemistry and physiology modeling

Prof. Anton Haumer, Electric Drives and Mechatronics

Prof. Christoph Nytsch Geusen. Building modeling and simulation

Prof. Luigi Vanfretti, Electrical power systems


Open for submission of material for on-line publication. Content is prepared and tested off-line using the OpenModelica OMNotebook tool; then sent in for html conversion and upload. For submission, send material to the editor-in-chief: peter.fritzson@liu.se


The Book is divided into a number of parts where each part can contain chapters, sections, and subsections. Click on the respective part to reach its content. Practical hints on using the book are available below ( hints ).


Top Level Table of Contents

1 Peter Fritzson. DrModelica – An Introduction to Modelica with interactive editable executable examples based on the book ”Principles of Object-Oriented Modeling and Simulation with Modelica 3.3 - a Cyber-Physical Approach”
2 Bernhard Bachmann. Mathematical Aspects of Modelica and Simulation including Symbolic and Numeric Techniques. --- In the process of being converted for uploading.
3 Kannan Moudgalya.Step-by-step audio-video tutorials on OpenModelica using OMEdit and the spoken-tutorial pedagogic approach
4 Francesco Casella. Introduction to Control with Modelica. --- Expected to be uploaded in September 2017.
5 Jiri Kofranek. Human Physiology Modeling. --- Expected uploading in the near future.
6 Anton Haumer. Introduction to Control of Electric Drives. --- Expected uploading in the near future.
7 Christoph Nytsch Geusen. Introduction to Building modeling and Simulation. --- Expected uploading in the near future.
8 Bernt Lie. Model linearization and control analysis. --- Expected upload in June 2017.
9 Massimo Ceraolo. Simplified Modelling of Electric and Hybrid Vehicles. --- Expected upload in July 2017.
10 More submissions ....

Hints on Using OMWebbook

Function Button-action Short-Cut-keys-action
Evaluate Cell Click the Cell and Press "Evaluate Cell" Click the Cell and Press "Shift+Enter"
Evaluate All Cells Press "Eval all" button Press "Shift+Ctrl"
Add Cells Click "Add cells" button Press "Ctrl+i"
Delete Cells Click the Cell and Press "Delete Cells" Click the Cell and Press "Delete"
Insert Cells between Click the Cell and Press "Insert Between" Click the Cell and Press "Ctrl+b"
Save to pdf Click the "Save" Press "Ctrl+s"