The Language for Cyber-Physical Systems

Size: px
Start display at page:

Download "The Language for Cyber-Physical Systems"

Transcription

1 Towards Dependable Model-based Development of Cyber-Physical Systems through Modelica The Language for Cyber-Physical Systems Invited talk IPA Seminar, Tokyo, Japan October 17, 2011 Peter Fritzson Professor at Linköping University, Sweden Vice Chairman of Modelica Association Director of Open Source Modelica Consortium

2 Part I Introduction ti to Modelica 2

3 Modelica Background: Stored Knowledge Model knowledge is stored in books and human minds which h computers cannot access The change of motion is proportional to the motive force impressed d Newton 3

4 Modelica Background: The Form Equations Equations were used in the third millennium B.C. Equality sign was introduced d by Robert Recorde in 1557 Newton still wrote text (Principia, vol. 1, 1686) The change of motion is proportional to the motive force impressed CSSL (1967) introduced a special form of equation : variable = expression v = INTEG(F)/m Programming languages usually do not allow equations! 4

5 What is Modelica? A language for modeling of complex cyber-physical systems Robotics Control Automotive Aircraft Satellites Power plants Systems biology 5

6 What is Modelica? A language for modeling of complex cyber-physical systems Primary designed for simulation, but there are also other usages of models, e.g. optimization. 6

7 What is Modelica? A language for modeling of complex cyber physical systems i.e., Modelica is not a tool Free, open language specification: There exist several free and commercial tools, for example: OpenModelica from OSMC MathModelica from MathCore Dymola from Dassault systems SimulationX from ITI MapleSim from MapleSoft Available at: 7

8 Modelica The Next Generation Modeling Language Declarative language Equations and mathematical functions allow acausal modeling, high level specification, increased correctness Multi-domain modeling Combine electrical, mechanical, thermodynamic, hydraulic, biological, control, event, real-time, etc... Everything is a class Strongly typed object-oriented language with a general class concept, Java & MATLAB-like syntax Visual component programming Hierarchical system architecture capabilities Efficient, non-proprietary Efficiency comparable to C; advanced equation compilation, e.g equations, ~ lines on standard PC 8

9 Modelica Acausal Modeling What is acausal modeling/design? Why does it increase reuse? The acausality makes Modelica library classes more reusable than traditional classes containing assignment statements where the input-output causality is fixed. Example: a resistor equation: R*i = v; can be used in three ways: i := v/r; v := R*i; R := v/i; 9

10 What is Special about Modelica? Multi-Domain Modeling Visual acausal hierarchical component modeling Typed declarative equation-based textual language Hybrid modeling and simulation 10

11 What is Special about Modelica? Multi-Domain Modeling 11

12 What is Special about Modelica? Multi-Domain Modeling Acausal model (Modelica) Keeps the physical structure Visual Acausal Hierarchical Component Modeling Causal block-based model (Simulink) 12

13 What is Special about Modelica? Multi-Domain Modeling qddref qdref 1 S qref 1 S k2 i k1 i Hierarchical system modeling cut joint r3control r3motor r3drive1 1 qd tn axis6 axis5 Visual Acausal Hierarchical Component Modeling l qdref Kd 0.03 S rel qref psum - Kv 0.3 sum wsum - rate2 b(s) a(s) rate S iref Jmotor=J spring=c fric=rv0 gear=i joint=0 S axis4 axis3 rate1 tacho2 tacho1 b(s) a(s) b(s) a(s) PT1 g5 axis2 q qd Rd1=100 Rp2=50 C=0.004*D/w m Rp1=200 Ra=250 Courtesy of Martin Otter Srel = n*transpose(n)+(identity(3)- Rd2=100 n*transpose(n))*cos(q)- Ri=10 skew(n)*sin(q); wrela = n*qd; + + diff + pow er zrela = n*qdd; OpI Sb = Sa*transpose(Srel); Rd4=100 r0b = r0a; vb = Srel*va; g3 wb = Srel*(wa + wrela); g1 ab = Srel*aa; zb = Srel*(za + zrela + cross(wa, wrela)); Vs Rd3=100 hall2 hall1 La=(250/(2*D*w wm)) emf w r axis1 y x inertial g2 qd g4 q 13 Courtesy of Martin Otter

14 What is Special about Modelica? Multi-Domain Visual Acausal Modeling Hierarchical A textual class-based language Component OO primary used for as a structuring concept Modeling Behaviour described declaratively using Differential algebraic equations (DAE) (continuous-time) Event triggers (discrete-time) Variable declarations Typed Declarative Equation-based Textual Language g class VanDerPol "Van der Pol oscillator model" Real x(start = 1) "Descriptive string for x ; Real y(start = 1) "y coordinate ; ; parameter Real lambda = 0.3; equation der(x) = y; der(y) = -x + lambda*(1 - x*x)*y; x) end VanDerPol; Differential equations 14

15 What is Special about Modelica? Multi-Domain Modeling Hybrid modeling = continuous-time + discrete-time modeling Visual Acausal Component Modeling Continuous-timetime Discrete-time Typed Declarative Equation-based Textual Language g time Hybrid Modeling 15

16 16 Graphical Modeling - Using Drag and Drop Composition

17 Multi-Domain (Electro-Mechanical) Modelica Model A DC motor can be thought of as an electrical circuit which also contains an electromechanical component model DCMotor Resistor R(R=100); Inductor L(L=100); VsourceDC DC(f=10); Ground G; ElectroMechanicalElement EM(k=10,J=10, b=2); Inertia load; equation R L connect(dc.p,r.n); EM connect(r.p,l.n); DC connect(l.p, EM.n); connect(em.p, DC.n); load connect(dc.n,g.p); connect(em.flange,load.flange); G end DCMotor 17

18 Corresponding DCMotor Model Equations The following equations are automatically derived from the Modelica model: (load component not included) Automatic transformation to ODE or DAE for simulation: 18

19 Model Translation Process to Hybrid DAE to Code Modelica Graphical Editor Modelica Textual Editor Modelica Model Modelica Source code Modelica Model Modeling Environment Frontend "Middle-end" Backend Translator Analyzer Optimizer Code generator Flat model Hybrid DAE Sorted equations Optimized i sorted equations C Compiler C Code Executable Simulation 19

20 Modelica in Power Generation GTX Gas Turbine Power Cutoff Mechanism Courtesy of Siemens Industrial Turbomachinery AB, Finspång, Sweden Hello Developed by MathCore for Siemens 20

21 21 Modelica in Avionics

22 22 Modelica in Automotive Industry

23 23 Modelica in Biomechanics

24 Application of Modelica in Robotics Models Real-time Training Simulator for Flight, Driving Using Modelica models generating real-time code Different simulation environments (e.g. Flight, Car Driving, Helicopter) Developed at DLR Munich, Germany Dymola Modelica tool Courtesy of Martin Otter, DLR, Oberphaffenhofen, Germany 24

25 Combined-Cycle Cycle Power Plant Plant model system level GT unit, ST unit, Drum boilers unit and HRSG units, connected by thermo-fluid ports and by signal buses Low-temperature parts (condenser, feedwater system, LP circuits) are represented by trivial boundary conditions. GT model: simple law relating the electrical load request with the exhaust gas temperature and flow rate. Courtesy Francesco Casella, Politecnico di Milano Italy and Francesco Pretolani, CESI SpA - Italy 25

26 Combined-Cycle Cycle Power Plant Steam turbine unit Detailed model in order to represent all the startup phases Bypass paths for both the HP and IP turbines allow to start up the boilers with idle turbines, dumping the steam to the condenser HP and IP steam turbines are modelled, including inertia, electrical generator, and connection to the grid Courtesy Francesco Casella, Politecnico di Milano Italy and Francesco Pretolani, CESI SpA - Italy 26

27 Modelica Spacecraft Dynamics Library Formation flying on elliptical orbits Control the relative motion of two or more spacecraft Attitude control for satellites using magnetic coils as actuators Torque generation mechanism: interaction between coils and geomagnetic field Courtesy of Francesco Casella, Politecnico di Milano, Italy 27

28 Modelica Standard Library Open Source, Developed by Modelica Association The Modelica Standard Library contains components from various application areas, including the following sublibraries: Blocks Library for basic input/output control blocks Constants Mathematical constants and constants of nature Electrical Library for electrical models Icons Icon definitions Fluid 1-dim Flow in networks of vessels, pipes, fluid machines, valves, etc. Math Mathematical functions Magnetic Magnetic.Fluxtubes for magnetic applications Mechanics Library for mechanical systems Media Media models for liquids and gases SIunits Su Type definitions based on SI units according to ISO Stategraph Hierarchical state machines (analogous to Statecharts) Thermal Components for thermal systems Utilities Utility functions especially for scripting 28

29 Brief Modelica History First Modelica design group meeting in fall 1996 International ti group of people with expert knowledge in both language design and physical modeling Industry and academia Modelica Versions 1.0 released September released March released March released September released May released May planned Fall 2012 Modelica Association established 2000 Open, non-profit organization 29

30 30 Modelica Conferences The 1 st International Modelica conference October, 2000 The 2 nd International Modelica conference March 18-19, The 3 rd International Modelica conference November 5-6, 2003 in Linköping, Sweden The 4 th International Modelica conference March 6-7, 2005 in Hamburg, Germany The 5 th International Modelica conference September 4-5, 2006 in Vienna, Austria The 6 th International Modelica conference March 3-4, 2008 in Bielefeld, Germany The 7 th International Modelica conference Sept 21-22, 2009, Como, Italy The 8 th International Modelica conference March 20-22, 2011 in Dresden, Germany The 4th Int. OpenModelica Workshop, Febr 6, 2012, Linköping, i Sweden

31 Part II Modelica Environments and OpenModelica 31

32 MathModelica Wolfram Research System Designer Simulation Center Mathematica Modeling and Simulation and Simulation and documentation analysis analysis Courtesy of Wolfram Research Wolfram Research MathModelica kernel USA, Sweden General purpose Mathematica integration 32

33 MathModelica Car Model Graphical View Courtesy Wolfram Research 33

34 MathModelica Car Model Simulation & Animation Courtesy Wolfram Research 34

35 MWORKS Suzhou Tongyuan Software & Control Tongyuan Software & Control China Recent Modelica tool on the market Interfaces with interfaces with CAD, FEM, Matlab/Simulink and FMI Courtesy of Tongyuan Software & Control MWORKS Studio 35

36 MapleSim MapleSoft Maplesoft Canada Recent Modelica tool on the market Integration with Maple Courtesy of MapleSoft 36

37 Dymola Dassault Systémès Dassault Systémès France, Sweden First Modelica tool on the market Main focus on automotive industry Courtesy of Dassault Systemes 37

38 Simulation X ITI ITI Germany Mechatronic systems Courtesy of ITI 38

39 OpenModelica, The Most Complete Open Source Modelica Tool OpenModelica Open Source Modelica Consortium (OSMC) International Open source OMEdit, graphical editor OMOptim, optimization subsystem 39

40 OpenModelica (cont.) Advanced Interactive Modelica compiler (OMC) Supports most of the Modelica Language Basic environment for creating models OMShell an interactive command handler OMNotebook a literate programming notebook MDT an advanced textual environment in Eclipse ModelicaML UML Profile MetaModelica symbolic manipulation 40 40

41 OpenModelica (cont.) OMEdit Using Chinese Characters 41

42 OSMC Open Source Modelica Consortium 34 organizational members September 2011 Founded Dec 4, 2007 Open-source community services Website and Support Forum Version-controlled source base Bug database Development courses Code Statistics 42

43 OSMC 34 Organizational Members, Sept 2011 (initially 7 members, 2007; New: Univ Maryland) Companies and Institutes (17 members) ABB Corporate Research, Sweden Bosch Rexroth AG, Germany Siemens Turbo Machinery AB, Sweden CDAC Centre for Advanced Computing, Kerala, India CEIT Institute, Spain Creative Connections, Prague, Czech Republic Fraunhofer FIRST, Berlin, Germany Frontway AB, Sweden Equa Simulation AB, Sweden Evonik Energy Services, Dehli, India IFP, Paris, France InterCAX, Atlanta, USA Wolfram/ MathCore USA, Sweden Maplesoft, Canada TLK Thermo, Germany VI-grade, Italy VTT, Finland XRG Simulation, Germany 43 Universities (17 members) Linköping University, Sweden Hamburg University of Technology/TuTech, Germany Technical University of Berlin, Germany FH Bielefeld, Bielefeld, Germany Technical University it of Braunschweig, Institute of Thermodynamics, Germany Technical University of Dortmund, Process Dynamics Group, Germany Université Laval, modeleau, Canada University of Maryland, USA Georgia Tech, Atlanta, USA Griffith University, Australia Politecnico di Milano, Italy Mälardalen University, Sweden Technical University Dresden, Germany Telemark University College, Norway Ghent University, Belgium Ecoles des Mines, CEP, Paris, France University of Ljubljana, Slovenia

44 OMnotebook Interactive Electronic Notebook Here Used for Teaching Control Theory 44

45 45 OpenModelica Demo

46 OpenModelica MDT Eclipse Plug-in 46 Code Outline for easy navigation within Modelica files Identifier Info on Hovering 46

47 OMOptim Optimization (1) Model structure Model Variables Optimized parameters Optimized Objectives 47

48 Problems OMOptim Optimization (2) Solved problems Result plot Export result data.csv Pareto Front 48

49 Modelica Language Interoperability External Functions C, FORTRAN 77 It is possible to call functions defined outside the Modelica language, implemented in C or FORTRAN 77 function polynomialmultiply input Real a[:], b[:]; output Real c[:] := zeros(size(a,1)+size(b, 1) - 1); external end polynomialmultiply; The body of an external function is marked with the keyword external If no language is specified, the implementation language for the external function is assumed to be C. The external function polynomialmultiply can also be specified, e.g. via a mapping to a FORTRAN 77 function: function polynomialmultiply input Real a[:], b[:]; output Real c[:] := zeros(size(a,1)+size(b, 1) - 1); external FORTRAN 77 end polynomialmultiply; 49

50 General Tool Interoperability & Model Exchange Functional Mock-up Interface (FMI) The FMI development is part of the MODELISAR 29-partner project FMI development initiated by Daimler Improved Software/Model/Hardware-in-the-Loop Simulation, of physical models and of AUTOSAR controller models from different vendors for automotive applications with different levels of detail. Open Standard 14 automotive use cases for evaluation > 10 tool vendors are supporting it etc. Engine Gearbox Thermal Automated Chassis components, with ECU with ECU systems cargo door roadway, ECU (e.g. ESP) functional mockup interface for model exchange and tool coupling courtesy Daimler 50

51 OpenModelica FMI Export and Import Export: translatemodel FMU(A) importfmu( A A.f mu ) 51

52 OPENPROD Large 28-partner European Project, Vision of Cyber-Physical Model-Based Product Development Business Process Control Requirements Capture Model-Driven Design (PIM) Feedback Compilation &Code Gen (PSM) System Simulation Process models Requirements models Product models Platform models Software & Syst Product Unified Modeling: Meta-modeling& Modelica& UML & OWL OPENPROD Vision of unified modeling framework for model-driven product development from platform independent d models (PIM) to platform specific models (PSM) Current work based on Eclipse, UML/SysML, OpenModelica 52

53 OpenModelica ModelicaML UML Profile SysML/UML to Modelica OMG Standardization ModelicaML is a UML Profile for SW/HW modeling Applicable to pure UML or to other UML profiles, e.g. SysML Standardized Mapping UML/SysML to Modelica Defines transformation/mapping for executable models Being standardized by OMG ModelicaML Defines graphical concrete syntax (graphical notation for diagram) for representing Modelica constructs integrated with UML Includes graphical formalisms (e.g. State Machines, Activities, Requirements) Which do not exist in Modelica language Which are translated into executable Modelica code Is defined towards generation of executable Modelica code Current implementation based on the Papyrus UML tool + OpenModelica 53

54 Example: Representation of System Behavior State Machine of the Controller Conditional Algorithm (Activity Diagram) State Machine of the Tank 54

55 Example: Representation of System Requirements Textual Requirement Formalized Requirement 55

56 Example: Simulation and Requirements Evaluation Req. 001 is instantiated 2 times (there are 2 tanks in the system) tank-height is 0.6m Req. 001 for the tank2 is violated Req. 001 for the tank1 is not violated 56

57 vvdr virtual Verification of Design Requirements vvdr Roles and Tasks Requirements Analyst -Select requirements to be verified using simulations -Formalize textual requirements System Designer System Tester -Support Requirements Analyst in selecting requirements -Create system design models to be verified against requirements -Support System Tester in deciding which requirements are to be verified using which test cases -Support System Tester in linking requirement properties to design model properties -Create test modes including test cases and decide which requirement are to be verified using which test cases -Link requirements to design models -Simulate and create a Simulation Summary Report 57

58 1) Select Requirements To Be Evaluated by Means of Simulation 1. Read a requirement Agreed textual requirements Requirements Analyst in collaboration with System Designer 2. Decide if this requirement shall be evaluated using a simulation model (involve the System Designer) Selected textual requirements 3. Is this requirement complete, unambiguous and testable by using a simulation model? 4. If yes: Mark this requirement as selected 58

59 1) Select Requirements to Be Evaluated by Means of Simulation Example of selected requirements: If at any time the controller calculates l a "caution" " signal, it shall, within 0.5 seconds, enable the alarm in the driver cabin. If the alarm in the driver cabin has been activated due to a "caution" signal and the train speed is not decreasing by at least 0.5 m/s^2 within 2 seconds after activation of alarm, then the controller shall within 0.5 seconds activate the automatic braking. If at any time the controller calculates a "danger" signal it shall within 0.5 seconds activate the braking system and enable the alarm in the driver cabin. 59

60 1) Select Requirements to Be Evaluated by Means of Simulation Example of requirements that are not selected: The sensors shall be attached to the side of the train and read information from approaching track-side signals, i.e. they detect what the signal is signaling to the train driver. Why not? We do not plan to create a model that will contain all information required to detect whether the sensors are attached to the side of the train. Simulation may not be best suited means to verify this requirement. Inspection of the design may be more appropriate. The ATP system shall consist of a central controller and five boundary subsystems that manage the sensors, speedometer, brakes, alarm and a reset mechanism. Why not? This is a design constraint to be taken into account. Inspection of the design will be sufficient to verify this requirement. 60

61 2) Formalize Textual Requirements Selected textual requirements Requirements Analyst 61

62 2) Formalize Textual Requirements Textual requirement example: If at any time the controller calculates a "caution" signal, it shall, within 0.5 seconds, enable the alarm in the driver cabin. Requirements Analyst 1. Identify measurable properties addressed in the requirement statement 2. Formalize properties and define requirement violation monitor Formalized requirement: 62

63 3) Select or Create Design Model To Be Verified Against Requirements System Requirements System Design Alternatives System Designer 63

64 4) Create Test Models, Instantiate Models System Tester in collaboration with System Designer Define test models that will contain a test case, requirements models and a design model to be verified against requirements This model will contain the information required for reproducing tests results Define test cases for evaluating requirements One test case can be used for evaluating one or more requirements Create additional models if necessary For example, models that simulate the environment of the system, models that stimulate the system, models that monitor specific values, etc. 64

65 4) Create Test Models, Instantiate Models System Tester in collaboration with System Designer Test Case description 65

66 5) Link Requirement Properties to Design Model Properties Instantiated requirement System Tester in collaboration with System Designer Instantiated design model 66 Requirement properties are linked to design model properties

67 6) Simulate and Observe Requirement Violations System Tester Requirement violation indication 67

68 7) Analyze Simulation Results Create a Simulation Summary Report including: For each test model include the simulation configuration: Which design model, test cases and requirements were included Requirements violations, if any. This configuration allows the reproducing of test results The reports can be used as reference for product verification Requirements Analyst System Designer Simulation Summary Report System Tester 68

69 vvdr Summary vvdr is a method for the verification of design against requirements by using simulations The method applicability depends on Design simulation models that are planned to be created Quality (testability, t completeness and correctness) of requirements to be verified Formalization and modeling activities are performed by different roles according to their competencies The separation of requirements, designs and test cases Enables reuse and combination of requirements in different test cases for different design alternatives Enables a automated re-evaluation of requirements along the system design evolution 69

70 Interactive Simulation with OpenModelica Online manipulation of parameters Simulation Control Examples of Simulation Visualization Plot View Requirements Evaluation View Liquid Source MaxLevel Level h Level h Domain-Specific Visualization View Tank 1 Tank 2 70

71 MetaModelica Language Extension Meta-Level Operations on Models Model Operations Creation, Query, Manipulation, Composition, Management Manipulation of model equations for Optimization purposes Parallelization, Model checking Simulation with different solvers MetaModelica language features Lists, trees, pattern matching, symboli transformations Garbage collection Very Large MetaModelica Application OpenModelica compiler, implemented in lines of MetaModelica, compiles itself efficiently. 71

72 Faster Simulation Compiling Modelica to Multi-Core Automatic Parallelization of Mathematical Models Parallelism over the numeric solver method. Parallelism over time. Parallelism over the model equation system... with fine-grained task scheduling Coarse-Grained Explicit Parallelization Using Components The programmer partitions the application into computational components using strongly-typed communication interfaces. Co-Simulation, Transmission-Line Modeling g( (TLM) Explicit Parallel Programming Providing general, easy-to-use explicit parallel programming constructs within the algorithmic part of the modeling language. OpenCL, CUDA,... 72

73 Example Task Graphs and Parallelized Application Speedup # Proc Clustered Task Graph Thermofluid Pipe Application 73

74 Task Merging vs Approach with Pipelining/Inlining g S 74 Equation tasks S Eq quation ta asks Eq quation t asks Equ ation tas sks Equation tasks Eq quation ta asks Use a graph rewriting system to merge tasks into larger tasks, based on latency and bandwidth. Some tasks are duplicated to avoid communication within a step S S S S S S S S S S S Try to keep communication as close as possible Only communicate in one direction inside a time step. Solver Inlining distribute the solver across all the processors

75 Some Speedup Measurements on NVIDIA Modelica Model, Generated Code, Function of Problem Size 75

76 Bayesian Network Based Fault and Failure Analysis Developing a Fault and Failure analysis tool for the engineers, containing the following features: Modelica/UML/SysML-like intuitive GUI design interface with simulation Functionality Generate Failure Mode and Effect Analysis, FMEA table Generate Fault Tree, FTA table Answer to Queries Probability of hazards Root cause of hazards Infer hazards, given the root cause 76

77 Bayesian Network Based Fault and Failure Analysis Association of Services to the Components Legend 77

78 Bayesian Network Based Fault and Failure Analysis Illustration of the Work-Flow Modelica Model Model Parser Equation Type Equations System Reference Systems struct Interfacing Evaluate Parsed Model and Generate the Causal Network SMILE & GeNIe Interfacing 78 Bayesian Network FMEA FTA

79 Efficient Traceable Model-Based Dynamic Optimization EDOp Research Project Integrated modeling & optimization in OpenModelica Equation oriented tool, generation of efficient parallel code Based on OpenModelica, cooperation with Open-Source Consortium Including model error traceability and localization Efficient solution methods for model-based optimization problems Methods can exploit structure of the problem and their equations Exploit models for parallel computing Utilize equations to analytically compute gradients and hessians, faster search routines Optimized Heavy Industrial Applications Trucks (Scania), Wheel Loaders (Volvo CE) Bearing applications in mechanical systems (e.g. wind power, SKF) Siemens: Gas turbines, Frontway: Process industry 79

80 Extending Modelica with PDEs for 2D, 3D flow problems class PDEModel HeatNeumann h_iso; Dirichlet h_heated(g=50); HeatRobin h_glass(h_heat=30000); HeatTransfer ht; Rectangle2D dom; equation dom.eq=ht; dom.left.bc=h_glass; dom.top.bc=h_iso; dom.right.bc=h_iso; dom.bottom.bc=h_heated; end PDEModel; Insulated boundary: Conducting boundary: u 60 Poorly insulated boundary: T 20 inf 80

81 Part III Future Modelica and Modelica 4 81

82 Motivation for Modelica 4 1) Modelica is getting large and complicated, with many special cases Increasingly harder to extend the language Increasingly harder to implement the language in a correct way 2) Current Modelica 3.2 problems with the synchronous (event-handling) features in embedded systems contexts Improvements needed for a fast and correct Embedded Systems Library Goal is good support for embedded systems development 82

83 Improved Synchronous Features in Modelica More precise synchronous features, clock, subsampling, etc. Can be separated from the continuous-time parts Usage in generating fast code for embedded systems New version will be developed of Embedded Systems Library First version scheduled for release in the Modelica 3.3 Language; g Planned for December

84 Approach to Modelica 4 Simplify and generalize language features Partly Library-based definition Define many Modelica language features by modeling the language features in a Core Library This needs core language extensions symbolic recursive data structures (trees, lists) pattern matching for transformations some higher-order language features. Ongoing design work in Modelica Association Advantages improved correctness language modularity and extensibility 84

85 Language Features and Symbolic Data Structures Needed for Modelica 4 More higher-order functions (function arguments to functions, returning functions, etc.) Subtyping polymorphism Recursive data structures (trees, lists, etc.) Pattern-matching for model transformations Such language features have been designed in the MetaModelica language extension One version implemented in the OpenModelica compiler Bootstrapping Paper in Modelica conference, March 2011 Innovative application, Paper Debugging Symbolic Transformations in Equation Systems, EOOLT, Sept

86 OpenModelica Large Test Case Collective and symbolic operations Large application for symbolic operations, the OpenModelica compiler, > lines Very large (and difficult) test model! First object-oriented equation-based language compiler that compiles itself = bootstrapping Advantages of bootstrapped compiler Faster compilation for the developers Complete Modelica language for easier programming Better error messages and maintainability Makes a more advanced Modelica debugger possible Makes performance analysis possible Supports some Modelica 4 like features 86

87 OMC Performance Compiled Using Itself Flattening small models OMC compiling itself Task MMC OMC Factor Task MMC OMC Factor Translate sources to C 98.8s 49.7s 0.50x drmodelica, 104 flattening 2.136s 2.049s 0.96x tests mofiles, 548 flattening s s 1.05x tests msl 1.5, 60 flattening tests 1.726s 1.578s 0.91x mosfiles, 120 simulation test s s 1.03x Compile C, gcc O s 152.0s 0.65x Executable size 18.7MB 5.43MB 0.29x Compile C, gcc Os 218.9s 102.8s 0.47x Executable size 10.3MB 5.10MB 0.50x Debug version, gcc g O3 1405s 152.5s 0.11x Executable size 125MB 25MB 0.20x 87

88 Part IV Modelica language concepts and textual modeling Typed Declarative Equation-based Textual Language Hybrid Modeling 88

89 Acausal Modeling The order of computations is not decided at modeling time Acausal Causal Visual Component Level Equation Level A resistor equation: R*i = v; Causal possibilities: i := v/r; v := R*i; R := v/i; 89

90 90 Typical Simulation Process

91 Simple model - Hello World! Equation: x = - x Initial condition: x(0) = 1 Continuous-time variable Parameter, constant during simulation Name of model Initial condition model HelloWorld "A simple equation" Real x(start=1); parameter Real a = -1; equation der(x)= a*x; end HelloWorld; Simulation in OpenModelica environment 1 Differential equation simulate(helloworld, stoptime = 2) plot(x)

92 Modelica Variables and Constants Built-in primitive data types Boolean true or false Integer Integer value, e.g. 42 or 3 Real Floating point value, e.g. 2.4e-6 String String, e.g. Hello world Enumeration Enumeration literal e.g. ShirtSize.Medium Parameters are constant during simulation Two types of constants in Modelica constant constant Real PI= ; parameter constant String redcolor = "red"; constant Integer one = 1; parameter Real mass = 22.5; 92

93 A Simple Rocket Model Rocket apollo13 mg thrust thrust mass gravity acceleration mass mass masslossrate abs thrust altitude velocity velocity acceleration new model parameters (changeable before the simulation) floating point type differentiation with regards to time class Rocket "rocket class" parameter String name; Real mass(start= ); Real altitude(start= 59404); Real velocity(start= -2003); Real acceleration; Real thrust; // Thrust force on rocket Real gravity; // Gravity forcefield parameter Real masslossrate= ; equation (thrust-mass*gravity)/mass t = acceleration; der(mass) = -masslossrate * abs(thrust); der(altitude) = velocity; der(velocity) = acceleration; end Rocket; declaration comment start value name + default value mathematical ti equation (acausal) 93

94 Celestial Body Class A class declaration creates a type name in Modelica class CelestialBody constant Real g = 6.672e-11; parameter Real radius; parameter String name; parameter Real mass; end CelestialBody; An instance of the class can be declared by prefixing the type name to a variable name... CelestialBody moon;... The declaration states that moon is a variable containing an object of type CelestialBody 94

95 Moon Landing Rocket apollo13 mg thrust apollo. gravity moon. g moon. mass apollo. altitude moon. radius 2 altitude CelestialBody only access inside the class access by dot notation outside the class class MoonLanding parameter Real force1 = 36350; parameter Real force2 = 1308; protected parameter Real thrustendtime = 210; parameter Real thrustdecreasetime = 43.2; public Rocket apollo(name="apollo13"); CelestialBody moon(name="moon",mass=7.382e22,radius=1.738e6); equation apollo.thrust = if (time < thrustdecreasetime) then force1 else if (time < thrustendtime) then force2 else 0; apollo.gravity=moon.g*moon.mass/(apollo.altitude+moon.radius)^2; end MoonLanding; 95

96 Simulation of Moon Landing simulate(moonlanding, stoptime=230) plot(apollo.altitude, xrange={0,208}) plot(apollo.velocity, xrange={0,208}) It starts at an altitude of (not shown in the diagram) at time zero, gradually reducing it until touchdown at the lunar surface when the altitude is zero The rocket initially has a high negative velocity when approaching the lunar surface. This is reduced to zero at touchdown, giving a smooth landing 96

97 Specialized Class Keywords Classes can also be declared with other keywords, e.g.: model, record, block,, connector,, function,,... Classes declared with such keywords have restrictions or enhancements These apply to the contents of specialized classes After Modelica 3.0 the class keyword means the same as model Example: A model is a class that cannot be used as a connector class Example: A record is a class that only contains data, with no equations Example: A block is a class with fixed input-output causality model CelestialBody constant Real g = 6.672e-11; parameter Real radius; parameter String name; parameter Real mass; end CelestialBody; 97

98 Modelica Functions Modelica Functions can be viewed as a special kind of specialized class A function can be called with arguments, and is instantiated dynamically when called function sum input Real arg1; input Real arg2; output t Real result; algorithm result := arg1+arg2; end sum; 98

99 Function Call Example Function with for-loop Example Modelica function call:... p = polynomialevaluator({1,2,3,4},21) function PolynomialEvaluator input Real A[:]; // array, size defined // at function call time input Real x := 1.0;// default value 1.0 for x output Real sum; protected Real xpower; // local variable xpower algorithm sum := 0; xpower := 1; for i in 1:size(A,1) loop sum := sum + A[i]*xpower; xpower := xpower*x; end for; end PolynomialEvaluator; {1,2,3,4} becomes the value of the coefficient vector A, and 21 becomes the value of the formal parameter x. The function PolynomialEvaluator computes the value of a polynomial given two arguments: a coefficient vector A and a value of x. 99

100 Inheritance parent class to Color restricted kind of class without equations child class or subclass keyword denoting inheritance record ColorData parameter Real red = 0.2; parameter Real blue = 0.6; Real green; end ColorData; class Color extends ColorData; equation red + blue + green = 1; end Color; class ExpandedColor parameter Real red=0.2; parameter Real blue=0.6; Real green; equation red + blue + green = 1; end ExpandedColor; Data and behavior: field declarations, equations, and certain other contents are copied into the subclass 100

101 Multiple Inheritance Multiple Inheritance is fine inheriting both geometry and color class Point class Color Real x; parameter Real red=0.2; Real y,z; parameter Real blue=0.6; end Point; Real green; equation red + blue + green = 1; multiple l inheritance it end Color; class ColoredPoint extends Point; extends Color; end ColoredPoint; class ColoredPointWithoutInheritance Real x; Real y, z; parameter Real red = 0.2; parameter Real blue = 0.6; Real green; equation red + blue + green = 1; end ColoredPointWithoutInheritance; Equivalent to 101

102 Simple Class Definition Simple Class Definition Shorthand h Case of Inheritance Example: class SameColor = Color; Often used for introducing new names of types: inheritance Equivalent to: class SameColor extends Color; end SameColor; type Resistor = Real; connector MyPin = Pin; 102

103 Inheritance Through Modification Modification is a concise way of combining inheritance with declaration of classes or instances A modifier modifies a declaration equation in the inherited class Example: The class Real is inherited, modified with a different start value equation, and instantiated as an altitude variable:... Real altitude(start= 59404);

104 Discrete Events and Hybrid Systems Picture: Courtesy Hilding Elmqvist 104

105 Hybrid Modeling Hybrid modeling = continuous-time + discrete-time modeling Events time Continuous-time i Real x; Discrete-time Voltage v; Current i; A point in time that is instantaneous, i.e., has zero duration An event condition so that the event can take place A set of variables that are associated with the event discrete Real x; Integer i; Boolean b; Some behavior associated with the event, e.g. conditional equations that become active or are deactivated at the event 105

106 Event creation if if-equations, if-statements, and if-expressions if <condition> then <equations> elseif <condition> then <equations> else <equations> end if; model Diode "Ideal diode" extends TwoPin; Real s; Boolean off; equation off = s < 0; if off then v=s else v=0; end if; i = if off then 0 else s; end Diode; False if s<0 If-equation choosing equation for v If-expression 106

107 Event creation when when-equations when <conditions> then <equations> end when; event 1 event 2 event 3 time Time event when time >= 10.0 then... end when; Equations only active at event times State event when sin(x) > 0.5 then... end when; Only dependent on time, can be scheduled in advance Related to a state. Check for zero-crossing 107

108 Generating Repeated Events The call sample(t0,d) returns true and triggers events at times t0+i*d, where i=0,1, true sample(t0,d) Variables need to be discrete false t0 t0+d t0+2d t0+3d t0+4d time model SamplingClock Integer i; discrete Real r; equation when sample(2,0.5) then i = pre(i)+1; r = pre(r)+0.3; end when; end SamplingClock; Creates an event after 2 s, then each 0.5 s pre(...) takes the previous value before the event. 108

109 Reinit - discontinuous changes The value of a continuous-time state variable can be instantaneously changed by a reinit-equation equation within a when-equation equation model BouncingBall "the bouncing ball model" parameter Real g=9.81; //gravitational acc. parameter Real c=0.90; //elasticity constant Real height(start=10),velocity(start=0); equation der(height) = velocity; der(velocity)=-g; when height<0 then reinit(velocity, -c*velocity); end when; end BouncingBall; Reinit assigns continuous-time variable velocity a new value Initial conditions 109

110 Part V Components, Connectors and Connections Modelica Libraries 110

111 Software Component Model Interface Connector Acausal coupling Component Connection Component Causal coupling A component class should be defined independently of the environment, very essential for reusability A component may internally consist of other components, i.e. hierarchical modeling Complex systems usually consist of large numbers of connected components 111

112 Connectors and Connector Classes Connectors are instances of connector classes electrical connector connector class keyword flow indicates that currents of connected pins sum to zero. connector Pin Voltage v; flow Current i; end Pin; Pin pin; v + i pin an instance pin of class Pin mechanical connector connector class connector Flange Position s; flow Force f; end Flange; s flange an instance flange of class Flange Flange flange; f 112

113 The flow prefix Two kinds of variables in connectors: Non-flow variables potential or energy level Flow variables represent some kind of flow Coupling Equality coupling, for non-flow variables Sum-to-zero coupling, forflow variables The value of a flow variable is positive when the current or the flow is into the component positive flow direction: v i + pin 113

114 Physical Connector Classes Based on Energy Flow Domain Type Potential Flow Carrier Electrical Voltage Current Charge Translational Position Force Linear momentum Rotational Angle Torque Magnetic Magnetic potential ti Magnetic flux rate Angular momentum Magnetic flux Modelica Library Electrical. l Analog Mechanical. Translational Mechanical. Rotational Hydraulic Pressure Volume flow Volume HyLibLight Heat Temperature Heat flow Heat HeatFlow1D Chemical Chemical potential Particle flow Particles Under construction Pneumatic Pressure Mass flow Air PneuLibLight 114

115 connect-equationsequations Connections between connectors are realized as equations in Modelica connect(connector1,connector2) The two arguments of a connect-equation equation must be references to connectors, either to be declared directly within the same class or be members of one of the declared variables in that class pin1 + v v + pin2 i i Pin pin1,pin2; //A connect equation //in Modelica: connect(pin1,pin2); Using Kirschoff s Laws Corresponds to pin1.v = pin2.v; pin1.i + pin2.i =0; 115

116 Common Component Structure The base class TwoPin has two connectors p and n for positive and negative pins respectively p.v p.i i + TwoPin - p n i i n.v n.i partial class (cannot be instantiated) positive pin negative pin partial model TwoPin Voltage v connector Pin Current i Voltage v; Pin p; flow Current i; Pin n; end Pin; equation v = p.v - n.v; 0 = p.i + n.i; i = p.i; end TwoPin; // TwoPin is same as OnePort in // Modelica.Electrical.Analog.Interfaces electrical connector class 116

117 Electrical Components model Resistor Ideal electrical resistor extends TwoPin; parameter Real R; equation R*i = v; end Resistor; p.i p.v + v n.i n.v model Inductor Ideal electrical inductor extends TwoPin; parameter Real L Inductance ; equation L*der(i) = v; end Inductor; p.i p.v + v n.i n.v model Capacitor Ideal electrical capacitor extends TwoPin; parameter Real C ; equation i=c*der(v); end Capacitor; p.i p.v + v n.i n.v 117

118 Electrical Components cont model Source extends TwoPin; parameter Real A,w; equation v = A*sin(w*time); end Resistor; p.i p.v + v(t) n.i n.v model Ground Pin p; equation p.v = 0; end Ground; p.v p.i 118

119 Resistor Circuit Very Simple Example i 1 i 2 n R1 p p R2 n v 1 v 2 v 3 i 3 p R3 n model ResistorCircuit Resistor R1(R=100); Resistor R2(R=200); Resistor R3(R=300); equation connect(r1.p, R2.p); connect(r1.p, R3.p); end ResistorCircuit; Corresponds to R1.p.v = R2.p.v; R1.p.v = R3.p.v; R1.p.i + R2.p.i + R3.p.i = 0; 119

120 Modelica Standard Library - Graphical Modeling Modelica Standard Library (called Modelica) is a standardized di d predefined d package developed d by Modelica Association It can be used freely for both commercial and noncommercial purposes under the conditions of The Modelica License. Modelica libraries are available online including documentation ti and source code from 120

121 Modelica Standard Library cont The Modelica Standard Library contains components from various application areas, including the following sublibraries: Blocks Library for basic input/output control blocks Constants Mathematical constants and constants of nature Electrical Library for electrical models Icons Icon definitions Fluid 1-dim Flow in networks of vessels, pipes, fluid machines, valves, etc. Math Mathematical functions Magnetic Magnetic.Fluxtubes for magnetic applications Mechanics Library for mechanical systems Media Media models for liquids and gases SIunits Su Type definitions based on SI units according to ISO Stategraph Hierarchical state machines (analogous to Statecharts) Thermal Components for thermal systems Utilities Utility functions especially for scripting 121

122 Modelica.Blocks Continuous, discrete, and logical input/output blocks to build block diagrams. Library Continuous Examples: 122

123 Modelica.Electrical Electrical components for building analog, digital, and multiphase circuits Library Library Library Library Analog Digital Machines MultiPhase Examples: V2 R2 R4 Gnd9 R1 Transistor1 C2 Gnd3 Gnd6 C4 Transistor2 R3 V1 C1 I1 C5 C3 Gnd4 Gnd1 Gnd2 Gnd7 Gnd8 Gnd5 123

124 Modelica.Mechanics Package containing components for mechanical systems Subpackages: Rotational 1-dimensional rotational mechanical components Translational 1-dimensional translational mechanical components MultiBody 3-dimensional mechanical components 124

125 Modelica.Stategraph Hierarchical state machines (similar to Statecharts) 125

126 Other Free Libraries WasteWater Wastewater treatment plants, 2003 ATPlus Building simulation and control (fuzzy control included), 2005 MotorCycleDymanics Dynamics and control of motorcycles, 2009 NeuralNetwork Neural network mathematical models, 2006 VehicleDynamics Dynamics of vehicle chassis (obsolete), 2003 SPICElib Some capabilities of electric circuit simulator PSPICE, 2003 SystemDynamics y System dynamics modeling a la J. Forrester, 2007 BondLib Bond graph modeling of physical systems, 2007 MultiBondLib Multi bond graph modeling of physical systems, 2007 ModelicaDEVS DEVS discrete event modeling, 2006 ExtendedPetriNets Petri net modeling, 2002 External.Media Library External fluid property computation, 2008 VirtualLabBuilder ild Implementation ti of virtual labs, 2007 SPOT Power systems in transient and steady-state mode,

127 Some Commercial Libraries Powertrain SmartElectricDrives VehicleDynamics AirConditioning HyLib PneuLib CombiPlant HydroPlant 127

128 Connect Components from Multiple Domains Block domain Mechanical domain Electrical domain R2 emf ex ac iner vsen Block domain Mechanical domain model Generator Modelica.Mechanics.Rotational.Accelerate ac; Modelica.Mechanics.Rotational.Inertia iner; Modelica.Electrical.Analog.Basic.EMF emf(k=-1); Modelica.Electrical.Analog.Basic.Inductor ind(l=0.1); Modelica.Electrical.Analog.Basic.Resistor R1,R2; Modelica.Electrical.Analog.Basic.Ground i l l i d G; Modelica.Electrical.Analog.Sensors.VoltageSensor vsens; Modelica.Blocks.Sources.Exponentials ex(risetime={2},risetimeconst={1}); equation connect(ac.flange_b, b iner.flange_a); a); connect(iner.flange_b, b emf.flange_b); flange connect(emf.p, ind.p); connect(ind.n, R1.p); connect(emf.n, G.p); connect(emf.n, R2.n); connect(r1.n, R2.p); connect(r2.p, vsens.n); connect(r2.n, vsens.p); connect(ex.outport, ac.inport); end Generator; G ind R1 Electrical domain

129 Get More Information, Download Software Peter Fritzson Pi Principles i of fobject toi Oriented Modeling and Simulation with Modelica 2.1 Wiley-IEEE Press, 2004, 940 pages OpenModelica Modelica Association 129

130 New Introductory Book September pages Wiley IEEE Press For Introductory Short Courses on Object Oriented Mathematical Modeling 130

131 Announcements, Coming Workshops Call for Presentations OpenModelica Workshop Feb 6, Linköping, Sweden Applications and tool developments in the OpenModelica Open Source Effort. MODPROD Workshop on Model-Based Development Feb 7-8, 2012, Linköping, Sweden 131

132 Summary Multi-Domain Modeling Visual Acausal Component Modeling Typed Declarative Textual Language Thanks for listening! Hybrid Modeling 132

Modelica Language Concepts. Classes and Inheritance

Modelica Language Concepts. Classes and Inheritance Modelica Language Concepts and Textual Classes and Inheritance Typed Declarative Equation-based Textual Language 1 Peter Fritzson Hybrid Acausal The order of computations is not decided at modeling time

More information

Vice Chairman of Modelica Association Director of Open Source Modelica Consortium

Vice Chairman of Modelica Association Director of Open Source Modelica Consortium Introduction to Modelica modeling and the OpenModelica and MathModelica tools Invited talk to workshop "Can Systems biology aid personalized medication?" December 5, 2011 Peter Fritzson Professor at Linköping

More information

Increasing programmability

Increasing programmability Increasing programmability with domain- specific languages Kris6an Sandahl, Peter Fritzson, Christoph Kessler PELAB Department of Computer and Informa6on Science Linköping University PELAB at a Glance

More information

Introduction to Object Introduction to Object--Oriented Oriented Modeling, Simulation and Control with Modelica T torial Tut Tu or o ia i l for

Introduction to Object Introduction to Object--Oriented Oriented Modeling, Simulation and Control with Modelica T torial Tut Tu or o ia i l for Introduction to Object-OrientedOriented Modeling, Simulation and Control with Modelica Tutorial for MODPROD Workshop 2011 by Peter Fritzson Linköping University, peter.fritzson@liu.se Mohsen Torabzadeh-Tari

More information

Research in Model-Based Product Development at PELAB in the MODPROD Center

Research in Model-Based Product Development at PELAB in the MODPROD Center class x { public int a; class x { float b; public int func (int a,int b); int a; class x { Asa asad float b; public Asda ad int func int a; Asd (int ad a,int cc b); class x { Asa asad float b; Aac sdscfcc

More information

Oriented Modeling and Simulation with Modelica

Oriented Modeling and Simulation with Modelica Principles of Object-Oriented Oriented Modeling and Simulation with Modelica Mini-Tutorial for MODPROD Workshop 2009 Peter Fritzson Linköping University, Dept. of Comp. & Inform. Science SE 581-83, Linköping,

More information

Modelica Environments and OpenModelica

Modelica Environments and OpenModelica Environments and Open 1 Peter Fritzson Dymola Dynasim (Dassault Systemes) Sweden First tool on the market Main focus on automotive industry www.dynasim.com 2 Peter Fritzson 1 Simulation X ITI Germany Mechatronic

More information

MetaModelica A Unified Equation-Based Semantical and Mathematical Modeling Language

MetaModelica A Unified Equation-Based Semantical and Mathematical Modeling Language MetaModelica A Unified Equation-Based emantical and Mathematical Modeling Language Adrian Pop and Peter Fritzson Programming Environment Laboratory Department of Computer and Information cience Linköping

More information

int a; class x { public int a; class x { float b; Asda ad public int a; Asa asad Aac sdscfcc c a

int a; class x { public int a; class x { float b; Asda ad public int a; Asa asad Aac sdscfcc c a class x { public int a; class x { float b; public int func (int a,int b); int a; class x { Asa asad float b; public Asda ad int func int a; Asd (int ad a,int cc b); class x { Asa asad float b; Aac sdscfcc

More information

Towards Unified System Modeling with the ModelicaML UML Profile

Towards Unified System Modeling with the ModelicaML UML Profile Towards Unified System Modeling with the ModelicaML UML Profile Adrian Pop, David Akhvlediani, Peter Fritzson Programming Environments Lab, Department of Computer and Information Science Linköping University,

More information

1st Annual OpenModelica Workshop Feb 2, 2009

1st Annual OpenModelica Workshop Feb 2, 2009 1st Annual OpenModelica Workshop Feb 2, 2009 Workshop Opening OpenModelica Status and Directions 1 To All Participants! Very Welcome to this First Annual OpenModelica Workshop! 2 Goals for the OpenModelica

More information

Integrated Modeling of CPS including Requirements: Open Source MBSE Tools Based on Modelica and UML

Integrated Modeling of CPS including Requirements: Open Source MBSE Tools Based on Modelica and UML Integrated Modeling of CPS including Requirements: Open Source MBSE Tools Based on Modelica and UML LCCC MBSE Workshop, Lund May 4, 2015 Peter Fritzson peter.fritzson@liu.se Vice Chairman of Modelica Association

More information

Modeling Technical Systems [ ] Mag MA MA Schweiger Gerald TU Graz Spring 2017

Modeling Technical Systems [ ] Mag MA MA Schweiger Gerald TU Graz Spring 2017 1 Modeling Technical Systems [716.055] Mag MA MA Schweiger Gerald TU Graz Spring 2017 Outline Scope of the course Introduction Modelica Basics Introduction to Dymola Scope of the course Introduction to

More information

2 Copyright Open Source Modelica Consortium. September pages. Wiley IEEE Press. 4 Copyright Open Source Modelica Consortium.

2 Copyright Open Source Modelica Consortium. September pages. Wiley IEEE Press. 4 Copyright Open Source Modelica Consortium. Introduction to Object-Oriented Modeling, Simulation, Debugging and Dynamic Optimization with Modelica using OpenModelica MOSES 2016 Workshop Tutorial, Version May 18, 2016 Peter Fritzson Linköping University,

More information

Simulation and Benchmarking of Modelica Models on Multi-core Architectures with Explicit Parallel Algorithmic Language Extensions

Simulation and Benchmarking of Modelica Models on Multi-core Architectures with Explicit Parallel Algorithmic Language Extensions Simulation and Benchmarking of Modelica Models on Multi-core Architectures with Explicit Parallel Algorithmic Language Extensions Afshin Hemmati Moghadam Mahder Gebremedhin Kristian Stavåker Peter Fritzson

More information

Introduction to Object-Oriented Modeling, Simulation, Debugging and Dynamic Optimization with Modelica using OpenModelica

Introduction to Object-Oriented Modeling, Simulation, Debugging and Dynamic Optimization with Modelica using OpenModelica Introduction to Object-Oriented Modeling, Simulation, Debugging and Dynamic Optimization with Modelica using OpenModelica Tutorial, Version February 2, 2016 Peter Fritzson Linköping University, peter.fritzson@liu.se

More information

Integrated Model-Driven Development Environments for Equation-Based Object-Oriented Languages

Integrated Model-Driven Development Environments for Equation-Based Object-Oriented Languages Integrated Model-Driven Development Environments for Equation-Based Object-Oriented Languages Adrian Pop Programming Environment Laboratory Department of Computer and Information Science Linköping University

More information

Research in Model-Based Product Development at PELAB in the MODPROD Center

Research in Model-Based Product Development at PELAB in the MODPROD Center class x { public int a; class x { float b; public int func (int a,int b); int a; class x { Asa asad float b; public Asda ad int func int a; Asd (int ad a,int cc b); class x { Asa asad float b; Aac sdscfcc

More information

High Level Mathematical Modeling and Parallel/GRID Computing with Modelica. Peter Fritzson

High Level Mathematical Modeling and Parallel/GRID Computing with Modelica. Peter Fritzson High Level Mathematical Modeling and Parallel/GRID Computing with Modelica PELAB Programming Environment Laboratory Department of Computer and Information Science, PELAB Linköping University, SE 58-32

More information

OpenModelica OMShell and OMNotebook Introduction and Exercises

OpenModelica OMShell and OMNotebook Introduction and Exercises OpenModelica OMShell and OMNotebook Introduction and Exercises, Adrian Pop, Peter Aronsson OpenModelica Course at INRIA, 2006 06 08 1 OMShell and OMNotebook OpenModelica End- User Subsystems OMShell interactive

More information

Towards Run-time Debugging of Equation-based Object-oriented Languages

Towards Run-time Debugging of Equation-based Object-oriented Languages Towards Run-time Debugging of Equation-based Object-oriented Languages Adrian Pop and Peter Fritzson Programming Environments Laboratory Department of Computer and Information cience Linköping University

More information

Software-Entwicklungswerkzeuge

Software-Entwicklungswerkzeuge Software-Entwicklungswerkzeuge Kapitel 41: Werkzeuge zur Simulation dynamischer Systeme Prof. Uwe Aßmann Softwaretechnologie TU Dresden Version 0.1, WS 09/10, 1/16/10 Modelica Overview by Martin Otter

More information

Software-Entwicklungswerkzeuge. Modelica Overview. Contents. 1. Modelica Introduction. 2. Modelica Users View. 3. Modelica Libraries

Software-Entwicklungswerkzeuge. Modelica Overview. Contents. 1. Modelica Introduction. 2. Modelica Users View. 3. Modelica Libraries Software-Entwicklungswerkzeuge Kapitel 41: Werkzeuge zur Simulation dynamischer Systeme Prof. Uwe Aßmann Softwaretechnologie TU Dresden Version 0.1, WS 09/10, 1/16/10 Modelica Overview by Martin Otter

More information

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor)

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor) Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor) A Siemers, I Nakhimovski, D Fritzson Linköping University, Sweden Meta-modelling of Mechanical

More information

Modelica. Language, Libraries, Tools, Workshop and EU-Project RealSim

Modelica. Language, Libraries, Tools, Workshop and EU-Project RealSim Modelica Language, Libraries, Tools, Workshop and EU-Project RealSim by Martin Otter 1, Hilding Elmqvist 2 German Aerospace Center, Oberpfaffenhofen, Germany and Dynasim AB, Lund, Sweden December 18, 2000

More information

Modelica A General Object-Oriented Language for Continuous and Discrete-Event System Modeling and Simulation

Modelica A General Object-Oriented Language for Continuous and Discrete-Event System Modeling and Simulation Modelica A General Object-Oriented Language for Continuous and Discrete-Event System Modeling and Simulation Peter Fritzson, Peter Bunus PELAB - Programming Environment Laboratory Department of Computer

More information

Components, Connectors and Connections. 1 Peter Fritzson Copyright Open Source Modelica Consortium

Components, Connectors and Connections. 1 Peter Fritzson Copyright Open Source Modelica Consortium Components, Connectors and Connections 1 Peter Fritzson Copyright Open Source Modelica Consortium Software Component Model Interface Connector Acausal coupling Component Connection Component Causal coupling

More information

AN INTEGRATED MODELICA ENVIRONMENT FOR MODELING, DOCUMENTATION AND SIMULATION

AN INTEGRATED MODELICA ENVIRONMENT FOR MODELING, DOCUMENTATION AND SIMULATION Accepted for publication in Proceedings of The 1998 Summer Computer Simulation Conference (SCSC '98) July 19-22, 1998, Reno, Nevada AN INTEGRATED MODELICA ENVIRONMENT FOR MODELING, DOCUMENTATION AND SIMULATION

More information

OpenModelica Environment and Modelica Overview

OpenModelica Environment and Modelica Overview OpenModelica Environment and Modelica Overview, Adrian Pop OpenModelica Course, 2007 03 19 1 OpenModelica Goal: comprehensive modeling and simulation environment for research, teaching, and industrial

More information

MathWorks Technology Session at GE Physical System Modeling with Simulink / Simscape

MathWorks Technology Session at GE Physical System Modeling with Simulink / Simscape SimPowerSystems SimMechanics SimHydraulics SimDriveline SimElectronics MathWorks Technology Session at GE Physical System Modeling with Simulink / Simscape Simscape MATLAB, Simulink September 13, 2012

More information

3rd Annual OpenModelica Workshop Feb 7, 2011

3rd Annual OpenModelica Workshop Feb 7, 2011 3rd Annual OpenModelica Workshop Feb 7, 2011 Workshop Opening OpenModelica Status and Directions 1 To All Participants! Very Welcome to this Third Annual OpenModelica Workshop! 2 Goals for the OpenModelica

More information

MathModelica An Extensible Modeling and Simulation Environment with Integrated Graphics and Literate Programming

MathModelica An Extensible Modeling and Simulation Environment with Integrated Graphics and Literate Programming - 1 - MathModelica An Extensible Modeling and Simulation Environment with Integrated Graphics and Literate Programming A short version of this paper in Proceedings of the 2:nd International Modelica Conference,

More information

CIM 2 Modelica Factory

CIM 2 Modelica Factory CIM 2 Modelica Factory Automated Equation-Based Cyber-Physical Power System Modelica Model Generation and Time-Domain Simulation from CIM luigiv@kth.se, fragom@kth.se Electric Power Systems Dept. KTH Stockholm,

More information

MapleSim User's Guide

MapleSim User's Guide MapleSim User's Guide Copyright Maplesoft, a division of Waterloo Maple Inc. 2001-2009 MapleSim User's Guide Copyright Maplesoft, MapleSim, and Maple are all trademarks of Waterloo Maple Inc. Maplesoft,

More information

4th Annual OpenModelica Workshop Feb 6, 2012

4th Annual OpenModelica Workshop Feb 6, 2012 4th Annual OpenModelica Workshop Feb 6, 2012 Workshop Opening OpenModelica Status and Directions 1 To All Participants! Very Welcome to this Fourth Annual OpenModelica Workshop! 2 Goals for the OpenModelica

More information

An Easy-to-use Generic Model Configurator for Models in Multiple Tool Formats

An Easy-to-use Generic Model Configurator for Models in Multiple Tool Formats An Easy-to-use Generic Model Configurator for Models in Multiple Tool Formats Vadim Engelson 1, Peter Fritzson 1, Ulf Sellgren 2 1 Department of Computer and Information Science Linköping University SE-58183

More information

Rotational3D Efficient modelling of 3D effects in rotational mechanics

Rotational3D Efficient modelling of 3D effects in rotational mechanics Rotational3D - Efficient Modelling of 3D Effects in Rotational Mechanics Rotational3D Efficient modelling of 3D effects in rotational mechanics Johan Andreasson Magnus Gäfvert Modelon AB Ideon Science

More information

Computer Simulation And Modeling

Computer Simulation And Modeling Computer Simulation And Modeling The key to increased productivity in Scientific and Engineering analysis Professor Ralph C. Huntsinger California State University, Chico USA Bialystok Technical University

More information

Quick Start Training Guide

Quick Start Training Guide Quick Start Training Guide Table of Contents 1 INTRODUCTION TO MAPLESIM... 5 1.1 USER INTERFACE... 5 2 WORKING WITH A SAMPLE MODEL... 7 2.1 RUNNING A SIMULATION... 7 2.2 GRAPHICAL OUTPUT... 7 2.3 3D VISUALIZATION...

More information

MODPROD'2014 8th International Workshop on Model-Based Product Development

MODPROD'2014 8th International Workshop on Model-Based Product Development class x { public int a; class x { float b; public int func (int a,int b); int a; class x { Asa asad float b; public Asda ad int func int a; Asd (int ad a,int cc b); class x { Asa asad float b; Aac sdscfcc

More information

ModelicaML: Getting Started Issue April 2012

ModelicaML: Getting Started Issue April 2012 ModelicaML: Getting Started Issue 1.6.5 13. April 2012 Wladimir Schamai EADS Innovation Works (Hamburg, Germany) Linkoping University (Linkoping, Sweden) Abstract: This document provides a short introduction

More information

Technical Overview of OpenModelica and its Development Environment

Technical Overview of OpenModelica and its Development Environment Technical Overview of OpenModelica and its Development Environment Adrian Pop 2010-02-08 Open Source Modelica Consortium Programming Environment Laboratory Department of Computer and Information Science

More information

Enhancing the RAMSAS method for Systems Reliability Analysis through Modelica

Enhancing the RAMSAS method for Systems Reliability Analysis through Modelica 7th MODPROD Workshop on Model-Based Product Development February 05-06, 2013 Linköping University, Sweden Enhancing the RAMSAS method for Systems Reliability Analysis through Modelica Alfredo Garro and

More information

Wolfram SystemModeler. Getting Started

Wolfram SystemModeler. Getting Started Wolfram SystemModeler Getting Started i Contents 1 Introduction 1 2 Hello World 5 2.1 Hello World Model.................................... 5 2.1.1 Exercise...................................... 11 3 Multidomain

More information

Functional Mockup Interface for Tool and Model Interoperability

Functional Mockup Interface for Tool and Model Interoperability Functional Mockup Interface for Tool and Model Interoperability Willi Braun, Bernhard Bachmann Acknowledgements: FMI Development Project is developing FMI. Most slides in this presentation by Martin Otter,

More information

INTEROPERABILITY WITH FMI TOOLS AND SOFTWARE COMPONENTS. Johan Åkesson

INTEROPERABILITY WITH FMI TOOLS AND SOFTWARE COMPONENTS. Johan Åkesson INTEROPERABILITY WITH FMI TOOLS AND SOFTWARE COMPONENTS Johan Åkesson 1 OUTLINE FMI Technology FMI tools Industrial FMI integration example THE FUNCTIONAL MOCK-UP INTERFACE Problems/needs Component development

More information

The Modelica Object-Oriented Equation-Based Language and Its OpenModelica Environment with MetaModeling, Interoperability, and Parallel Execution

The Modelica Object-Oriented Equation-Based Language and Its OpenModelica Environment with MetaModeling, Interoperability, and Parallel Execution The Modelica Object-Oriented Equation-Based Language and Its OpenModelica Environment with MetaModeling, Interoperability, and Parallel Execution Peter Fritzson PELAB Programming Environments Lab, Department

More information

Modeling, Simulation and Analysis of Integrated Building Energy and Control Systems. Michael Wetter. October 8, 2009

Modeling, Simulation and Analysis of Integrated Building Energy and Control Systems. Michael Wetter. October 8, 2009 Modeling, Simulation and Analysis of Integrated Building Energy and Control Systems Michael Wetter Simulation Research Group Building Technologies Department Energy and Environmental Technologies Division

More information

To All Participants!

To All Participants! 2nd Annual OpenModelica Workshop Feb 8, 2010 Workshop Opening OpenModelica tatus and Directions 1 To All Participants! Very Welcome to this econd Annual OpenModelica Workshop! 2 New OpenModelica Web ite

More information

Functional Mockup Interface (FMI) A General Standard for Model Exchange and Simulator Coupling

Functional Mockup Interface (FMI) A General Standard for Model Exchange and Simulator Coupling Functional Mockup Interface (FMI) A General Standard for Model Exchange and Simulator Coupling Adeel Asghar and Willi Braun Linköping University University of Applied Sciene Bielefeld 2017-02-07 FMI Motivation

More information

Physical Modelling with Simscape

Physical Modelling with Simscape Physical Modelling with Simscape Rick Hyde Control Electrical Embedded Software Mechanical 2015 The MathWorks, Inc. 1 Presentation overview Modelling physical systems Why model a physical system? Network

More information

Parallel Code Generation in MathModelica / An Object Oriented Component Based Simulation Environment

Parallel Code Generation in MathModelica / An Object Oriented Component Based Simulation Environment Parallel Code Generation in MathModelica / An Object Oriented Component Based Simulation Environment Peter Aronsson, Peter Fritzson (petar,petfr)@ida.liu.se Dept. of Computer and Information Science, Linköping

More information

A Modelica Power System Library for Phasor Time-Domain Simulation

A Modelica Power System Library for Phasor Time-Domain Simulation 2013 4th IEEE PES Innovative Smart Grid Technologies Europe (ISGT Europe), October 6-9, Copenhagen 1 A Modelica Power System Library for Phasor Time-Domain Simulation T. Bogodorova, Student Member, IEEE,

More information

Modeling Structural - Dynamics Systems in MODELICA/Dymola, MODELICA/Mosilab and AnyLogic

Modeling Structural - Dynamics Systems in MODELICA/Dymola, MODELICA/Mosilab and AnyLogic Modeling Structural - Dynamics Systems in MODELICA/Dymola, MODELICA/Mosilab and AnyLogic Günther Zauner 1,2, Daniel Leitner 3, Felix Breitenecker 1 1 Vienna University of Technology, Wiedner Hauptstr.

More information

5th Annual OpenModelica Workshop Feb 4, 2013

5th Annual OpenModelica Workshop Feb 4, 2013 5th Annual OpenModelica Workshop Feb 4, 2013 Workshop Opening OpenModelica Status and Directions 1 To All Participants! Very Welcome to this Fifth Annual OpenModelica Workshop! 2 Important Goal Achieved

More information

Sensor Accuracy in Vehicle Safety

Sensor Accuracy in Vehicle Safety Sensor Accuracy in Vehicle Safety Sas Harrison Claytex Services Ltd. Leamington Spa UK Global Business: Software Support Consultancy Training Expertise: Modelica / C++ Software Simulation Libraries Systems

More information

Design optimisation of industrial robots using the Modelica multi-physics modeling language

Design optimisation of industrial robots using the Modelica multi-physics modeling language Design optimisation of industrial robots using the Modelica multi-physics modeling language A. Kazi, G. Merk, M. Otter, H. Fan, (ArifKazi, GuentherMerk)@kuka-roboter.de (Martin.Otter, Hui.Fan)@dlr.de KUKA

More information

Dymola Dynamic Modeling Laboratory

Dymola Dynamic Modeling Laboratory Dymola Dynamic Modeling Laboratory Getting started with Dymola Contents: Chapter 2 Getting started with Dymola extracted from the manual Dymola User Manual Volume 1. March 2013 The information in this

More information

State Machines in OpenModelica

State Machines in OpenModelica State Machines in OpenModelica Current Status and Further Development Bernhard Thiele PELAB Linköping University 02. February 2015 - Open Modelica Annual Workshop 1 / 16 Goals of this presentation Introduce

More information

EXPRESSING REQUIREMENTS IN MODELICA

EXPRESSING REQUIREMENTS IN MODELICA EXPRESSING REQUIREMENTS IN MODELICA Lena Buffoni and Peter Fritzson Linköping University SE-581 83 Linköping Sweden ABSTRACT As cyber-physical systems grow increasingly complex, the need for methodologies

More information

Activation Inheritance in Modelica

Activation Inheritance in Modelica Activation Inheritance in Modelica Ramine Nikoukhah INRIA, BP 05, 7853 Le Chesnay, France ramine.nikoukhah@inria.fr Abstract Modelica specifies two types of s: the s defined directly in the "" section,

More information

From versatile analysis methods to interactive simulation with a motion platform based on SimulationX and FMI

From versatile analysis methods to interactive simulation with a motion platform based on SimulationX and FMI From versatile analysis methods to interactive simulation with a motion platform based on SimulationX and FMI SimulationX Tutorial, 8th Modelica Conference Dr. Ines Gubsch, IVMA, TUD Christian Schubert,

More information

Anticipatory Shifting Optimization of a Transmission Control Unit for an Automatic Transmission through Advanced Driver Assistance Systems

Anticipatory Shifting Optimization of a Transmission Control Unit for an Automatic Transmission through Advanced Driver Assistance Systems Anticipatory Shifting Optimization of a Transmission Control Unit for an Automatic Transmission through Advanced Driver Assistance Systems Salim Chaker 1 Michael Folie 2 Christian Kehrer 1 Frank Huber

More information

This is the published version of a paper presented at IEEE PES General Meeting 2013.

This is the published version of a paper presented at IEEE PES General Meeting 2013. http://www.diva-portal.org This is the published version of a paper presented at IEEE PES General Meeting 2013. Citation for the original published paper: Vanfretti, L., Li, W., Bogodorova, T., Panciatici,

More information

POTENTIAL AND BENEFITS OF FUNCTIONAL MOCK-UP INTERFACE - FMI FOR VIRTUAL VEHICLE INTEGRATION

POTENTIAL AND BENEFITS OF FUNCTIONAL MOCK-UP INTERFACE - FMI FOR VIRTUAL VEHICLE INTEGRATION POTENTIAL AND BENEFITS OF FUNCTIONAL MOCK-UP INTERFACE - FMI FOR VIRTUAL VEHICLE INTEGRATION 1 WHY WOULD CARMAKER NEED FMI? New Challenges in vehicle development Hybrid and electric cars, networking functions...

More information

Model-Based Dynamic Optimization with OpenModelica and CasADi

Model-Based Dynamic Optimization with OpenModelica and CasADi Model-Based Dynamic Optimization with OpenModelica and CasADi Alachew Shitahun PELAB Programming Environment Lab, Dept. Computer Science Linköping University, SE-581 83 Linköping, Sweden Vitalij Ruge Mathematics

More information

Appending Variable-Structure to Modelica Models (WIP)

Appending Variable-Structure to Modelica Models (WIP) Appending Variable-Structure to Modelica Models (WIP) Daniel Gomez Esperon, Alexandra Mehlhase, Thomas Karbe Technische Universität Berlin Ernst-Reuter-Platz 7, 10587 Berlin, Germany {gomezesperon, a.mehlhase,

More information

Scicos/Modelica for modeling and simulation

Scicos/Modelica for modeling and simulation Scicos/Modelica for modeling and simulation Masoud Najafi, INRIA-Rocquencourt Zakia Benjelloun-Dabaghi, IFP Présentation à la journée LMCS, 17 avril 2008, EDF Outline Introduction to Scilab & Scicos Modeling

More information

INTRODUCTION TO OBJECT-ORIENTED MODELING AND SIMULATION WITH MODELICA USING THE OPENMODELICA ENVIRONMENT

INTRODUCTION TO OBJECT-ORIENTED MODELING AND SIMULATION WITH MODELICA USING THE OPENMODELICA ENVIRONMENT INTRODUCTION TO OBJECT-ORIENTED MODELING AND SIMULATION WITH MODELICA USING THE OPENMODELICA ENVIRONMENT Peter Fritzson 1, Adrian Pop 1, Peter Aronsson 2, Håkan Lundvall 1, David Broman 1, Daniel Hedberg

More information

Modeling physical properties. Controller, plant and environment model

Modeling physical properties. Controller, plant and environment model Modeling physical properties Controller, plant and environment model 1 Traceability Platform-based systems design Verification and Validation Requirements HW library Functional model HW/SW allocation Platform

More information

ADMINISTRATIVE MANAGEMENT COLLEGE

ADMINISTRATIVE MANAGEMENT COLLEGE First Semester ADMINISTRATIVE MANAGEMENT COLLEGE BACHELOR OF COMPUTER APPLICATION COURSE OUTCOME (CO) Problem solving techniques Using C CO 1: Understand the basic concepts of programming, software and

More information

MWorks: a Modern IDE for Modeling and Simulation of Multidomain Physical Systems Based on Modelica

MWorks: a Modern IDE for Modeling and Simulation of Multidomain Physical Systems Based on Modelica MWorks: a Modern IDE for Modeling and Simulation of Multidomain Physical Systems Based on Modelica FAN-LI Zhou, LI-PING Chen, YI-ZHONG Wu, JIAN-WAN Ding, JIAN-JUN Zhao, YUN-QING Zhang CAD Center, Huazhong

More information

APROS laboratory manual:

APROS laboratory manual: Introduction to the APROS code APROS laboratory manual: Aim of the course Studying the operation of APROS v5.10 thermal-hydraulic system code: building simple flow circuits, displaying process parameters,

More information

Extending the IPG CarMaker by FMI Compliant Units

Extending the IPG CarMaker by FMI Compliant Units Extending the IPG CarMaker by FMI Compliant Units Stephan Ziegler and Robert Höpler Modelon GmbH München Agnes-Pockels-Bogen 1, 80992 München, Germany {stephan.ziegler,robert.hoepler}@modelon.com Abstract

More information

Dymola Dynamic Modeling Laboratory

Dymola Dynamic Modeling Laboratory Dymola Dynamic Modeling Laboratory Getting started with Dymola Contents: Chapter 2 Getting started with Dymola extracted from the manual Dymola User Manual Volume 1. January 2010 The information in this

More information

Simulation-based development of automotive control software with Modelica

Simulation-based development of automotive control software with Modelica Simulation-based development of automotive control software with Modelica Emmanuel Chrisofakis, Dr. Anton Rink, Daimler AG Dr. Andreas Junghanns, QTronic GmbH Christian Kehrer, ITI GmbH 8th International

More information

Advanced Modelica Tutorial Exercises

Advanced Modelica Tutorial Exercises Advanced Modelica Tutorial Exercises Hilding Elmqvist, Dynasim Martin Otter, DLR Refine MultiBody/Engine Make Engine example model a reusable component 1. Manage parameters 2. Allow changing number of

More information

What Is SimMechanics?

What Is SimMechanics? SimMechanics 1 simulink What Is Simulink? Simulink is a tool for simulating dynamic systems with a graphical interface specially developed for this purpose. Physical Modeling runs within the Simulink environment

More information

Translation of Modelica Code into Hybrid Automata

Translation of Modelica Code into Hybrid Automata Research Project Madhumitha Hariharan Translation of Modelica Code into Hybrid Automata December 15, 2016 supervised by: Prof. Dr. Sibylle Schupp Mr. Timo Kamph Hamburg University of Technology (TUHH)

More information

Variable Structure Modeling for Vehicle Refrigeration Applications

Variable Structure Modeling for Vehicle Refrigeration Applications Variable Structure Modeling for Vehicle Refrigeration Applications Imke Krüger Alexandra Mehlhase Gerhard Schmitz Hamburg University of Technology, Department of Technical Thermodynamics Denickestr. 17,

More information

Model Library Mechanics

Model Library Mechanics Model Library Mechanics Using the libraries Mechanics 1D (Linear), Mechanics 1D (Rotary), Modal System incl. ANSYS interface, and MBS Mechanics (3D) incl. CAD import via STL and the additional options

More information

Getting Started with the MapleSim FMI Connector

Getting Started with the MapleSim FMI Connector Getting Started with the MapleSim FMI Connector Copyright Maplesoft, a division of Waterloo Maple Inc. 2017 Getting Started with the MapleSim FMI Connector Copyright Maplesoft, Maple, and MapleSim are

More information

Equation-Based Modeling with Modelica Principles and Future Challenges

Equation-Based Modeling with Modelica Principles and Future Challenges SNE T E C H N I C A L N O T E Equation-Based Modeling with Modelica Principles and Future Challenges Dirk Zimmer Inst. of System Dynamics and Control, German Aerospace Center DLR, Münchener Straße 20,

More information

Modern techniques bring system-level modeling to the automation industry

Modern techniques bring system-level modeling to the automation industry Modern techniques bring system-level modeling to the automation industry Philipp Wallner, Global Technology Manager, Bernecker + Rainer Industrie and Johannes Friebe, MapleSim Europe Director, Maplesoft

More information

Vom Konzept zum Modell physikalischer Systeme Smarter Modellieren mit Simscape

Vom Konzept zum Modell physikalischer Systeme Smarter Modellieren mit Simscape Vom Konzept zum Modell physikalischer Systeme Smarter Modellieren mit Simscape A B T P T + - 12V Up V- V+ Down Up Down M Maximilian Apfelbeck MathWorks München, 9.07.2014 2014 The MathWorks, Inc. 1 Key

More information

car=1700 FS gear=13.5 Wind: cw=0.33 AutoGear ThrottlePos JMotorPump=0.28 TS Jturbine=0.034 TS 1 Engine converter ECU ControlBox

car=1700 FS gear=13.5 Wind: cw=0.33 AutoGear ThrottlePos JMotorPump=0.28 TS Jturbine=0.034 TS 1 Engine converter ECU ControlBox Physical Modeling with Modelica and Dymola and Real-Time Simulation with Simulink and Real Time Workshop H. Elmqvist 1, M. Otter 2, and C. Schlegel 2 1 Dynasim AB, Research Park Ideon, S{223 70 Lund, Sweden,

More information

Industrial Evaluation of an Efficient Equation Model Debugger in OpenModelica

Industrial Evaluation of an Efficient Equation Model Debugger in OpenModelica Industrial Evaluation of an Efficient Equation Model Debugger in OpenModelica Åke Kinnander Siemens Turbo Machinery AB Finspång, Sweden ake.kinnander@outlook.com Martin Sjölund Dept. Computer and Information

More information

Using RecurDyn. Contents

Using RecurDyn. Contents Using RecurDyn Contents 1.0 Multibody Dynamics Overview... 2 2.0 Multibody Dynamics Applications... 3 3.0 What is RecurDyn and how is it different?... 4 4.0 Types of RecurDyn Analysis... 5 5.0 MBD Simulation

More information

Experiences with the new FMI Standard Selected Applications at Dresden University

Experiences with the new FMI Standard Selected Applications at Dresden University Experiences with the new FMI Standard Selected Applications at Dresden University Christian Schubert a Thomas Neidhold b Günter Kunze a a Dresden University of Technology, Chair of Construction Machines

More information

ESI ITI Academy. Courses and Contents

ESI ITI Academy. Courses and Contents ESI ITI Academy Courses and s SimulationX is a registered trademark of ESI ITI GmbH Dresden. ESI ITI GmbH, Dresden, Germany, 2017. All rights reserved. Doc. Vers. 07/2017 Preface ESI ITI Academy Dear Sir

More information

Introduction to Physical Modelling Rory Adams Senior Application Engineer

Introduction to Physical Modelling Rory Adams Senior Application Engineer Introduction to Physical Modelling Rory Adams Senior Application Engineer 2014 The MathWorks, Inc. 1 Creating Reusable Physical Models What you should walk away with Increased knowledge of: What is meant

More information

Simulation of Piping 3D Designs Powered by Modelica

Simulation of Piping 3D Designs Powered by Modelica Xavier Rémond 1 Thierry Gengler 1 Christophe Chapuis 1 1 Dassault Systèmes, Vélizy Villacoublay, France, {Xavier.Remond, Thierry.Gengler, Christophe.Chapuis}@3ds.com Abstract Traditionally, piping systems

More information

Automated Modelica Package Generation of Parameterized Multibody Systems in CATIA

Automated Modelica Package Generation of Parameterized Multibody Systems in CATIA Automated Modelica Package Generation of Parameterized Multibody Systems in CATIA Daniel Baumgartner, Andreas Pfeiffer German Aerospace Center (DLR), Institute of System Dynamics and Control 82234 Wessling,

More information

Automated Verification for the Software of Distributed Control Systems: Possible Approaches

Automated Verification for the Software of Distributed Control Systems: Possible Approaches Automated Verification for the Software of Distributed Control Systems: Possible Approaches Francesco Schiavo Politecnico di Milano Dipartimento di Elettronica e Informazione Automated Verification for

More information

Simscape User s Guide. R2014a

Simscape User s Guide. R2014a Simscape User s Guide R2014a How to Contact MathWorks www.mathworks.com Web comp.soft-sys.matlab Newsgroup www.mathworks.com/contact_ts.html Technical Support suggest@mathworks.com bugs@mathworks.com doc@mathworks.com

More information

Coupled Simulations Using different Tools

Coupled Simulations Using different Tools Coupled Simulations Using different Tools Dag Fritzson MODPROD Workshop 2007-02-07 2007-03-13 SKF Slide 1 MODPROD Contents Why coupled simulations? - Problem definition Meta-Modelling TLM Co-Simulation

More information

Technical Overview of OpenModelica and its Development Environment

Technical Overview of OpenModelica and its Development Environment Technical Overview of OpenModelica and its Development Environment Adrian Pop 2017-02-06 Open Source Modelica Consortium Programming Environment Laboratory Department of Computer and Information Science

More information

OMEdit. OpenModelica Connection Editor. User Manual Version April 2011

OMEdit. OpenModelica Connection Editor. User Manual Version April 2011 OMEdit OpenModelica Connection Editor User Manual Version 1.7.0 April 2011 This Description is Extracted from Chapter 2 of the OpenModelica 1.7 User's Guide Copyright by Open Source Modelica Consortium

More information

Vision of Building Simulation

Vision of Building Simulation Vision of Building Simulation Informatics Michael Wetter Simulation Research Group January 26, 2013 1 We believe that simulation tools should not constrain the user in what systems can be analyzed and

More information

OMEdit OpenModelica Connection Editor

OMEdit OpenModelica Connection Editor OMEdit OpenModelica Connection Editor User Manual Version 1.8.1 January 2012 This Description is extracted from Chapter 2 of the OpenModelica 1.8.1 User's Guide Copyright by Open Source Modelica Consortium

More information