Skip to main content

LUP Student Papers

LUND UNIVERSITY LIBRARIES

Inline integration for real-time simulation

Fransson, Andreas LU (2014) In Master Thesis in Mathematical Science FMN820 20141
Mathematics (Faculty of Engineering)
Abstract
In this thesis, an implementation of inline integration is described and examined. Inline integration is a mixed symbolic and numerical method for simulating fully implicit ordinary differential equations (DAE:s) whereby discretizations are introduced symbolically at model level. A generalized solution to the discretized model containing tailored iterative solving schemes and symbolic solutions is then found using a set of symbolic algorithms. Since the integration scheme is brought into the realm of symbolic solving, it is possible to find more efficient ways to solve the equation systems that arise when applying implicit numerical algorithms. For this reason inline integration is particularly useful in realtime simulation of stiff... (More)
In this thesis, an implementation of inline integration is described and examined. Inline integration is a mixed symbolic and numerical method for simulating fully implicit ordinary differential equations (DAE:s) whereby discretizations are introduced symbolically at model level. A generalized solution to the discretized model containing tailored iterative solving schemes and symbolic solutions is then found using a set of symbolic algorithms. Since the integration scheme is brought into the realm of symbolic solving, it is possible to find more efficient ways to solve the equation systems that arise when applying implicit numerical algorithms. For this reason inline integration is particularly useful in realtime simulation of stiff systems. The implementation of this project is carried out on the Modelica compiler of JModelica.org, which is an open source simulation and optimization platform. Modelica is a high level object-oriented modeling language. With JModelica.org, the discretized models are compiled into Functional Mock-up Units for Model-Exchange (ME-FMU:s), which are compliant with the Functional Mock-up Interface (FMI) standard. The inlined numerical algorithm used is the Implicit Euler method and the implementation is veried on a set of example models from the Modelica Standard Library (MSL). Positive results are seen when comparing the structure of the example models with and without inline integration as well as when comparing execution times. The time improvement rate is seen to vary by a factor of up to 7 between the different example models. (Less)
Popular Abstract (Swedish)
Introduktion

Simuleringsmetoder är något som numera förekommer i en mängd olika sammanhang. De förekommer i olika former vid produktutveckling i industrin samt för att t ex studera komplexa system inom vetenskapen. Utöver detta förekommer det även i spel-och filmindustrin. I det stora hela handlar det om att skapa en förenklad dator-representation av verkligheten, så att man kan studera vissa förlopp som inte är praktiska eller ens möjliga att observera direkt. I stället låter man dem spela ut i en dator.

Simulering

I stort sett allt som kan beskrivas med en fysikalisk modell kan också simuleras i en dator. Det kan röra sig om bland annat astronomiska fenomen där det faktiska förloppet tar miljarder år, eller extremt snabba... (More)
Introduktion

Simuleringsmetoder är något som numera förekommer i en mängd olika sammanhang. De förekommer i olika former vid produktutveckling i industrin samt för att t ex studera komplexa system inom vetenskapen. Utöver detta förekommer det även i spel-och filmindustrin. I det stora hela handlar det om att skapa en förenklad dator-representation av verkligheten, så att man kan studera vissa förlopp som inte är praktiska eller ens möjliga att observera direkt. I stället låter man dem spela ut i en dator.

Simulering

I stort sett allt som kan beskrivas med en fysikalisk modell kan också simuleras i en dator. Det kan röra sig om bland annat astronomiska fenomen där det faktiska förloppet tar miljarder år, eller extremt snabba händelser såsom kemiska reaktioner mellan enstaka molekyler. Exempel från industrin kan innefatta bland annat simulationer över hur bilar eller tåg deformeras vid kollisioner. Genom att använda ett simulationsverktyg kan tillverkaren då testa säkerheten av en design utan att behöva konstruera och därefter demolera en prototyp i ett tidigt stadie.

Tiden det tar att köra en simulation beror dels på hur detaljerad modellen som används är, men också på hur snabb datorn är som simulationen utförs på. En viktig faktor är också hur exakt modellen översätts till programkod som datorn kan tolka, dvs vilken simuleringsmetod man använder. Arbetet som datorn utför vid en simulering av en fysikalisk modell består oftast av en stor uppsättning ekvationer som måste lösas i tandem ett stort antal gånger under simulationens gång. Det gäller då att programmet som utför simulationen är konfigurerat att lösa ekvationer na på kortast möjliga tid, dvs med minimalt slösad datorkraft. Det finns nämligen ofta flera alternativa sätt att lösa ett sådant problem, där vissa kan vara betydligt mer effektiva än andra.

De exempel på simulationer som nämndes ovan kan alla klassas som offline-simulationer, dvs simulationer som startas utan att någon data tillförs eller alls påverkas under simulationens gång. Allt som behöver göras är att starta simulationen och vänta tills den är klar och man kan undersöka resultaten. Med en sådan uppställning är simulationstiden mest en obekvämlighet, dvs en fråga om hur länge man får vänta på resultaten.

Realtidssimulering

Andra sidan av myntet av offline-simulering är realtidssimulering, där simulationen tillförs och fråntas data under tiden den pågår. Som exempel kan användas styrsystemet i ett modernt stridsflygplan. Styrsystemet agerar som ett mellansteg mellan pilot och flygplan och listar automatiskt ut det bästa sättet att genomföra vad piloten vill åstadkomma. När man utvecklar ett sådant styrystem, kan det vara gynnsamt att ha en simulerad miljö att testa det mot. Man kan då koppla upp det mot en simulation över ett flygplan och fysiken som styr dess flykt. Ett krav är då att simulationen är minst lika snabbt som verkligheten, dvs att en sekund i den simulerade miljön tar högst en sekund verklig tid.

Ett alternativt sätt att se det är att: Efter som det simulerade planet mottar data med jämna mellanrum från styrsystemet, möjligen ett tusental per sekund, har den begränsad tid på sig att komma fram med ett svar innan nästa omgång data kommer. Om simulationen inte hinner med nästa deadline, bryter kommunikationen mellan styrsystem och simulation ner. För realtidssimulering är alltså hastighet en kritisk faktor.

Inline integration

Inline integration är en simuleringsmetod som har potential att snabba på just realtidssimulationer. Metoden är ett alternativt sätt att lösa den uppsättning ekvationer som behöver lösas under simulationens gång.

Tidigare metoder bygger på en tvåstegs lösning, där en process först löser en del av problemet och en annan process löser den andra delen av problemet. Med inline integration utförs båda stegen istället i en samlad process och detta kan vara mycket smidigare för vissa modeller.

Med en effektivare simuleringsmetod sparas datorkraft, vilket kan översättas dels till lägre energiåtgång, men även möjligheten att använda billigare datorkomponenter för att utföra simulationen. Det tillåter en också att byta upp sig till en mer detaljerad modell.

I detta arbetet har inline integration studerats som en alternativ simuleringsmetod ämnad för realtidssimulation. I detta syfte har ett antal exempelmodeller simulerats dels med inline integration och dels med ordinarie metoder. Resultatet visar att inline integration kan vara väldigt gynnsamt för vissa modeller, där en tiofaldig prestandaökning har observerats. (Less)
Please use this url to cite or link to this publication:
author
Fransson, Andreas LU
supervisor
organization
course
FMN820 20141
year
type
H2 - Master's Degree (Two Years)
subject
publication/series
Master Thesis in Mathematical Science
report number
LUTFNA-3031-2014
ISSN
1404-6342
other publication id
2014:E58
language
English
id
4857098
date added to LUP
2014-12-04 16:08:27
date last changed
2015-12-14 13:32:15
@misc{4857098,
  abstract     = {{In this thesis, an implementation of inline integration is described and examined. Inline integration is a mixed symbolic and numerical method for simulating fully implicit ordinary differential equations (DAE:s) whereby discretizations are introduced symbolically at model level. A generalized solution to the discretized model containing tailored iterative solving schemes and symbolic solutions is then found using a set of symbolic algorithms. Since the integration scheme is brought into the realm of symbolic solving, it is possible to find more efficient ways to solve the equation systems that arise when applying implicit numerical algorithms. For this reason inline integration is particularly useful in realtime simulation of stiff systems. The implementation of this project is carried out on the Modelica compiler of JModelica.org, which is an open source simulation and optimization platform. Modelica is a high level object-oriented modeling language. With JModelica.org, the discretized models are compiled into Functional Mock-up Units for Model-Exchange (ME-FMU:s), which are compliant with the Functional Mock-up Interface (FMI) standard. The inlined numerical algorithm used is the Implicit Euler method and the implementation is veried on a set of example models from the Modelica Standard Library (MSL). Positive results are seen when comparing the structure of the example models with and without inline integration as well as when comparing execution times. The time improvement rate is seen to vary by a factor of up to 7 between the different example models.}},
  author       = {{Fransson, Andreas}},
  issn         = {{1404-6342}},
  language     = {{eng}},
  note         = {{Student Paper}},
  series       = {{Master Thesis in Mathematical Science}},
  title        = {{Inline integration for real-time simulation}},
  year         = {{2014}},
}