Tutorials at the 9th International Modelica Conference 2012 in Munich
The following 8 tutorials will be held on Monday Afternoon, September 3, 2012
Tutorial 1: Introduction to Modeling, Simulation, and Parallel Computing with Modelica using OpenModelica
by Peter Fritzson, Olena Rogovchenko, Martin Sjölund, Mahder Gebremedhin, Kristian Stavåker, Linköpping University, Sweden
The first of the tutorial part 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 second part presents methods how multi-core computational power be used for efficient simulation of Modelica models. This includes automatic parallelization of equation-based models, coarse- grained explicit parallelization, and execution on GPUs. Depending on the attendees the two parts are presented in parallel or sequentially. The OpenModelica environment with its graphical user interface and scripting will be used for hands-on exercises.
Tutorial 2: Mathematical Aspects of Modeling and Simulation with Modelica
by Bernhard Bachmann, University of Applied Sciences Bielefeld, Germany
The object-oriented modeling language Modelica provides powerful features that make it possible to build up and simulate 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. The different phenomena are explained in detail using simple Modelica examples which can be thoroughly analyzed during hand-out exercises.
Tutorial 3: Synchronous Controllers and State Machines in Modelica 3.3
by Hilding Elmqvist, Sven Erik Mattsson, Dassault Systemes, Sweden
and Martin Otter, Bernhard Thiele, DLR, Germany
It is planned to extend Modelica with synchronous constructs for describing discrete-time controllers as well as state machines for sequential control and hybrid system modeling. Much focus is given to safe constructs and intuitive and well-defined semantics. The tutorial will introduce the new concepts planned for Modelica 3.3 and give plenty of examples on how to use them in practice. The principles of partitioning a system model into different clocks (continuous, periodic, non-periodic, multi-rate) will be explained. Parallel and hierarchical state machines will be introduced including submodels within states. The supporting Modelica library will be described and how mapping to various hardware platforms, for hardware-in-the-loop simulation and embedded control, is performed. Hands on exercises, using Dymola, will give the participants a more detailed understanding of the power of the new features for synchronous controllers and state machines.
Tutorial 4: Vehicle Dynamics Library Tutorial
by John Griffin and Johan Andreasson, Modelon AB, Sweden
This tutorial session will allow attendees to be introduced to the capabilities of Dymola and the Vehicle Dynamics Library (VDL). Attendees will have the opportunities to walk-through the library. The benefits of Modelica-based tools will be highlighted through guided, hands-on example experiments. These examples will demonstrate how Dymola/VDL can be successfully used at any phase of the vehicle design process with experiments ranging from the vehicle component to the system level.
Tutorial 5: Dynamic Optimization and FMI Simulation with JModelica.org
by Johan Åkesson and the JModelica.org team, Modelon AB, Sweden
Dynamic optimization is becoming a standard industrial technology to solve a wide range of industrial engineering problems. These include optimal control and model predictive control, model calibration and state estimation as well as design and sizing problems. In this tutorial, participants will get hands on experiences with formulating and solving engineering problems where simulation based on the FMI standard, dynamic optimization based on the Optimica extension and Python scripting are used as building blocks. During the tutorial, we will also discuss challenges and pitfalls in optimization of industrial processes, and we highlight modeling considerations for dynamic optimization. The open source platform JModelica.org is used in the tutorial.
Tutorial 6: Advanced Analysis of Modelica Models using MapleSim and Maple
by Orang Vahid and Stefan Vorkoetter, Maplesoft, Canada
Since its inception, Modelica has held the promise of letting engineers go further with physical modeling than just running simulations. With recent developments in MapleSim and Maple, users can create and document their own symbolic and numeric analyses of Modelica models in a rich problem-solving environment, in addition to performing traditional simulations.
This tutorial will guide you through the process of loading a Modelica model into Maple and then extracting the model equations into a form amenable to a wide range of analysis. Through hands-on exercises, it will provide you with basic skills in developing your own analyses in Maple, and implementing the results in MapleSim.
Examples will include control design, frequency analysis, vibration attenuation, parameter sweeps, Monte-Carlo and optimization, and sensitivity analysis. Attendees will be provided with an evaluation copy of Maple and MapleSim for use on their own Windows, Mac, or Linux computer.
Tutorial 7: Code-Export in SimulationX - Steps from offline model to real-time platform
by Karsten Todtermuschke, ITI Gmbh, Germany
The tutorial is provided with the creation of a simple powertrain model using elements from the Modelica Standard Library. Different analyzing methods like computation of natural frequencies or error estimates of state variables will be applied to ensure the real-time capability of this model.
Afterwards, a functional mock-up unit (FMU) of a selected component of the powertrain will be created for both Mmodel Exchange and Co-Simulation via code export. This will be followed by a re-import of the generated FMU into the powertrain model.
Finally, the comparison of the created models will show the similarities and differences between Model Exchange and Co-Simulation.
Tutorial 8: Creating new tools for Modelica using the Modelica SDK
by Peter Harmann, DeltaTheta, UK
Modelica models contain a significant resource of company intellectual property, from parameter data to the connectivity of subsystems in products. Development of Modelica libraries also creates, and requires, a lot of information such as where and how each model definition is utilised. The deltatheta Modelica SDK (Software Development Kit) maximises the use of this information by providing a complete Modelica implementation embedded in a software library. This allows developers to create their own tools and utilities that can access, query, modify, translate and simulate Modelica models.
Participants in this tutorial will learn how to use simple programming tools together with the deltatheta Modelica SDK to create powerful tools that can extract valuable information from their Modelica libraries. All software required will be provided and only basic programming experience is needed.