Arvutisimulatsioon

Arvutisimulatsiooniks nimetatakse simulatsiooni (vaata ka simuleerimine), mille eesmärgiks on matkida mingi uuritava süsteemi käitumist ning mille simuleerimine toimub kas ühes arvutis või koguni terves arvutite võrgus.
Tänapäeval on arvutisimulatsioonid muutunud väga tähtsaks modelleerimise viisiks erinevate looduslike süsteemide modelleerimises. Modelleerimisvaldkondadeks võivad olla näiteks füüsika, arvutiteadus, astrofüüsika ja keemia, aga ka bioloogia, majandus, psühholoogia ja sotsiaalteadused. Neid simulatsioone saab kasutada uute teadmiste produtseerimiseks, uute tehnoloogiate disainimiseks, süsteemi keerukuse hindamiseks ja paljuks muuks.
Arvutisimulatsioone võivad läbi viia arvutiprogrammid, mida käitab üks arvuti ja mille simuleerimiseks kuluv aeg on minutites, aga ka programmid, mille simulatsiooni käitab kogu arvutite võrgustik ning mille simuleerimiseks kuluv aeg on päevades, nädalates või veelgi kauem. Arvutisimulatsioonide mudelid ületavad tihtipeale keerukuselt traditsioonilist paberi ja pliiatsi stiilis modelleerimist ja esineb ka mudeleid, mida ei olegi paberi ja pliiatsi meetodil võimalik modelleerida. Näiteks detsembris 1997 korraldati Ameerika Ühendriikides simulatsioon, mis matkis ühe väe pealetungi teisele kõrbealal, kusjuures simulatsioonis modelleeriti kokku 66 239 tanki, veoautot ja teisi sõidukeid. Selleks kasutati USDoDi superarvuteid, kuna tavaarvutite arvutusvõimekus ei olnud nii keeruka simulatsiooni jaoks piisav. Teiseks selliseks näiteks on materjali deformatsiooni mudel, mille simuleerimiseks kasutati 1 000 000 000 aatomit.
Simulatsioon või mudel.
Termini arvutimudel all mõeldakse algoritme ja võrdusi, mis kirjeldavad modelleeritava süsteemi käitumist. Arvutisimulatsioon seevastu tähendab sellise programmi tööd, mis sisaldab andmeid ülalkirjeldatud algoritmide ja võrduste kohta. Arvutisimulatsioon on seega arvutimudeli arvutis käitamine ehk simuleerimine.
Ajalugu.
Arvutisimulatsioonide ja arvutite kiire areng käivad käsikäes. Mida täiuslikumad on arvutid, seda keerukamaid simulatsioone saab käitada. Esimeseks suuremaks arvutisimulatsiooniks oli Manhattani projekt. Selle eesmärk oli teise maailmasõja ajal tuumarelva plahvatuse protsessi simuleerimine. Selle teostamiseks simuleeriti 12 mittekattuvat kera Monte Carlo algoritmiga.
Sisendandmed ja nende ettevalmistamine.
Simulatsioonide ja mudelite jaoks vajalik andmete hulk varieerub. Mõne simulatsiooni jaoks on vaja sisestada vaid paar numbrit (näiteks vahelduvvoolu lainekuju juhtmes), kuid mõne teise jaoks on vaja terabaitides andmeid (näiteks ilmastiku- ja kliimamudelid).
Samuti varieeruvad nende andmete allikad. Nendeks võivad olla näiteks sensorid ja teised mudeliga ühendatud seadmed; kontrollpinnad, mida kasutatakse simulatsiooni suunamiseks; käsitsi sisestatud andmed ja teiste simulatsioonide tulemusena saadud andmed. Lisaks sellele võivad varieeruda veel sisendandmete sisestamise ajad. Invariantsed andmed on tavaliselt juba eelnevalt mudeli koodis defineeritud (näiteks π väärtus), eelnevalt kogutud andmed sisestatakse simulatsiooni alguses (nt juba tehtud katse tulemused või mõne teise simulatsiooni tulemused), jooksvad andmed sisestatakse simulatsiooni ajal (sensoritelt tuleb pidevalt uut informatsiooni, mis edastatakse jooksvalt simulatsiooni sisendisse). Välistest allikatest andmeid sisestades peab kasutaja teadma, millises vormingus tuleks andmed sisestada, vastasel juhul ei pruugi simulatsiooni süsteem neid õigesti lugeda osata. Isegi väikesed vead algandmetes võivad viia suurte vigadeni simulatsiooni tulemustes. Selline simuleerimisele omane viga oli peamiseks kaoseteooria loomise põhjuseks.
Arvutisimulatsioonide ja mudelite tüübid.
Arvutimudelid saab jaotada rühmadesse vastavalt atribuutide paaridele: stohhastiline või deterministlik (selle erijuhuna ka kaootiline), fikseeritud või dünaamiline olek, pidev või diskreetne, lokaalne või hajutatud. Võrrandid defineerivad elementidevahelised sidemed konkreetses mudelis ja üritavad leida oleku, mille korral süsteem on tasakaalus. Selliseid mudeleid kasutatakse tihti füüsikaliste süsteemide simuleerimiseks, kuna see on võrreldes dünaamilise simulatsiooniga lihtsam.
Simulatsiooni tüüpe iseloomustavad järgmised kirjeldused:
Visualiseerimine.
Algselt esitati simulatsiooni tulemusena saadud andmeid tabeli või maatriksina. Selle esituse eesmärgiks oli näidata, kuidas väljundandmed sõltusid simulatsiooni parameetrite muutumisest. Psühholoogid on aga kindlaks teinud, et inimesed tajuvad trende kiiremini, kui nad vaatavad maatriksite asemel graafikuid, animatsioone või simulatsiooni tulemustest valmistatud liikuvaid pilte (CGI). Liikuvalt pildilt ei saa alati välja lugeda numbreid või matemaatilisi võrrandeid, kuid liikuvat ilmastiku kaarti jälgides saab kindlaks teha, millises suunas liigub vihm väga kiiresti. Kui aga vihma suuna kindlakstegemiseks kasutatakse ainult numbritest koosnevat maatriksit, siis võtaks see protsess kindlasti kauem aega.
Arvutisimulatsioonid teaduses.
Geneerilise arvutisimulatsiooni tüübi üheks näiteks teaduses on numbriline diferentsiaalvõrrandite simulatsioon, mida ei saa analüütiliselt lahendada. Sellesse kategooriasse kuuluvad näiteks pidevaid süsteeme hõlmavaid teooriaid nagu kosmoloogia, vedelike dünaamika, katkematu mehaanika ja keemiline kineetika. Teiseks näiteks on stohhastiline simulatsioon, mida kasutatakse tavaliselt diskreetsete süsteemide simuleerimiseks. Nendes süsteemides toimuvad sündmused tõenäosuslikult ja seega ei saa neid otseselt kirjeldada diferentsiaalvõrrandite abil. Sellesse kategooriasse kuuluvad näiteks geneetiline triiv ja biokeemilised või geeniregulatsiooni võrgustikud väikese arvu molekulide puhul.
Spetsiifilised arvutisimulatsioonide näited:
Simulatsioonikeskkonnad füüsikas.
Tänapäevaks on välja töötatud palju graafilisi simulatsioonikeskkondi. Sellised on näiteks COMSOL Multiphysics, simulationHub ja OpenModelica. Mõned keskkonnad visualiseerivad simulatsiooni ise, mõne puhul tuleb aga visualiseerimine teha eraldi programmiga. Üks selline vabavaraline visualiseerimistarkvara on Ovito.