# Tutorials

## Tutorial 1: Introduction to Object-Oriented Modelling and Simulation with OpenModelica

Tutors | Adrian Pop, Håkan Lundvall, Peter Bunus, Peter Fritzson University of Linköping, Sweden |

Description | The tutorial presents gives an introduction to object-oriented component-based computer supported mathematical modeling and simulation through the powerful Modelica language and its associated technology. Modelica can be viewed as an almost universal approach to high level computational modeling and simulation, by being able to represent a range of application areas and providing general notation as well as powerful abstractions and efficient implementations. The tutorial gives an introduction to the Modelica language to people who are familiar with basic programming concepts. It gives a basic introduction to the concepts of modeling and simulation, as well as the basics of object-oriented component-based modeling for the novice, and an overview of modeling and simulation in a number of application areas. The OpenModelica open-source environment will be used for textual modeling exercises and MathModelica for graphical hands-on exercises. |

Material | Tutorial 1 (zip, 6.1 MB) |

## Tutorial 2: Mathematical Aspects of Modeling and Simulation with Modelica

Tutor | Bernhard Bachmann University of Applied Sciences Bielefeld, Germany |

Description | The investigation of dynamical systems in mechanical, electrical or chemical engineering usually requires mathematical modeling of the system behavior. The object-oriented modeling language Modelica provides powerful features which make it possible to build up very complex even hybrid systems quite easily. But, what happens if a Modelica tool is not capable to compile and/or correctly simulate the system of interest? Reasons can be i.e. modeling errors, wrong parameter values and/or numerical instabilities. Automatic problem detection is usually not possible and only understanding of symbolical and numerical techniques behind the scene can help in resolving this issue. This tutorial provides a basic understanding on the mathematical aspects of object-oriented modeling and simulation. Different phenomena are explained in detail using simple examples which can be thoroughly analyzed during hand-out exercises. |

Material | Tutorial 2 (zip, 0.8 MB) |

## Tutorial 3: Simulation of Electric Machines and Drives using the Machines and the SmartElectricDrives

Tutors | Anton Haumer, Johannes Gragger, Harald Giuliani, Hansjörg Kapeller, Thomas Bäuml arsenal research, Vienna, Austria |

Description | The tutorial starts with an introduction to electric machines. This includes DC machines, asynchronous machines and permanent magnet synchronous machines. Simple applications of starting and operating the machines will be presented using the Machines package of the Modelica Standard Library. The limits of operation of open loop and mains supplied machines will be discussed. For operating electric machines at variable speed (or torque) usually closed loop drives are used. The basic principle of a closed loop drive system will be explained. For the examples presented in this tutorial the SmartElectricDrives (SED) library will be used. An overview of the structure of the basic components (source, converter, machine, control unit, sensor and load) of the SED library will be given. The basics of controlling DC machines are outlined, followed by an introduction to space phasors (as the reference frames get explained the transformation blocks in the SED library get pointed out). The torque controlled drive models of a DC machine, an asynchronous induction machine and a permanent magnet synchronous machine are presented. For these drive types the differences between TransientDrives and QuasiStationaryDrives will be compared. Then the Sources models will be explained and their parameterization will be discussed. After this two examples using an asynchronous induction machine and a permanent magnet induction machine are shown. These examples will demonstrate the correct use of the bus connectors and the supplementary functions for estimating the control and machine parameters. |

Material | Tutorial 3 (zip, 1.2 MB) |

## Tutorial 4: Modeling of Thermodynamic Systems using Modelica_Fluid and Modelica.Media

Tutors | Hubertus Tummescheit, Jonas Eborn Modelon AB, Lund, Sweden |

Description | The goal of the tutorial is to get an overview over Modelica libraries for thermodynamic system modeling and show how to make use of Modelica’s unique features in thermodynamics modeling. Compared to traditional, specialized flow sheeting tools, Modelica offers increased flexibility. The new Media and Fluid libraries make this flexibility accessible without the drawback of laborious model implementation. We will explain the design ideas behind the libraries and, through a series of hands-on exercises, learn to use the libraries for simple examples. Using these examples, we will investigate typical modeling trade-offs in thermodynamics between models intended for component design use and models intended for system design use. The same examples will be used to demonstrate typical numerical pitfalls in thermo-fluid systems. |

Material | Tutorial 4 (zip, 0.4 MB) |

## Tutorial 5: Simulation of Rigid and Flexible Multibody Systems

Tutor | Andreas Heckmann German Aerospace Center, Oberpfaffenhofen, Germany |

Description | Quite often the mechanical components are the core elements of a complex technical system. Therefore a modelling language such as Modelica relies on the capability to systematically treat the dynamic behaviour of interconnected bodies influenced by various physical quantities. In order to answer this purpose the Modelica Multibody Library and the Modelica FlexibleBodies Library provide a range of modelling elements to describe rigid or flexible bodies respectively which may undergo large 3-dimensional translational and rotational displacements. The tutorial will give an introduction to these capabilities. The presentation and the hands-on exercises will be focussed on the FlexibleBodies Library from the DLR under consideration of its basis given in the Modelica Multibody Library for rigid bodies. In particular the goals of the tutorial are:* To present the main modelling components from the user’s point of view.* To provide initial hands-on experience.* To describe the main underlying concepts and their theoretical background.* To discuss essential details of the implementation.As a common platform for exercises, software with both libraries and a test version of the simulation environment Dymola will be provided (MS Windows operating system). Please bring a laptop with CD-reader in order to participate in the exercises. |

Material | Tutorial 5 (zip, 2 MB) |

# Libraries

## Libraries 1: Libraries applying for the Modelica 2008 library award

**Belts - A Library for Modeling Belts and Drives with Modelica**

Rettig, Frank (corresponding author), Werner, Florian, Hanke, Jürgen, Popp, Markus

**Modelica_Magnetic - A Modelica Library for Network Modelling of Electromagnetic Devices**

Bödrich, Thomas

**ThermoBondLib - A New Free Modelica Library for Modeling Convective Flows**

Cellier, François (corresponding author), Greifeneder, Jürgen

## Libraries 2: Further libraries

**PDELib - A New Free Modelica Library for Modeling Distributed Parameter Systems in one Space Dimension**

Cellier, François (corresponding author), Dshabarow, Farid

**SystemDynamics - A Free Modelica Library for Modeling Soft-Science Systems Using the System Dynamics Methodology**

Cellier, François

**AC**

This is a test implementation of complex time phasors, according to the paper:

Quasi-Stationary Modeling and Simulation of Electrical Circuits using Complex Phasors

Anton Haumer, Christian Kral, Johannes V. Gragger, Hansjörg Kapeller

**BondLib - A Free Modelica Library for Modeling Physical Systems Using Bond Graphs**

This library is needed for the ThermoBondLib

Cellier, François