Go to content
SV På svenska

LARGEDYN Modeling and Simulation Tool for Very Large Systems

Reference number
ITM17-0154
Start and end dates
190101-221231
Amount granted
7 036 490 SEK
Administrative organization
Linköping University
Research area
Computational Sciences and Applied Mathematics

Summary

System-level dynamic modeling and simulation is a key activity in modern system engineering design. The Modelica language is a standardized tool-independent non-proprietary equation-based object-oriented modeling language ideally suited for such activities. However, current Modelica tools cannot handle large systems and dynamically reconfigurable systems. The main goals of this project are: (1) Overcoming the size barrier of current Modelica simulation tools, making it possible to efficiently generate fast simulation code for systems of up to 10 million equations, enabling new important applications including very large power grid models, fleets of autonomous vehicles, buildings, etc. (2) Supporting varying model structure at run-time, which is needed for flexible management of complex, large-scale cyber-physical system models which increasingly are integrated with the internet-of-things paradigm, e.g., smart grids, fleets of autonomous vehicles. The results will be available in an enhanced open source OpenModelica tool. To realize these goals, a large new tool development within the OpenModelica tool suite is needed. About half of the model compiler, run-time system, and solver system will need to be re-written and extended. Improved methods will be implemented in the following areas: new efficient model flattening, efficient just-in-time LLVM based tool chain, efficient parallel multi-core based simulation, variable-structure simulation, multi-rate solvers.

Popular science description

Det blir alltmer attraktivt att använda modellering och simulering i olika faser av produktutveckling, vilket i ökande utsträckning ersätter traditionellt prototypbyggande. Denna trend går oftast under paraplybeteckningen modellbaserad design. Modellering och simulering av både komponenter och system används för att få en uppfattning om ett komplext systems prestanda och uppträdande. Generellt gäller att fysiska tester och prototypbyggande är dyra och tidskrävande, vilket ger simuleringar istället för tester en stor fördel. Att använda OpenModelicaverktyget med det ekvationsbaserad modelleringsspråket Modelica som bas är ett naturligt val i detta avseende med tanke på modelleringskraften i Modelica för komplexa cyberfysikaliska produkter (cyber betyder programvara, fysikalisk betyder hårdvara; här finns båda med), och lätttillgängligheten av ett öppet källkodsverktyg som OpenModelica. Dessutom blir verktyget även tillgängligt för ett antal företag för kommersiellt bruk. Tyvärr har nuvarande kommersiella Modelicaverktyg och även OpenModelica begränsningar så att de inte kan användas för mycket stora modeller, t.ex. upp till 10 miljoner ekvationer, som ofta behövs när ett antal delsystem kombineras, t.ex. ett stort elkraftnät med kraftstationer, eller modeller som dynamiskt ändrar struktur under tiden, t.ex. i en stor grupp körande fordon där bilar kommer till och faller ifrån. Huvudmålen för detta projekt är följande: (1) Att komma över storleksbarriären för nuvarande Modelicaverktyg och göra det möjligt att effektivt generera snabb simuleringskod för nya viktiga tillämpningar inklusive modeller för mycket stora elkraftnät, stora byggnader, etc., med upp till 10 miljoner ekvationer. (2) Stöd för modeller med dynamiskt varierande struktur över tiden, vilket är növändigt för flexibel hantering av komplexa storskaliga systemmodeller som i ökande grad integreras med internet-of-thngs paradigmet, t.ex. smarta kraftnät, grupper av autonoma fordon. Resultaten blir tillgängliga i en förbättrad version av öppen källkodsverktyget OpenModelica. För detta behövs en ny stor verktygsutveckling inom OpenModelica verktygssviten. Nya och förbättrade metoder kommer att implementeras av en grupp samverkande experter inom områden som symbolisk modelltransformation, kompilering (översättning) av modeller till effektiv körbar maskinkod för datorer, användning av datorer med många processorer, nya effektivare metoder för numeriska beräkningar.