Kontinuerlig simulering
Kontinuerlig simulering avser simuleringsmetoder där ett system modelleras med hjälp av variabler som ändras kontinuerligt enligt en uppsättning differentialekvationer .
Historia
Det är anmärkningsvärt som en av de första användningsområdena någonsin för datorer, med anor från Eniac 1946. Kontinuerlig simulering möjliggör förutsägelse av
- raketbanor
- vätebombdynamik ( OBS: detta är den första användningen någonsin av Eniac )
- simulering av elektriska kretsar
- robotik
Society for Modeling and Simulation International (SCS ) grundades 1952 och är ett ideellt, volontärdrivet företag dedikerat till att främja användningen av modellering och simulering för att lösa verkliga problem. Deras första publikation antydde starkt att marinen slösade bort mycket pengar genom de ofullständiga flygtestningarna av missiler, men att Simulation Councils analoga dator kunde ge bättre information genom simulering av flygningar. Sedan dess har kontinuerlig simulering visat sig vara ovärderlig i militära och privata ansträngningar med komplexa system. Inget Apollo-månskott hade varit möjligt utan det.
Förtydligande av begrepp
Skillnaden mellan kontinuerliga och diskreta gäller både för dynamiska system i verkligheten och för deras simulering.
Ett (verkliga) dynamiskt system kan vara kontinuerligt eller diskret. Kontinuerliga dynamiska system (som fysiska system med materiella föremål som rör sig i rymden) kännetecknas av tillståndsvariabler vars värden ändras kontinuerligt, medan tillståndsvariabelvärdena för diskreta dynamiska system (som rovdjur-byte-ekosystem) "hoppar", det vill säga de ändras endast vid diskreta tidssteg.
I kontinuerlig simulering modelleras kontinuerligt föränderliga tillståndsvariabler för ett system av differentialekvationer. Men i digital beräkning kan reella tal inte representeras troget och differentialekvationer kan endast lösas numeriskt med ungefärliga algoritmer (som metoden för Euler eller Runge–Kutta) med någon form av diskretisering. Följaktligen kan digitala datorer inte köra verkligt kontinuerliga simuleringar. Endast analoga datorer kan köra verkligt kontinuerliga simuleringar. I många fall ger dock digitala beräkningsmetoder baserade på inkrementell tidsförlopp (med antingen fasta eller dynamiskt justerade inkrement) för att diskretisera tid i små tidssteg tillfredsställande approximationer.
Diskret händelsesimulering , å andra sidan, ändrar tillståndsvariabler endast som svar på händelser, vanligtvis med hjälp av nästa händelsetidsförlopp .
Kontinuerliga dynamiska system kan endast fångas av en kontinuerlig simuleringsmodell, medan diskreta dynamiska system kan fångas antingen på ett mer abstrakt sätt med en kontinuerlig simuleringsmodell (som Lotka- Volterra-ekvationerna) eller på ett mer realistiskt sätt med en diskret händelsesimulering modell, eftersom födelse, död och möten mellan rovdjur och bytesdjur är diskreta händelser. När man använder en kontinuerlig simuleringsmodell av det diskreta dynamiska systemet för en population av djur, kan man få resultat som 23,7 djur, som först måste avrundas för att vara meningsfulla.
I exemplet till höger visas försäljningen av en viss produkt över tid. Att använda en diskret händelsesimulering gör det nödvändigt att ha en inträffad händelse för att ändra antalet försäljningar. I motsats till detta har den kontinuerliga simuleringen en jämn och stadig utveckling av antalet försäljningar. Det är värt att notera att "antalet försäljningar" i grunden är räknebart och därför diskret. En kontinuerlig simulering av försäljningen innebär möjlighet till delförsäljning, t.ex. 1/3 av en försäljning. Av den anledningen modellerar en kontinuerlig försäljningssimulering inte verkligheten troget men kan ändå fånga systemets dynamik ungefär.
Konceptuell simuleringsmodell
Kontinuerliga simuleringar är baserade på en uppsättning differentialekvationer. Dessa ekvationer definierar egenheten hos tillståndsvariablerna, miljöfaktorerna så att säga, i ett system. Dessa parametrar för ett system förändras på ett kontinuerligt sätt och förändrar därmed tillståndet för hela systemet.
Uppsättningen differentialekvationer kan formuleras i en konceptuell modell som representerar systemet på en abstrakt nivå. För att utveckla den konceptuella modellen är två tillvägagångssätt möjliga:
- Det deduktiva tillvägagångssättet: Systemets beteende härrör från fysiska lagar som kan tillämpas
- Det induktiva tillvägagångssättet: Systemets beteende uppstår från observerat beteende i ett exempel
Ett allmänt känt exempel på en konceptuell modell för kontinuerlig simulering är "rovdjurs-/bytemodellen".
Rovdjurs-/bytesmodellen
Denna modell är typisk för att avslöja dynamiken i populationer. Så länge bytespopulationen ökar, ökar också rovdjurspopulationen, eftersom de har tillräckligt att äta. Men mycket snart blir rovdjursbeståndet för stort så att jakten överstiger bytesproduktionen. Detta leder till en minskning av bytespopulationen och som en konsekvens av detta även till en minskning av rovdjurspopulationen eftersom de inte har tillräckligt med mat för att föda hela populationen.
Simulering av vilken population som helst innebär att man räknar medlemmar av befolkningen och är därför i grunden en diskret simulering. Men att modellera diskreta fenomen med kontinuerliga ekvationer ger ofta användbara insikter. En kontinuerlig simulering av populationsdynamik representerar en approximation av populationen som effektivt anpassar en kurva till en ändlig uppsättning mätningar/punkter.
Matematisk teori
I kontinuerlig simulering modelleras det kontinuerliga tidssvaret för ett fysiskt system med hjälp av ODEs , inbäddade i en konceptuell modell. Tidssvaret för ett fysiskt system beror på dess initiala tillstånd. Problemet med att lösa ODE för ett givet initialtillstånd kallas initialvärdesproblemet.
I mycket få fall kan dessa ODEs lösas på ett enkelt analytiskt sätt. Vanligare är ODE som inte har en analytisk lösning. I dessa fall måste man använda numeriska approximationsprocedurer.
Två välkända familjer av metoder för att lösa initiala värdeproblem är:
- Familjen Runge -Kutta
- Linjär Multistep- familjen.
När du använder numeriska lösare måste följande egenskaper hos lösaren beaktas:
- metodens stabilitet _
- metodegenskapen styvhet
- metodens diskontinuitet _
- Avslutande kommentarer som ingår i metoden och tillgängliga för användaren
Dessa punkter är avgörande för framgången med användningen av en metod.
Matematiska exempel
Newtons andra lag , F = m a , är ett bra exempel på ett enda ODE kontinuerligt system. Numeriska integrationsmetoder som Runge Kutta eller Bulirsch-Stoer skulle kunna användas för att lösa just detta system av ODE.
Genom att koppla ODE-lösaren med andra numeriska operatorer och metoder kan en kontinuerlig simulator användas för att modellera många olika fysiska fenomen som t.ex.
- flygdynamik
- robotik
- fordonsupphängningar
- hydraulik
- elkraft
- elektriska motorer
- mänsklig andning
- polarisen smälter
- ångkraftverk
- kaffemaskin
- etc.
Det finns praktiskt taget ingen gräns för de typer av fysiska fenomen som kan modelleras av ett system av ODE. Vissa system kan dock inte ha alla derivattermer specificerade explicit från kända ingångar och andra ODE-utgångar. Dessa derivattermer definieras implicit av andra systembegränsningar såsom Kirchhoffs lag att laddningsflödet in i en korsning måste vara lika med flödet ut. För att lösa dessa implicita ODE-system måste ett konvergerande iterativt schema som Newton-Raphson användas.
Simuleringsprogram
För att påskynda skapandet av kontinuerliga simuleringar kan du använda mjukvarupaket för grafisk programmering som VisSim eller Simcad Pro . Paketen ger alternativ för integrationsmetod, stegstorlek, optimeringsmetod, okända och kostnadsfunktion, och tillåter villkorad exekvering av delsystem för att påskynda exekvering och förhindra numeriska fel för vissa domäner. Sådan grafisk simuleringsprogramvara kan köras i realtid och användas som ett träningsverktyg för chefer och operatörer.
Moderna applikationer
Kontinuerlig simulering hittas
- inuti Wii- stationer
- kommersiella flygsimulatorer
- jetplans autopiloter
- avancerade tekniska designverktyg
I själva verket skulle mycket av modern teknik som vi åtnjuter idag inte vara möjlig utan kontinuerlig simulering.
Andra typer av simulering
- Diskret händelsesimulering
- Datorsimulering
- Processimulering
- Instruktionssimulering
- Social simulering