Building Industrial grade Modelica compiler

Slides:



Advertisements
Similar presentations
Intro into real world numerical libraries/packages.
Advertisements

ECE-777 System Level Design and Automation Hardware/Software Co-design
SCIP Optimization Suite
Start Presentation October 11, rd Homework Solution In this homework problem, we wish to exercise the application of the algorithms by Pantelides.
Algebraic, transcendental (i.e., involving trigonometric and exponential functions), ordinary differential equations, or partial differential equations...
Selective, Embedded Just-in- Time Specialization (SEJITS) As a platform for implementing communication-avoiding algorithms accessible from Python.
CISE301_Topic3KFUPM1 SE301: Numerical Methods Topic 3: Solution of Systems of Linear Equations Lectures 12-17: KFUPM Read Chapter 9 of the textbook.
A community-maintained data store for descriptions of library resources Global Open Knowledgebase (GOKb)
Start Presentation October 4, rd Homework Problem In this homework problem, we wish to exercise the application of the algorithms by Pantelides.
Start of Presentation Maple soft Conference 2006 The Need for Formulae Manipulation in the Object-oriented Modeling of Physical Systems François E. Cellier,
Tile Reduction: the first step towards tile aware parallelization in OpenMP Ge Gan Department of Electrical and Computer Engineering Univ. of Delaware.
1 MA375 Introduction To Numerical Computing Fall 2003 Prof. Tim Warburton
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 3 Programming and Software.
111 Development Tools for ARM-Powered Devices Name of presenter RealView Microcontroller Development Kit ULINK2 USB/JTAG Adapter Evaluation Boards.
ECE Introduction to Control Systems -
Modeling and Simulation of linear dynamical systems using open tools Zoltán Magyar Tomáš Starý Ladislav Szolik Ľudovít Vörös Katar ína Žáková.
Page - 1 Rocketdyne Propulsion & Power Role of EASY5 in Integrated Product Development Frank Gombos Boeing Canoga Park, CA.
VIRTUAL PROTOTYPING of ROBOTS DYNAMICS E. Tarabanov.
Metadata Creation with the Earth System Modeling Framework Ryan O’Kuinghttons – NESII/CIRES/NOAA Kathy Saint – NESII/CSG July 22, 2014.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
ABIDE Anonymised BIg Data Environment, ABIDE. ABIDE is an Anonymized Data Science Sharing Platform for laboratories and big data users of all types. Uniquely,
1 Copyright © 2004, Oracle. All rights reserved. Introduction to Oracle Forms Developer and Oracle Forms Services.
High Performance Physical Modeling and Simulation
Analytical vs. Numerical Minimization Each experimental data point, l, has an error, ε l, associated with it ‣ Difference between the experimentally measured.
MathCore Engineering AB Experts in Modeling & Simulation WTC.
March 27, 2007HPC 07 - Norfolk, VA1 C++ Reflection for High Performance Problem Solving Environments Tharaka Devadithya 1, Kenneth Chiu 2, Wei Lu 1 1.
Combinatorial Scientific Computing and Petascale Simulation (CSCAPES) A SciDAC Institute Funded by DOE’s Office of Science Investigators Alex Pothen, Florin.
OPENPROD ITEA2 Final Review Meeting EDF - Site de Chatou University of Applied Science Bernhard Bachmann.
1CPSD Software Infrastructure for Application Development Laxmikant Kale David Padua Computer Science Department.
Investigating Adaptive Compilation using the MIPSpro Compiler Keith D. Cooper Todd Waterman Department of Computer Science Rice University Houston, TX.
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
Functional Mockup Interface 2.0 John Colley 26 th November 2012 Düsseldorf.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Company Update and Future Direction Romax European User Forum 2015 Andy Poon, Group CEO September 29 th, 2015.
Connections to Other Packages The Cactus Team Albert Einstein Institute
2011 STEM Summit Rich James, F5 Networks Sr. Manager, Recruiting.
Mantid Stakeholder Review Nick Draper 01/11/2007.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA
Trilinos Strategic (and Tactical) Planning Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
CONFIDENTIAL © 2007 Maplesoft, a division of Waterloo Maple Inc. Confidential MapleSim Pilot Test Program.
CHAPTER 1 Introduction to ECADD DENC 2533 ECADD. FIRST!!!! Visit my website at and choose Teaching TAB and click at the ECADD subjectwww.asyrani.com.
High Risk 1. Ensure productive use of GRID computing through participation of biologists to shape the development of the GRID. 2. Develop user-friendly.
Linking FMI-based Components with Ptolemy II’s Discrete Event Domain Introduction In the simulation of cyber-physical systems, event driven models with.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA Shirley Moore CPS5401 Fall 2013 svmoore.pbworks.com November 12, 2012.
INTRODUCTION Session 1 Course: S Introduction to Finite Element Method Year: 2010.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Introduction to Engine Performance Simulation Standards From the S-15 Committee for Gas Turbine Performance Simulation Nomenclature and Interfaces Last.
SysML and Modelica Integration using FMI\System of Systems March The seventh National Conference INCOSE_IL 2013 System of Systems "SysML and Modelica.
Introduction to Engine Performance Simulation Standards
Introduction to Oracle Forms Developer and Oracle Forms Services
Progress Report— 11/06 宗慶.
ITEA3 Project: ACOSAR Advanced Co-Simulation Open System Architecture
Introduction to Oracle Forms Developer and Oracle Forms Services
Boundary Element Analysis of Systems Using Interval Methods
Software for scientific calculations
MatLab Programming By Kishan Kathiriya.
Introduction to Oracle Forms Developer and Oracle Forms Services
Modeling and Simulation in Engineering using Modelica
Böblingen (Stuttgart)
Introduction to fmi technology
Böblingen (Stuttgart)
MATH My research interests lie primarily in the area of numerical analysis and scientific computing, …
4th Homework Problem In this homework problem, we wish to exercise the tearing and relaxation methods by means of a slightly larger problem than that presented.
GENERAL VIEW OF KRATOS MULTIPHYSICS
FOUNDATIONS OF MODERN SCIENTIFIC PROGRAMMING
Simulation And Modeling
Introduction To MATLAB
Introduction to Modelica and FMI
Presentation transcript:

Building Industrial grade Modelica compiler © Modelon 2015 Building Industrial grade Modelica compiler Tech talk in The Computer Scientist in Society course Contact: Iakov.Nakhimovski@modelon.com

modelon CUSTOMER AND OFFICE LOCATIONS Gothenburg, SE Lund, SE Hamburg, DE Munic, DE Ann Arbor, MI Hartford, CT Tokyo, JP Global customers mostly among Fortune 500 technology companies in Automotive, Aerospace, Energy and Industrial Equipment >30% annual growth

https://www.modelica.org/education/educational-material/lecture-material/english/ModelicaOverview.ppt/view

Jmodelica.org Open source license (GPL) Modeling with Modelica Simulation with FMI Optimization with Optimica C/C++ Java/JastAdd Compilation target Python package Modelica compiler Front-end Symbolic kernel Code generation Simulation and optimization runtime FMI 1.0 runtime FMI 2.0RC1 runtime Optim. runtime FMU 1.0 (ME/CS) FMU 2.0RC1 (ME/CS) FMUX (XML eqns.) FMI Library CasADi Modelica JModelica.org is developed in collaboration with academic institutions at Lund university Assimulo PyFMI Collocation Optim. CasADi Interface PyModelica Python user scripts 11th Modelica Conference © Modelon 2015

What is FMI? FMI – Functional Mock-up Interface Open interface standard for model exchange between different modeling and simulation environments. Consists of Model Description XML Schema: Define model variables and meta data. Model Binary Interface: C API to expose model equations evalutation. Packaging into an FMU – Functional Mock-up Unit Zip-file with specified content Development started as a part of the MODELISAR project ITEA2 European project to improve the design of systems and embedded software in vehicles. http://www.fmi-standard.org/

From Research project to industrial Modelica Compiler JModelica.org Open source licens (GPL) Base-line Modelica and FMI support Modular components and openendedness Community support Python scripting OPTIMICA Compiler Toolkit Based on JModelica.org components End-user and OEM licenses Python and MATLAB scripting Encrypted library support Steady-state simulation support Third party numerical solvers Support contract ” [We are] applying the platform to Mitsubishi Electric Problems Scott Bortoff, Mitsubishi Electric Research Laboraties ” It was so much easier when we did not have any real users Jon Sten, Modelon 11th Modelica Conference

Modelica compiler stages Symbolic simplifications Index reduction Equation sorting and Block Lower Triangular form Tearing of systems of equations Code generation (XML and C) Linking in run-time library (numerical solvers) and packaging

Equation sorting Example model Circuit   Real u0,u1,u2,u3,uL;   Real i0,i1,i2,i3,iL;   parameter Real R1 = 1;   parameter Real R2 = 1;   parameter Real R3 = 1;   parameter Real L = 1; equation    u0 = sin(time);   u1 = R1*i1;   u2 = R2*i2;   u3 = R3*i3;   uL = L*der(iL);   u0 = u1 + u3;   uL = u1 + u2;   u2 = u3;   i0 = i1 + iL;   i1 = i2 + i3; end Circuit;  

Equation sorting   u0 u1 u2 uL der(iL) i0 i1 i3 i2 U0 = sin(time) i1 = i2 + i3 i0 = i1 + iL uL = u1 + u2 u0 = u1 + u2 uL = L*der(iL) u2 = R3 * i3 u2 = R2 * i2 u1 = R1 * i1 Equations Variables Block Lower Triangular Form Tarjan’s algorithm Minimally sized blocks Incidence matrix Matched entries Bipartitite graph Maximum matching Linear time algorithms 𝐹 1 𝑧 1 ,𝑣 =0 ⋮ 𝐹 𝑖 𝑧 1 , …, 𝑧 𝑖 ,𝑣 =0 ⋮ 𝐹 𝑁 𝑏 𝑧 1 , …, 𝑧 𝑁 𝑏 ,𝑣 =0 Block types Solved 𝑧 𝑖 = 𝑔 𝑖 ( 𝑧 1 ,…, 𝑧 𝑖−𝑖 ,𝑣) Implicit 𝐹 𝑖 𝑧 1 , …, 𝑧 𝑖 ,𝑣 =0

tearing Consider non-linear system 𝐹 ( 𝑧 )=0 Tearing is the procedure of rewriting the system on the form: i) Solved equations/torn variables 𝑧 𝑠,1 ≔ 𝑔 1 𝑧 𝑢 𝑧 𝑠,2 ≔ 𝑔 2 𝑧 𝑠,1 , 𝑧 𝑢 … 𝑧 𝑠,𝑛𝑠 ≔ 𝑔 𝑛𝑠 𝑧 𝑠,1 ,…, 𝑧 𝑠,𝑛𝑠−1 , 𝑧 𝑢 i) Residual equations/iteration variables 𝐺 𝑧 𝑠 , 𝑧 𝑢 =0 Where ns>>nu Non-linear solver iterates over 𝑧 𝑢 to solve 𝐺 𝑧 𝑢 =0, i.e., the torn variables are not exposed to the solver

Goal of Tearing Transform BLT-blocks (algebraic loops) into bordered triangular matrices Exploit that many equations can be solved analytically – diagonal incidence (L) Only a small number of residual equation remains (J) Finding smallest k is NP-complete Intuition: if tearing variables are known, L-part can be computed analytically in sequence Ak ∙ m Bk ∙ m Jk ∙ k Lm ∙ m Residual Equations Variables Tearing

Tearing algorithm BLT form Torn BLT form Tearing algorithm computes a small set of residuals and iteration variables No gurantee for minimal number of iteration variables Structural analysis Heuristics exploit information about e.g., start values to make selections BLT form Torn BLT form

Error?

OPTIMICA Compiler TooLkit 2017-04-26 OPTIMICA Compiler TooLkit The OPTIMICA Compiler Toolkit unifies simulation and optimization for transient and steady-state computations throughout the design process. Flexibility and interoperability with user-friendly scripting APIs in MATLAB and Python Integrates with user toolchain and development processes for application development and deployment Transient simulation with Modelica and FMI Industrial grade optimization with third party algorithms Based on JModelica.org technology ” [We] are integrating Modelon’s Optimica Compiler into the Simplorer environment, providing our customer base with support for creating and simulating a rich collection of Modelica models that span numerous engineering disciplines and applications Lee Johnson, ANSYS 11th Modelica Conference Modelon Confidential