Gravitaatiosimulaatiot
|
|
- Ella Majanlahti
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 Aapo Peiponen Gravitaatiosimulaatiot Tietotekniikan kandidaatintutkielma 24. toukokuuta 2019 Jyväskylän yliopisto Informaatioteknologian tiedekunta
2 Tekijä: Aapo Peiponen Yhteystiedot: Ohjaaja: Sanna Mönkölä Työn nimi: Gravitaatiosimulaatiot Title in English: Gravitational simulations Työ: Kandidaatintutkielma Sivumäärä: 21+0 Tiivistelmä: Tässä tutkielmassa tarkastellaan gravitaatiosimulaatioita, simulaatioiden tehokkuutta ja algoritmeja, joilla simulaatioita voidaan nopeuttaa. Gravitaatiosimulaatioiden suurin ongelma on laskennallinen vaativuus. Suoraan N kappaleen välisiä vuorovaikutuksia laskemalla laskennallinen vaativuus on luokkaa O(N 2 ). On selvää, että tämä on ongelma suurilla kappalemäärillä. Erilaiset algoritmit, kuten Barnes-Hut puualgoritmi, voivat vähentää aikavaativuutta tuntuvasti. Parhaimmillaan voidaan saavuttaa nopealla moninapamenetelmällä aikavaativuus O(N). Simulaatioita voidaan lisäksi nopeuttaa hyödyntämällä rinnakkaislaskentaa. Tähän soveltuu esimerkiksi Barnes Hut-algoritmi hyvin. Avainsanat: gravitaatiosimulaatio, usean kappaleen järjestelmät, Barnes Hut-algoritmi Abstract: In this paper we will look at gravitational simulations, effectiviness of simulations and algorithms that can be used to accelerate simulations. The biggest problem gravitational simulatins have is algorithmic complexity. Calculating interactions directly has the algorithmic complexity of O(N 2 ). It is clear that this becomes a real problem with large numbers of particles in simulation. Different algorithms such as the Barnes-Hut tree algorithm can reduce algorihtmic complexity a lot. At best algorithmic complexity of O(N) can be achieved with Fast Multipole Method. In addition, to achieve speed it is very important to make use of parallel computing. Barnes Hut-algorithm is well suited for parallel computing. Keywords: n-body simulations, gravitational simulations, Barnes Hut-algorithm i
3 Kuviot Kuvio 1. Barnes-Hut puun rakenne... 9 Kuvio 2. Bolshoi-simulaation tulokset verrattuna havaintoihin ii
4 Sisältö 1 JOHDANTO USEAN KAPPALEEN JÄRJESTELMÄT Vuorovaikutusten laskeminen Ratkaisujen tarkkuus ALGORITMIT Barnes Hut-algoritmi SUURLASKENTA JA TEHOKKUUS Laskennan rajat Rinnakkaislaskenta Simulaatioiden kasvava koko YHTEENVETO LÄHTEET iii
5 1 Johdanto Tässä kandidaatintutkielmassa pyritään selvittämään, kuinka gravitaatiosimulaatioissa lasketaan kappaleiden liikkeet ja mitä keinoja laskennan tehostamiseen on. Osa tehostamiskeinoista, joita voidaan hyödyntää nopeuttamaan laskentaa hidastavia tilanteita, kuten kahden kappaleen normittaminen (engl. two body regularizarion), jää tutkielman ulkopuolelle. Samoin suhteellisuusteorian vaikutukset erittäin suuren skaalan simulaatioissa jätetään huomiotta. Ensimmäisessä luvussa käsitellään gravitaatiosimulaatioiden perusteita. Alussa tutustutaan siihen, kuinka kappaleiden välisiä vuorovaikutuksia voidaan laskea ja mitä ongelmia voi tulla laskennassa vastaan. Ongelmat vaihtelevat epätarkkuuksista simulaation rikkoutumiseen. Epätarkkuuksia voidaan hallita muuttamalla simulaation tarkkuutta, joka määräytyy sen mukaan, kuinka usein simulaation sisältämien kappaleiden sijainnit päivitetään. Voidaan esimerkiksi ohjelmoida simulaatio niin, että kappaleiden sijainteja päivitetään useammin kun kappaleet ovat lähellä toisiaan. Silloin vältetään epätarkkuuksia, joita voi syntyä lähiohitusten aikana. Toinen keino on muokata kaavaa, jolla vuorovaikutuksia lasketaan niin, että lähiohitukset eivät aiheuta yhtä suuria ongelmia. Tällöin kylläkin menetetään jonkin verran tarkkuutta. Toisessa luvussa tutustutaan siihen, kuinka voidaan laskea kappaleiden välisiä vuorovaikutuksia hieman tehokkaammin. Luvussa käydään läpi Barnes Hut-algoritmi, jonka perusidea on, että kaukaiset kappaleet eivät vaikuta yhtä vahvasti kuin läheiset kappaleet. Tästä seuraa että kaukaisia kappaleita voidaan kohdella ikään kuin yhtenä suurena kappaleena. Tällainen lähestymistapa säästää laskentatehoa menettämättä liikaa tarkkuutta. Yleisesti menetelmiä, joissa tehdään ero kaukaisten ja läheisten kappaleiden välille, kutsutaan naapurimenetelmiksi. Kolmannessa luvussa tarkastellaan, kuinka gravitaatiosimulaatioita voidaan nopeuttaa jakamalla laskenta useiden prosessoreiden kesken. Teknisiin yksityiskohtiin ei mennä, vaan aihetta tarkastellaan yleisellä tasolla. Johtuen gravitaatiosimulaatioden suuresta laskentatehon tarpeesta, rinnakkaislaskennan hyödyntäminen on välttämätöntä kaikissa nykyaikaisissa si- 1
6 mulaatioissa. Luvun lopussa mainitaan joitakin suurimmista gravitaatiosimulaatioista tähän mennessä. Viimeisenä on lyhyt yhteenveto kaikista esitellyistä asioista. 2
7 2 Usean kappaleen järjestelmät Gravitaatiosimulaatiot ovat simulaatioita, joissa mallinnetaan ajan myötä kehittyviä järjestelmiä, joissa vaikuttava voima on painovoima. Portegies (2007) listaa, että tällaisia järjestelmiä ovat esimerkiksi aurinkokunnat, tähtijoukot, galaksit, galaksijoukot ja erikokoiset järjestelmät aina koko maailmankaikkeuteen asti. Gravitaatiosimulaatioiden avulla pystytään vastaamaan erilaisiin kysymyksiin tähtitieteellisten järjestelmien kehityksestä ja kehityksen eri vaiheista. Esimerkiksi aurinkokuntia koskevissa simulaatioissa voidaan tarkastella aurinkokunnan syntyä ja kehitystä pienemmistä kappaleista suurempiin kappaleisiin (Sharp 2016). Simulaatiot tähtijoukoista voivat kertoa, kuinka pitkään tähtijoukkojen muodostumisessa kestää ja kuinka kauan ne säilyvät. Suuremmissa simulaatioissa pyritään usein vastaamaan materian jakautumiseen liittyviin kysymyksiin. Keskeisin osa simulaatiossa, huolimatta sen koosta, on kappaleeseen kohdistuvan voiman laskeminen. Järjestelmiä, joissa on enemmän kuin kolme kappaletta, kutsutaan usean kappaleen järjestelmiksi. Tässä luvussa tarkastellaan, kuinka kappaleisiin kohdistuvia voimia voidaan laskea usean kappaleen järjestelmässä. 2.1 Vuorovaikutusten laskeminen Jokainen kappale simulaatiossa kohdistaa voimaa kaikkiin muihin kappaleisiin. Tämän voiman suuruus määräytyy voimaa kohdistavan kappaleen massasta ja kappaleiden välisestä etäisyydestä. Mitä lähempänä kappaleet ovat toisiaan, sitä suurempi voima on. Vastaavasti pidempi etäisyys heikentää voimaa. Lasketun voiman avulla voidaan laskea kappaleen sijainti jonakin tulevana ajankohtana. Yhteen kappaleeseen kohdistuvan voiman laskeminen vaatii jokaisesta muusta kappaleesta siihen kohdistuvien voimien summauksen. Kappaleeseen kohdistuva voima saadaan seuraavasta yhtälöstä (Gualandris 2007): F i = m i a i = Gm i N m j (r i r j ) j=1; j i r i r j 3. (2.1) Kaavassa (2.1) i on tutkittavan kappaleen indeksi, j on sen kappaleen indeksi jonka vaikutusta tutkittavaan kappaleeseen halutaan selvittää, r on kappaleen paikkavektori, G on gravitaa- 3
8 tiovakio, m on massa ja a on kiihtyvyys. Laskemalla yksittäiseen kappaleeseen kohdistuva voima, saadaan selville myös siihen kohdistuva kiihtyvyys, nopeus ja tuleva paikka. Kaavan käyttö SI-järjestelmän yksiköillä ei ole tehokasta aurinkokuntaa suuremmissa simulaatioissa, johtuen tähtitieteellisten massojen ja etäisyyksien valtavasta koosta. Monesti lasketaankin etäisyydet parsekeissa tai astronomisissa yksiköissä ja gravitaatiovakio skaalataan sen mukaan. Kaavan (2.1) nimittäjässä lasketaan kappaleiden välisen etäisyyden kuutio. Tästä seuraa, että kahden kappaleen törmätessä toisiinsa päädytään tilanteeseen, jossa jaetaan nollalla. Tällaisessa tilanteessa voidaan jättää törmäys huomiotta tai tehdä jotain muuta, riippuen siitä kuinka tärkeää on mallintaa törmäyksiä. Yksittäisten törmäysten merkitys kuitenkin vähenee suuremmilla skaaloilla (Capuzzo-Dolcetta 2012). Johtuen etäisyyksien koosta, ei ole tehokasta laskea kappaleisiin kohdistuvia voimia uudelleen ja uudelleen jatkuvasti. Merkittävät muutokset kappaleisiin kohdistuvissa voimissa tapahtuvat pitkillä aikaväleillä, joten kappaleiden radat eivät koe äkillisiä muutoksia (Aarseth 2003, s. 18). Kuten aiemmin mainittu, kappaleeseen kohdistuvan voiman perusteella saadaan selville kappaleen kiihtyvyys, jonka perusteella voidaan laskea missä kappale tulee olemaan tietyn ajan kuluttua. Johtuen muutosten hitaudesta, on tarpeenmukaista valita jokin sopiva ajanjakso, jonka välein kappaleisiin kohdistuvat voimat ja niiden pohjalta lasketut arvot päivitetään. Tätä ajanjaksoa kutsutaan aika-askeleeksi. Aika-askeleen pituus määrittää simulaation tarkkuuden. Liian suuri aika-askel johtaa tarkkuuden menetykseen, kun taas liian pieni aika-askel johtaa turhaan laskentaan. Aika-askeleen pituutta ei myöskään kannata vakioida, koska siitä voi seurata epätarkkuuksia. Esimerkiksi, jos kaksi kappaletta ohittaa toisensa lähietäisyydeltä, niiden lähestyessä toisiaan niihin kohdistuvat voimat kasvavat erittäin suuriksi. Seurauksena tästä kappaleiden nopeudet kasvavat hallitsemattomasti. Vastaavasti kappaleiden etääntyessä toisistaan niiden nopeudet pienenevät, koska kappaleet vetävät edelleen toisiaan puoleensa. Liian suurella aika-askeleella saatetaan kokonaan hypätä ohi vaiheesta, jossa kappaleet etääntyvät toisistaan, koska kappaleen tuleva sijainti lasketaan kiihtyvyyden ja vauhdin perusteella. Tästä seuraa tilanne, joka näyttäytyy simulaatiossa kappaleen nopeuden hallitsemattomana kasvuna aina kun tapahtuu lähiohitus. Tätä voidaan lieventää muuttamalla aika-askelta aina kappaleiden ollessa riittä- 4
9 vän lähellä toisiaan. Koko simulaation aika-askeleen muuttaminen kahden kappaleen ohittaessa toisiaan olisi kuitenkin erittäin tehotonta. Tehokkaampaa onkin määritellä jokaisella kappaleelle yksilöllinen aika-askel (engl. individual time-step), joka määrää kappaleelle sen ajan, jonka välein sen sijaintia päivitetään (Aarseth 2003, s. 22). On kuitenkin tehokkaampaa käyttää lohkoaika-askelta (engl. block time-step), koska se sallii usean kappaleen käsittelemisen yhtä aikaa. Lohkoaika-askel perustuu siihen, että jokainen aika-askel on jokin kakkosen kerroin, jolloin muodostuu ikään kuin ryhmiä, joilla on sama päivitysaika (Gualandris 2007). Tästä on hyötyä erityisesti rinnakkaislaskennassa, jossa on ideana jakaa tehtävä useiden prosessoreiden kesken suoritettavaksi samanaikaisesti. Ryhmittelemällä kappaleet lohkoihin edellä mainitulla tavalla saadaan hyödynnettyä rinnakkaislaskentaa paljon tehokkaammin, kuin määrittelemällä jokaiselle kappaleelle oma aika-askel. Huolimatta aika-askeleen muuttamisesta dynaamisesti, eli tilanteen mukaan, saatetaan silti törmätä ongelmiin kappaleiden ohittaessa toisensa mielivaltaisen läheltä. Yksi keino estää nopeuden kasvaminen hallitsemattomasti tällaisessa tilanteessa, on lisätä kaavan nimittäjään pehmennysparametri, joka on jokin suurehko luku (Capuzzo-Dolcetta 2012). Sen tarkoituksena on kasvattaa nimittäjän arvoa, ja siten pienentää kokonaisvoimaa. Luonnollisesti tämä antaa epärealistisia tuloksia ohituksen suhteen, mutta mikäli simulaatiossa ei ole olennaista mallintaa lähiohituksia tarkasti niin tämä on hyvä vaihtoehto. Toinen vaihtoehto on hyödyntää analyyttisia ratkaisumalleja, jotka pätevät kahden kappaleen välisiin vuorovaikutuksiin, ja jättää muut kohteet ohituksen ajaksi huomiotta. Analyyttiset ratkaisut kahden kappaleen välisille vuorovaikutuksille voivat olla tarpeen esimerkiksi tilanteissa, joissa muodostuu binäärijärjestelmiä tai useamman kappaleen muodostamia vakaita järjestelmiä (Portegies Zwart 2007). Jos taas lähiohituksilla ei ole mitään merkitystä simulaation kannalta, voidaan jättää liian läheisten kappaleiden toisiinsa kohdistamat voimat kokonaan huomiotta ja siten ohittaa koko ongelma. 2.2 Ratkaisujen tarkkuus Kappaleiden liike on jatkuvaa, mutta tietokoneella ei kyetä muunlaiseen kuin diskreettiin laskentaan. Toisin sanoen kappaleen sijainti voidaan tietää täydellisellä tarkkuudella ainoastaan aloitushetkellä. Poikkeuksena tähän sääntöön on järjestelmät, joissa on kaksi kappaletta. 5
10 Lisäksi kyetään laskemaan kappaleiden liikkeitä tarkasti erikokoisissa järjestelmissä, joissa säilyy tasapaino, tai joissa on tietynlaisia symmetrioita. Tällaisesta järjestelmästä esimerkki on kolmen kappaleen järjestelmä, jossa kolmas kappale pysyy levossa kahden suuremman kappaleen suhteen. Paikkoja, joissa kolmas kappale voi pysyä levossa kolmen kappaleen järjestelmässä, on viisi kappaletta. Niitä kutsutaan Lagrangen pisteiksi. Reaalimaailman esimerkkeinä näistä pisteistä ovat Jupiterin kiertoradalla sijaitsevat asteroidit, jotka pysyvät levossa Jupiterin ja Auringon suhteen (Boekholt 2015). Suuremmissa järjestelmissä joudutaan tyytymän numeerisiin ratkaisuihin. Numeerinen laskenta sisältää aina virheitä, jotka kertaantuvat ajan myötä. Usein simuloitaessa erittäin suuria kokonaisuuksia jätetään pois yksittäiset pienet kappaleet, ja simuloidaan sen sijaan massoja, jotka vastaavat suurta määrää pienempiä kappaleita. Simulaation tarkkuus ei kärsi tällaisesta yksinkertaistuksesta, ja samalla säästyy kallisarvoista laskentatehoa. Hyviä esimerkkejä tällaisesta kappaleiden vähentämisestä ovat simulaatiot, joissa mallinnetaan galaksijoukkoja. Yksittäisillä tähdillä ei tällaisessa skaalassa ole suurta merkitystä. Vielä tätä suurempia ovat simulaatiot, joissa mallinnetaan materian jakautumista universumissa (Springel 2005). Tällaisissa simulaatioissa yksittäinen kappale saattaa vastata jopa kokonaista galaksia. Virheiden vaikutusta voidaan arvioida tarkistamalla noudattaako simulaatio energian säilymisen periaatetta. Mittaamalla simulaation alussa järjestelmän kokonaisenergia, ja vertaamalla sitä kokonaisenergiaan simulaation päätyttyä, saadaan selville kuinka paljon numeeriset virheet ovat vaikuttaneet lopputulokseen. Järjestelmän kokonaisenergia saadaan kaavasta (Aarseth 2003, s. 7) E = T +U +W, (2.2) jossa E on järjestelmän kokonaisenergia, T on järjestelmän kaikki kineettinen energia, U on järjestelmän potentiaalienergia ja W on järjestelmään ulkopuolelta kohdistuva energia. Useissa simulaatioissa järjestelmään ulkopuolelta kohdistuva energia on 0. Simulaatioita voidaan tarkastella myös tilastollisesta näkökulmasta. Siinä missä yksittäinen 6
11 simulaatio saattaa olla laskentavirheiden johdosta väärässä, suuri joukko simulaatioita samasta tilanteesta kerääntyy todellisen ratkaisun ympärille (Boekholt 2015). Gravitaatiosimulaatioiden nopeuttamiseksi on kehitetty useita eri algoritmeja, joita sovelletaan myös muihin osa-alueisiin kuin tähtitieteeseen. Seuraavassa luvussa tutustutaan yhteen näistä. 7
12 3 Algoritmit Gravitaatiosimulaatioiden nopeuttamiseksi on useita erilaisia algoritmeja. Suurimmassa osassa perusidea on sama. Vähennetään laskemista vähentämällä laskettavia vuorovaikutuksia. Kaikkien tähtien ja kappaleiden kohdistamat voimat on laskettava tarkkojen tulosten takaamiseksi, mutta niitä ei ole pakko laskea yksitellen. Sen sijaan voidaan lajitella tutkittavaa tähteä ympäröivät tähdet läheisiin ja kaukaisiin tähtiin. Lasketaan läheisten tähtien kohdistama vaikutus yksitellen, ja kaukaisten tähtien vaikutus ryhminä. Barnes Hut-algoritmi hyödyntää tätä naapuriperiaatetta. Toinen algoritmi, joka hydyntää tätä, on nopea moninapamenetelmä (engl. Fast Multipole Method). Nopea moninapamenetelmä on lyhyemmin kirjoitettuna FMM. Tässä menetelmässä ei lasketa suoraan voimia, vaan lasketaan voimien sijaan potentiaaleja (Grama 1998). FMM hyödyntää myös naapuriperiaatetta, kuten Barnes Hutalgoritmi. Molemmissa jaotellaan tähdet läheisiin ja kaukaisiin ryhmiin, ja lasketaan vuorovaikutukset sen perusteella. 3.1 Barnes Hut-algoritmi Suurilla kappalemäärillä yksittäisten vuorovaikutusten merkitys vähenee. Törmäyksettömät algoritmit ovat siis hyödyllisiä suurilla kappalemäärillä. Törmäyksettömän algoritmin olisi myös hyvä olla nopeampi kuin suora laskenta, mutta kuitenkin riittävän tarkka realistisuuden säilytykseen. Tässä luvussa käsitellään algoritmia, joka täyttää nämä vaatimukset. Kyseessä on puualgoritmi, nimeltä Barnes Hut-algoritmi. Algoritmin perusidea on käsitellä kaukaisia tähtimassoja yhtenä pisteenä, jonka massa vastaa kyseisen alueen tähtien massoja. Tämä on toimivaa, koska yksittäisten kaukaisten tähtien vaikutus tutkittavaan kappaleeseen on melko heikko. Yksittäisten tähtien sijaan pitkillä etäisyyksillä vaikuttaa enemmän se, missä sijaitsee kaukaisten tähtien massakeskipiste. Kaukaisten tähtien tai muiden kappaleiden vaikutus tutkittavaan kappaleeseen voidaan sitten laskea tämän massakeskipisteen perusteella. Aarsethin (2003, s. 95) mukaan algoritmin kulku on seuraavanlainen. Ensin luodaan kuutio, jonka sisälle mahtuvat kaikki simulaation sisältämät tähdet. Sen jälkeen tämä laatikko jaetaan 8
13 Kuvio 1. Barnes-Hut puun rakenne 1 kahdeksaan yhtä suureen osaan. Mikäli kyse on kaksiulotteisesta avaruudesta jaetaan neliö neljään osaan. Sen jälkeen käydään jokainen uusi solu läpi, ja mikäli kyseisen solun sisällä on enemmän kuin yksi tähti, jaetaan se jälleen kahdeksaan osaan. Tätä jatketaan, kunnes jokainen tähti on oman solunsa sisällä. Lopputuloksena on kahdeksanpuu (engl. octree). Algoritmi 1 Puun rakentaminen ja solujen tietojen tallennus if tähtien lukumäärä alueella > 1 then else Jaa alue kahdeksaan osaan ja suorita tämä funktio jokaiselle osalle erikseen. Tallenna alueen massaksi alempien alueiden massan summa. Tallenna alueen massakeskipisteeksi alempien alueiden painotettu keskiarvo. Tallenna alueen massaksi tähden massa ja massakeksipisteeksi tähden sijainti. Jokainen puun solu tallentaa tiedon sen sisältämästä massasta ja massakeskipisteestä (Grama 1998). Tämä tarkoittaa, että puun rakenteen luomisen jälkeen, puu käydään rekursiivisesti läpi. Solujen massakeskipiste määräytyy solun sisältämien massakeskipisteiden perusteella, ja vastaavasti solun massa on sen sisältämien massojen summa. Alimmalla tasolla solun massakeskipiste ja massa määräytyvät solun sisältämän ainoan tähden perusteella. Nyt, kun jokaisella solulla ja niiden sisältämällä alisolulla, on valmiiksi tiedossa massakeskipiste ja massa, ei niitä tarvitse laskea joka kerta uudelleen yksittäiseen kappaleeseen kohdistuvaa voimaa laskettaessa (Aarseth 2003, s. 95). 9
14 Voimia laskettaessa valitaan tähti ja lähdetään liikkeelle juurisolusta. Mikäli käsiteltävän solun massakeskipisteen etäisyys tutkittavasta kappaleesta on riittävä, lasketaan vaikuttava voima kyseisen solun massakeskipisteen ja massan perusteella, jättäen huomiotta sen mahdollisesti sisältämät muut solut. Sopiva etäisyys määräytyy luvun θ perusteella, joka on solun koon l ja tutkittavan kappaleen ja solun massakeskipisteen välisen etäisyyden D suhde l/d (Aarseth 2003, s. 95). Mikäli näiden lukujen suhde on pienempi kuin θ, käsitellään kyseisiä tähtiä yhtenä kappaleena. Muutoin tutkittavaa solua avataan pidemmälle. Valittu arvo määrää simulaation tarkkuuden. Mikäli θ on nolla, simulaatio vastaa perinteistä suoraa laskentaa, eikä toivottua nopeutumista saavuteta. Mikäli se taas on suuri, menetetään tarkkuutta. Sopiva arvo sijaitsee jossain yhden ja nollan välillä. Mitä lähempänä nollaa arvo on, sitä enemmän menetetään aikaa simulaatiossa. Jos taas arvo on yksi tai vielä sitä suurempi, simulaatioon syntyy epätarkkuuksia jotka summautuvat ajan myötä. Algoritmi 2 Vuorovaikutusten laskeminen if l/d < θ then else Laske vuorovaikutus suoraan alueen massakeskipisteen ja massan perusteella. Suorita sama tutkittavan alueen sisältämille alueille. 1. Lähde: 10
15 4 Suurlaskenta ja tehokkuus 4.1 Laskennan rajat Usean kappaleen järjestelmään liittyviä differentiaaliyhtälöitä ei voida ratkaista analyyttisesti, joten niissä täytyy käyttää numeerisia menetelmiä. Tästä seuraa, että simulaatio on pakko suorittaa askeltaen. Ei voida siis laskea suoraan alkuasetelman perusteella, miltä tähtijoukko näyttää esimerkiksi kymmenen miljoonan vuoden kuluttua. Lisäksi simulaatiot vaativat huomattavan monta askelta, ottaen huomioon, että tähtitieteessä kiinnostavat aikaskaalat lasketaan miljoonissa vuosissa. Näin suurissa aikaskaaloissa syntyy varsin suuri määrä laskettavia askeleita simulaatioon. Aikavaativuus usean kappaleen järjestelmien suorassa simuloinnissa on luokkaa O(N 2 ). Tämä johtuu siitä, että jokaisen tähden liikkeiden laskeminen vaatii kaikkien muiden tähtien läpikäynnin laskennassa. Tähtijoukkojen simulointi yhdellä tietokoneella realistisella tarkkuudella on siis todella raskasta. Rinnakkaislaskenta antaa kuitenkin mahdollisuuden simuloida varsin suuria määriä kappaleita tehokkaammin. Rinnakkaislaskennan lisäksi tehokkaammat algoritmit tarjoavat mahdollisuuden suorittaa suurempia simulaatioita nopeammin. Winkelin (2012) mukaan esimerkki tällaisesta tehokkaasta algoritmista on Barnes Hut-algoritmi, joka vähentää aikavaativuuden luokkaan O(NlogN). Tätä algoritmia hyödynnetään esimerkiksi tähtijärjestelmien kertymäkiekkojen simuloinnissa. Vielä nopeammin voidaan suorittaa simulaatio, jos järjestelmässä on joukko suurimassaisia kappaleita, ja huomattavasti suurempi määrä pienempiä kappaleita. Tätä asetelmaa voidaan lähestyä jättämällä pois pienten kappaleiden väliset vuorovaikutukset, jolloin simulaation laskennallinen vaativuus putoaa luokkaan O(MN), jossa M on massiivisten kappaleiden määrä, ja N on pienten kappaleiden määrä. Toisessa versiossa tästä otetaan huomioon simulaatiossa myös pienten kappaleiden vaikutus suuriin kappaleisiin. Tällöin laskennallinen vaativuus kasvaa kaksinkertaiseksi verrattuna versioon, jossa pienet kappaleet eivät vaikuta suuriin kappaleisiin. Laskenta supertietokoneilla eri puolilla maailmaa verkon välityksellä on myös varteenotet- 11
16 tava vaihtoehto. Suorittamalla simulaatio ympäri maailmaa sijaitsevilla supertietokoneilla, menetettiin vain noin 13 % tehosta viiveen vuoksi, verrattuna vastaavaan määrään laskentatehoa vain yhdessä paikassa (Groen 2011). 4.2 Rinnakkaislaskenta Rinnakkaislaskenta on tärkeimpiä kehityssuuntia gravitaatiosimulaatioissa. Algoritmien tehokkuus voi auttaa vain tiettyyn pisteeseen asti. Kehittämällä algoritmeja, jotka ovat sekä tehokkaita, että soveltuvat rinnakkaislaskentaan, voidaan saavuttaa entistä suurempia simulaatioita. Myös yksittäisten vuorovaikutusten mallintamisen tarkkuus on merkityksellistä simulaatioissa, riippuen minkäkokoista skaalaa simuloidaan. Vuorovaikutusten tarkkaa simulointia varten on kehitetty erilaisia menetelmiä, jotka mahdollistavat vuorovaikutusten suoran laskennan hyödyntäen rinnakkaislaskentaa. Rinnakkaislaskenta kykenee lieventämään suoran laskennan suurta aikavaativuutta, mutta luonnollisesti nopeammat algoritmit, kuten edellisessä luvussa esitelty Barnes Hut-algoritmi, sallivat suurempien simulaatioiden ajamisen samassa ajassa, kuin suora laskenta. Barnes Hut-algoritmin toiminta voidaan jakaa kahteen osaan. Puun rakentamiseen, ja sen läpikäymiseen. Rakennusvaiheessa muodostetaan puun solut, ja tallennetaan jokaiseen soluun sen massa ja massakeskipiste. Läpikäyntivaiheessa lasketaan kappaleiden väliset vuorovaikutukset edellisessä luvussa esitellyllä tavalla. Rinnakkaislaskennassa voidaan hyötyä siitä, että erotetaan puuta läpikäyvä prosessi voimia laskevasta prosessista, ja luodaan oma erillinen prosessi toimimaan kommunikaatioväylänä näiden välille. Tällä tavalla saavutetaan nopeusetu, koska puun läpikäynnin ja voimien laskennan ei tarvitse olla synkronoituna keskenään. Kommunikaatioväylä pitää huolen, ettei ristiriitatilanteita synny. Samaa ideaa voidaan hyödyntää hajautetussa laskennassa, ja vähentää latenssin haitat minimiin (Winkel 2012). Tietokoneet pystyvät silloin kommunikoimaan keskenään ja vaihtamaan tietoja, vaikka laskenta tai puun läpikäynti olisi meneillään. Bédorf (2012) mukaan aiemmin hyödynnettiin laskennassa erityisiä vuorovaikutusten laskemiseen tarkoitettuja järjestelmiä, joista käytettiin lyhennettyä nimeä GRAPE (GRAvity pi- PE). Tämä järjestelmä on erikoistunut laskemaan kappaleiden välisiä vuorovaikutuksia no- 12
17 peasti ja tehokkaasti. Nykyään tavalliset näytönohjaimet pystyvät kuitenkin tehokkaampaan laskentaan. 4.3 Simulaatioiden kasvava koko Simulaatioiden koko on jatkuvassa kasvussa. Yhä suuremmat simulaatiot mallintavat sekä suurempia skaaloja, että suurempia aikavälejä. Näillä kosmologisilla simulaatioilla pyritään selvittämään maailmankaikkeuden rakenteen kehittymistä ajan myötä, sekä kehitystä ohjanneita voimia. Suuren skaalan simulaatioiden hyödyllisyyden puolesta puhuu alla oleva kuva, jossa on rinnakkain Bolshoi-simulaatiosta leikattu pala, ja vastaavan kokoinen pala varsinaisia havaintoja. Se että simulaatiot maailmankaikkeuden rakenteesta osuvat näin lähelle varsinaisia havaintoja, osoittaa että käsityksemme maailmankaikkeuden kehitystä muovaavista voimista ovat kohtuullisen tarkkoja. Parannettavaa tietysti on. Kuvista näkeekin, että aivan samalla tavalla materia ei ole jakautunut, vaikka siltä ensi silmäyksellä vaikuttaisikin. Tavoitteena onkin, että tulevaisuudessa gravitaatiosimulaatiot avaisivat esimerkiksi pimeän aineen luonnetta (Springel 2005). Kuvio 2. Bolshoi-simulaation tulokset verrattuna havaintoihin. 1 Millenium-simulaatio sisälsi yli 10 miljardia kappaletta. Sen tarkoituksena oli selvittää aineen jakautumista universumissa suuressa skaalassa, kuten galaksien kerääntymistä ja yk- 1. Lähde: 13
18 sittäisten himmeiden galaksien syntyprosessia (Springel 2005). Sitä käytettiin esimerkiksi vertailukohtana varsinaisiin havaintoihin galaksien jakautumisesta universumissa. Bolshoisimulaatio on myöhemmin ajettu simulaatio, jossa pyrittiin tarkempiin tuloksiin kun havaittiin, että Millenium ei täysin vastannut uusimpia havaintoja. Näistä kahdesta simulaatiosta Bolshoi-simulaatio on huomattavasti lähempänä nykyisiä havaintoja (Klypin 2011). Kappaleiden lukumäärän suhteen suurin simulaatio tähän mennessä on suoritettu Kiinassa Sunway TaihuLight -supertietokoneella, jossa simuloitiin noin 10 biljoonan eri kappaleen liikkeitä
19 5 Yhteenveto Gravitaatiosimulaatiot ovat simulaatioita, joissa mallinnetaan ajan myötä kehittyviä järjestelmiä, joissa vaikuttava voima on painovoima. Kappaleiden liikkeet lasketaan selvittämällä niiden toisiinsa kohdistamat voimat, ja laskemalla niiden perusteella jokaiselle kappaleelle kiihtyvyys. Kiihtyvyyden ja kappaleen aika-askeleen avulla voidaan laskea kappaleen uusi sijainti. Merkityksellistä kappaleiden liikkeiden laskennassa on aika-askeleen pituuden valinta. Kappaleille on kannattavaa määritellä dynaaminen aika-askel, joka määritellään sen perusteella, kuinka nopeasti kappale liikkuu, ja kuinka kaukana se on toisista kappaleista. Rinnakkaislaskennan kannalta tehokkainta on käyttää lohkoaika-askelta, jolloin useiden kappaleiden liikkeitä voidaan laskea yhtä aikaa. Suurin pullonkaula gravitaatiosimulaatioissa on voimien laskemisen aikavaativuus. Laskennan nopeuttamisessa voidaan hyödyntää erilaisia algoritmeja, jotka nopeuttavat kappaleiden välisten vuorovaikutusten laskentaa. Esimerkki tällaisesta algoritmista on Barnes Hutalgoritmi. Se perustuu läheisten ja kaukaisten kappaleiden erotteluun laskennassa. Barnes Hut-algoritmin paras aikavaativuus on O(nlogn). Rinnakkaislaskenta on tehokkaita algoritmejakin parempi tapa nopeuttaa laskentaa. Erilaisia menetelmiä suorittaa laskentaa rinnakkain on toteutettu sekä suoralle laskennalle, että muille menetelmille. Simulaatioiden koko jatkaa edelleen kasvuaan, vaikkakin ennätyksiä ei rikota joka vuosi. Suurilla simulaatioilla pyritään selvittämään maailmankaikkeuden rakennetta ja kehitystä ajan myötä. Tulevaisuudessa tutkijat pyrkivät simulaatioiden avulla rajaamaan pimeän aineen luonnetta. 15
20 Lähteet Winkel, Mathias A massively parallel, multi-disciplinary Barnes Hut tree code for extreme-scale N-body simulations [kielellä eng]. Computer Physics Communications 183 (4): edirect_elseviers (11) Aarseth, Sverre J Gravitational N-body simulations. Cambridge monographs on mathematical physics. Cambridge ; New York: Cambridge University Press. ISBN: Bédorf, Jeroen A sparse octree gravitational N-body code that runs entirely on the GPU processor [kielellä eng]. Journal of Computational Physics 231 (7): Boekholt, Tjarda On the reliability of N-body simulations [kielellä eng]. Computational Astrophysics and Cosmology 2 (1): Capuzzo-Dolcetta, R A fully parallel, high precision, N-body code running on hybrid computing platforms [kielellä eng]. Journal of Computational Physics 236 (1). https: //jyu.finna.fi/primorecord/pci.sciversesciencedirect_elsevier S (12) Grama, Ananth Scalable parallel formulations of the Barnes Hut method for n-body simulations [kielellä eng]. Parallel Computing 24 (5): https : / / jyu. fi nna. fi/ PrimoRecord/ pci. sciversesciencedirect_ elseviers (98) Groen, Derek High-performance gravitational n -body simulations on a planet-widedistributed supercomputer [kielellä eng]. Computational Science Discovery 4 (1): Gualandris, Alessia Performance analysis of direct N-body algorithms for astrophysical simulations on distributed systems [kielellä eng]. Parallel Computing 33 (3):
21 Klypin, Anatoly A Dark matter halos in the standard cosmological model: results from the bolshoi simulation [kielellä eng]. The Astrophysical Journal 740 (2): 102. https: //jyu.finna.fi/primorecord/pci.iop %2f x%2f740% 2F2%2F102. Portegies Zwart, Simon F High-performance direct gravitational N-body simulations on graphics processing units [kielellä eng]. New Astronomy 12 (8): Sharp, P. W GPU-enabled N-body simulations of the Solar System using a VOVS Adams integrator [kielellä eng]. Journal of Computational Science 16:89. Springel, Volker Simulations of the formation, evolution and clustering of galaxies and quasars. Nature 435 (7042): pci.nature_a %2fnature
Integrointialgoritmit molekyylidynamiikassa
Integrointialgoritmit molekyylidynamiikassa Markus Ovaska 28.11.2008 Esitelmän kulku MD-simulaatiot yleisesti Integrointialgoritmit: mitä integroidaan ja miten? Esimerkkejä eri algoritmeista Hyvän algoritmin
Fysiikan ja kemian perusteet ja pedagogiikka Kari Sormunen Kevät 2012
Fysiikan ja kemian perusteet ja pedagogiikka Kari Sormunen Kevät 2012 LIIKE Jos vahvempi kaveri törmää heikompaan kaveriin, vahvemmalla on enemmän voimaa. Pallon heittäjä antaa pallolle heittovoimaa, jonka
Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen
Hävittäjälentokoneen reitin suunnittelussa käytettävän dynaamisen ja monitavoitteisen verkko-optimointitehtävän ratkaiseminen A*-algoritmilla (valmiin työn esittely) Joonas Haapala 8.6.2015 Ohjaaja: DI
Tähtitieteessä SI-yksiköissä ilmaistut luvut ovat usein hyvin isoja ja epähavainnollisia. Esimerkiksi
Tähtitieteen perusteet, harjoitus 2 Yleisiä huomioita: Tähtitieteessä SI-yksiköissä ilmaistut luvut ovat usein hyvin isoja ja epähavainnollisia. Esimerkiksi aurinkokunnan etäisyyksille kannattaa usein
Kosmologia: Miten maailmankaikkeudesta tuli tällainen? Tapio Hansson
Kosmologia: Miten maailmankaikkeudesta tuli tällainen? Tapio Hansson Kosmologia Kosmologiaa tutkii maailmankaikkeuden rakennetta ja historiaa Yhdistää havaitsevaa tähtitiedettä ja fysiikkaa Tämän hetken
SIMULINK 5.0 Harjoitus. Matti Lähteenmäki 2004 www.tpu.fi/~mlahteen/
SIMULINK 5.0 Harjoitus 2004 www.tpu.fi/~mlahteen/ SIMULINK 5.0 Harjoitus 2 Harjoitustehtävä. Tarkastellaan kuvan mukaisen yhden vapausasteen jousi-massa-vaimennin systeemin vaakasuuntaista pakkovärähtelyä,
A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme
KJR-C1001 Statiikka ja dynamiikka Luento 16.3.2016 Susanna Hurme Päivän aihe: Translaatioliikkeen kinetiikka (Kirjan luvut 12.6, 13.1-13.3 ja 17.3) Oppimistavoitteet Ymmärtää, miten Newtonin toisen lain
Energia, energian säilyminen ja energiaperiaate
E = γmc 2 Energia, energian säilyminen ja energiaperiaate Luennon tavoitteet Lepoenergian, liike-energian, potentiaalienergian käsitteet haltuun Työ ja työn merkki* Systeemivalintojen miettimistä Jousivoiman
Tietokoneet täh++eteessä
Tietokoneet täh++eteessä Peter Johansson Fysiikan laitos, Helsingin yliopisto PC- käy:äjät ry kevätkokous 2014 Helsinki 23.3.2014 1. Miksi +etokoneita tarvitaan täh++eteessä ja mikä on niiden rooli modernissa
Luku 8. Aluekyselyt. 8.1 Summataulukko
Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa
Algoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys
= 6, Nm 2 /kg kg 71kg (1, m) N. = 6, Nm 2 /kg 2 7, kg 71kg (3, m) N
t. 1 Auringon ja kuun kohdistamat painovoimat voidaan saada hyvin tarkasti laksettua Newtonin painovoimalailla, koska ne ovat pallon muotoisia. Junalle sillä saadaan selville suuruusluokka, joka riittää
Suurteholaskenta-algoritmien hyödyntämien suurten kohteiden tutkavasteen laskennassa
Suurteholaskenta-algoritmien hyödyntämien suurten kohteiden tutkavasteen laskennassa Pasi Ylä-Oijala, Pasi Koivumäki ja Seppo Järvenpää Radiotieteen ja -tekniikan laitos, Aalto-yliopisto MATINE Seminaari
Ydin- ja hiukkasfysiikka 2014: Harjoitus 5 Ratkaisut 1
Ydin- ja hiukkasfysiikka 04: Harjoitus 5 Ratkaisut Tehtävä a) Vapautunut energia saadaan laskemalla massan muutos reaktiossa: E = mc = [4(M( H) m e ) (M( 4 He) m e ) m e ]c = [4M( H) M( 4 He) 4m e ]c =
Määrittelydokumentti
Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta
VUOROVAIKUTUKSESTA VOIMAAN JA EDELLEEN LIIKKEESEEN. Fysiikan ja kemian perusteet ja pedagogiikka, luento Kari Sormunen
VUOROVAIKUTUKSESTA VOIMAAN JA EDELLEEN LIIKKEESEEN Fysiikan ja kemian perusteet ja pedagogiikka, 1.-2. luento Kari Sormunen Mitä yhteistä? Kirja pöydällä Opiskelijapari Teräskuulan liike magneetin lähellä
Algoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019
VUOROVAIKUTUKSESTA VOIMAAN JA EDELLEEN LIIKKEESEEN. Fysiikan ja kemian pedagogiikan perusteet (mat/fys/kem suunt.), luento 1 Kari Sormunen
VUOROVAIKUTUKSESTA VOIMAAN JA EDELLEEN LIIKKEESEEN Fysiikan ja kemian pedagogiikan perusteet (mat/fys/kem suunt.), luento 1 Kari Sormunen Vuorovaikutus on yksi keskeisimmistä fysiikan peruskäsitteistä
Liike ja voima. Kappaleiden välisiä vuorovaikutuksia ja niistä aiheutuvia liikeilmiöitä
Liike ja voima Kappaleiden välisiä vuorovaikutuksia ja niistä aiheutuvia liikeilmiöitä Tasainen liike Nopeus on fysiikan suure, joka kuvaa kuinka pitkän matkan kappale kulkee tietyssä ajassa. Nopeus voidaan
Tarkastellaan tilannetta, jossa kappale B on levossa ennen törmäystä: v B1x = 0:
8.4 Elastiset törmäykset Liike-energia ja liikemäärä säilyvät elastisissa törmäyksissä Vain konservatiiviset voimat vaikuttavat 1D-tilanteessa kappaleiden A ja B törmäykselle: 1 2 m Av 2 A1x + 1 2 m Bv
Tarkennamme geneeristä painamiskorotusalgoritmia
Korotus-eteen-algoritmi (relabel-to-front) Tarkennamme geneeristä painamiskorotusalgoritmia kiinnittämällä tarkasti, missä järjestyksessä Push- ja Raise-operaatioita suoritetaan. Algoritmin peruskomponentiksi
AUTON LIIKETEHTÄVIÄ: KESKIKIIHTYVYYS ak JA HETKELLINEN KIIHTYVYYS a(t) (tangenttitulkinta) sekä matka fysikaalisena pinta-alana (t,
AUTON LIIKETEHTÄVIÄ: KESKIKIIHTYVYYS ak JA HETKELLINEN KIIHTYVYYS a(t) (tangenttitulkinta) sekä matka fysikaalisena pinta-alana (t, v)-koordinaatistossa ruutumenetelmällä. Tehtävä 4 (~YO-K97-1). Tekniikan
Liikemäärän säilyminen Vuorovesivoimat Jousivoima
Liikemäärän säilyminen Vuorovesivoimat Jousivoima Tämän luennon tavoitteet Liikemäärän säilyminen Vuorovesivoimat ja binomiapproksimaatio gravitaatio jatkuu viime viikolta Jousivoima: mikä se on ja miten
Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen
Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen 16.06.2014 Ohjaaja: Urho Honkanen Valvoja: Prof. Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston
Kon Simuloinnin Rakentaminen Janne Ojala
Kon 16.4011 Simuloinnin Rakentaminen Janne Ojala Simulointi käytännössä 1/3 Simulaatiomalleja helppo analysoida Ymmärretään ongelmaa paremmin - Opitaan ymmärtämään koneen toimintaa ja siihen vaikuttavia
Tietorakenteet, laskuharjoitus 7, ratkaisuja
Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9
58131 Tietorakenteet ja algoritmit (syksy 2015)
58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen
Luku 8. Mekaanisen energian säilyminen. Konservatiiviset ja eikonservatiiviset. Potentiaalienergia Voima ja potentiaalienergia.
Luku 8 Mekaanisen energian säilyminen Konservatiiviset ja eikonservatiiviset voimat Potentiaalienergia Voima ja potentiaalienergia Mekaanisen energian säilyminen Teho Tavoitteet: Erottaa konservatiivinen
1 Tieteellinen esitystapa, yksiköt ja dimensiot
1 Tieteellinen esitystapa, yksiköt ja dimensiot 1.1 Tieteellinen esitystapa Maan ja auringon välinen etäisyys on 1 AU. AU on astronomical unit, joka määritelmänsä mukaan on maan ja auringon välinen keskimääräinen
Nopea kertolasku, Karatsuban algoritmi
Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa
RAK Statiikka 4 op
RAK-31000 Statiikka 4 op Opintojakson kotisivu on osoitteessa: http://webhotel2.tut.fi/mec_tme harjoitukset (H) harjoitusten malliratkaisut harjoitustyöt (HT) ja opasteet ilmoitusasiat RAK-31000 Statiikka
58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut
58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 1. Palautetaan vielä mieleen O-notaation määritelmä. Olkoon f ja g funktioita luonnollisilta luvuilta positiivisille
Fysiikan valintakoe 10.6.2014, vastaukset tehtäviin 1-2
Fysiikan valintakoe 10.6.2014, vastaukset tehtäviin 1-2 1. (a) W on laatikon paino, F laatikkoon kohdistuva vetävä voima, F N on pinnan tukivoima ja F s lepokitka. Kuva 1: Laatikkoon kohdistuvat voimat,
Lentotiedustelutietoon perustuva tykistön tulenkäytön optimointi (valmiin työn esittely)
Lentotiedustelutietoon perustuva tykistön tulenkäytön optimointi (valmiin työn esittely) Tuukka Stewen 1.9.2017 Ohjaaja: DI Juho Roponen Valvoja: prof. Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston
Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely)
Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely) Antti Salmela 03.03.2014 Ohjaaja: Harri Ehtamo Valvoja: Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla.
Yleisen PSCR-menetelmän toteutus ohjelmoitavalla näytönoh
Yleisen n toteutus ohjelmoitavalla näytönohjaimella Mirko Myllykoski mirko.myllykoski@jyu.fi 15.2.2011 Mitä teen? Tarkoituksena toteuttaa (ja osin jo toteutettukin) stä versio ohjelmoitavalle näytönohjaimelle
5.9 Voiman momentti (moment of force, torque)
5.9 Voiman momentti (moment of force, torque) Voiman momentti määritellään ristitulona M = r F missä r on voiman F vaikutuspisteen paikkavektori tarkasteltavan pisteen suhteen Usean voiman tapauksessa
TEHTÄVIEN RATKAISUT. b) 105-kiloisella puolustajalla on yhtä suuri liikemäärä, jos nopeus on kgm 712 p m 105 kg
TEHTÄVIEN RATKAISUT 15-1. a) Hyökkääjän liikemäärä on p = mv = 89 kg 8,0 m/s = 71 kgm/s. b) 105-kiloisella puolustajalla on yhtä suuri liikemäärä, jos nopeus on kgm 71 p v = = s 6,8 m/s. m 105 kg 15-.
Mustien aukkojen astrofysiikka
Mustien aukkojen astrofysiikka Peter Johansson Fysiikan laitos, Helsingin yliopisto Kumpula nyt Helsinki 19.2.2016 1. Tähtienmassaiset mustat aukot: Kuinka isoja?: noin 3-100 kertaa Auringon massa, tapahtumahorisontin
Copyright 2008 Pearson Education, Inc., publishing as Pearson Addison-Wesley.
Newtonin painovoimateoria Knight Ch. 13 Saturnuksen renkaat koostuvat lukemattomista pölyhiukkasista ja jääkappaleista, suurimmat rantapallon kokoisia. Lisäksi Saturnusta kiertää ainakin 60 kuuta. Niiden
g-kentät ja voimat Haarto & Karhunen
g-kentät ja voimat Haarto & Karhunen Voima Vuorovaikutusta kahden kappaleen välillä tai kappaleen ja sen ympäristön välillä (Kenttävoimat) Yksikkö: newton, N = kgm/s Vektorisuure Aiheuttaa kappaleelle
Harjoitus 5 -- Ratkaisut
Harjoitus -- Ratkaisut 1 Ei kommenttia. Tutkittava funktio oskilloi äärettömän tiheään nollan lähellä. PlotPoints-asetus määrää, kuinka tiheästi Plot-funktio ottaa piirrettävästä funktiosta "näytteitä"
Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti
Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan
Simulation model to compare opportunistic maintenance policies
Simulation model to compare opportunistic maintenance policies Noora Torpo 31.08.18 Ohjaaja/Valvoja: Antti Punkka Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin
Lukujonon raja-arvo 1/7 Sisältö ESITIEDOT: lukujonot
Lukujonon raja-arvo 1/7 Sisältö Esimerkki lukujonon raja-arvosta Lukujonossa a 1,a 2,a 3,... (jossa on äärettömän monta termiä) voivat luvut lähestyä jotakin arvoa, kun jonossa edetään yhä pidemmälle.
Erityinen suhteellisuusteoria (Harris luku 2)
Erityinen suhteellisuusteoria (Harris luku 2) Yliopistonlehtori, TkT Sami Kujala Mikro- ja nanotekniikan laitos Kevät 2016 Ajan ja pituuden suhteellisuus Relativistinen työ ja kokonaisenergia SMG-aaltojen
Monissa fysiikan probleemissa vaikuttavien voimien yksityiskohtia ei tunneta
8 LIIKEMÄÄRÄ, IMPULSSI JA TÖRMÄYKSET Monissa fysiikan probleemissa vaikuttavien voimien yksityiskohtia ei tunneta Tällöin dynamiikan peruslain F = ma käyttäminen ei ole helppoa tai edes mahdollista Newtonin
VUOROVAIKUTUS JA VOIMA
VUOROVAIKUTUS JA VOIMA Isaac Newton 1642-1727 Voiman tunnus: F Voiman yksikkö: 1 N (newton) = 1 kgm/s 2 Vuorovaikutus=> Voima Miten Maa ja Kuu vaikuttavat toisiinsa? Pesäpallon ja Maan välinen gravitaatiovuorovaikutus
Suhteellinen nopeus. Matkustaja P kävelee nopeudella 1.0 m/s pitkin 3.0 m/s nopeudella etenevän junan B käytävää
3.5 Suhteellinen nopeus Matkustaja P kävelee nopeudella 1.0 m/s pitkin 3.0 m/s nopeudella etenevän junan B käytävää P:n nopeus junassa istuvan toisen matkustajan suhteen on v P/B-x = 1.0 m/s Intuitio :
Kvanttifysiikan perusteet 2017
Kvanttifysiikan perusteet 207 Harjoitus 2: ratkaisut Tehtävä Osoita hyödyntäen Maxwellin yhtälöitä, että tyhjiössä magneettikenttä ja sähkökenttä toteuttavat aaltoyhtälön, missä aallon nopeus on v = c.
SMG-4500 Tuulivoima. Kahdeksannen luennon aihepiirit. Tuulivoiman energiantuotanto-odotukset
SMG-4500 Tuulivoima Kahdeksannen luennon aihepiirit Tuulivoiman energiantuotanto-odotukset Tuulen nopeuden mallintaminen Weibull-jakaumalla Pinta-alamenetelmä Tehokäyrämenetelmä 1 TUULEN VUOSITTAISEN KESKIARVOTEHON
Algoritmit 2. Luento 1 Ti Timo Männikkö
Algoritmit 2 Luento 1 Ti 14.3.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin valinta Algoritmin analysointi Algoritmin suoritusaika Peruskertaluokkia Kertaluokkamerkinnät Kertaluokkien ominaisuuksia
1. Kuinka paljon Maan kiertoaika Auringon ympäri muuttuu vuodessa, jos massa kasvaa meteoroidien vaikutuksesta 10 5 kg vuorokaudessa.
1. Kuinka paljon Maan kiertoaika Auringon ympäri muuttuu vuodessa, jos massa kasvaa meteoroidien vaikutuksesta 10 5 kg vuorokaudessa. Vuodessa Maahan satava massa on 3.7 10 7 kg. Maan massoina tämä on
Esimerkkejä vaativuusluokista
Esimerkkejä vaativuusluokista Seuraaville kalvoille on poimittu joitain esimerkkejä havainnollistamaan algoritmien aikavaativuusluokkia. Esimerkit on valittu melko mielivaltaisesti laitoksella tehtävään
Stabiloivat synkronoijat ja nimeäminen
Stabiloivat synkronoijat ja nimeäminen Mikko Ajoviita 2.11.2007 Synkronoija Synkronoija on algoritmi, joka muuntaa synkronoidun algoritmin siten, että se voidaan suorittaa synkronoimattomassa järjestelmässä.
L a = L l. rv a = Rv l v l = r R v a = v a 1, 5
Tehtävä a) Energia ja rataliikemäärämomentti säilyy. Maa on r = AU päässä auringosta. Mars on auringosta keskimäärin R =, 5AU päässä. Merkitään luotaimen massaa m(vaikka kuten tullaan huomaamaan sitä ei
Tarinaa tähtitieteen tiimoilta FYSIIKAN JA KEMIAN PERUSTEET JA PEDAGOGIIKKA 2014 KARI SORMUNEN
Tarinaa tähtitieteen tiimoilta FYSIIKAN JA KEMIAN PERUSTEET JA PEDAGOGIIKKA 2014 KARI SORMUNEN Oppilaiden ennakkokäsityksiä avaruuteen liittyen Aurinko kiertää Maata Vuodenaikojen vaihtelu johtuu siitä,
MAA4 Abittikokeen vastaukset ja perusteluja 1. Määritä kuvassa olevien suorien s ja t yhtälöt. Suoran s yhtälö on = ja suoran t yhtälö on = + 2. Onko väittämä oikein vai väärin? 2.1 Suorat =5 +2 ja =5
Yhden muuttujan funktion minimointi
Yhden muuttujan funktion minimointi Aloitetaan yhden muuttujan tapauksesta Tarpeellinen myös useamman muuttujan tapauksessa Tehtävä on muotoa min kun f(x) x S R 1 Sallittu alue on muotoa S = [a, b] tai
Paavo Kyyrönen & Janne Raassina
Paavo Kyyrönen & Janne Raassina 1. Johdanto 2. Historia 3. David Deutsch 4. Kvanttilaskenta ja superpositio 5. Ongelmat 6. Tutkimus 7. Esimerkkejä käyttökohteista 8. Mistä näitä saa? 9. Potentiaali 10.
Algoritmit 2. Luento 6 To Timo Männikkö
Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100
Muunnokset ja mittayksiköt
Muunnokset ja mittayksiköt 1 a Mitä kymmenen potenssia tarkoittavat etuliitteet m, G ja n? b Mikä on massan (mass) mittayksikkö SI-järjestelmässäa? c Mikä on painon (weight) mittayksikkö SI-järjestelmässä?
3 Raja-arvo ja jatkuvuus
3 Raja-arvo ja jatkuvuus 3. Raja-arvon käsite Raja-arvo kuvaa funktion kättätmistä jonkin lähtöarvon läheisdessä. Raja-arvoa tarvitaan toisinaan siksi, että funktion arvoa ei voida laskea kseisellä lähtöarvolla
58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut
Tietorakenteet ja algoritmit (syksy 0) Toinen välikoe, malliratkaisut. (a) Alussa puu näyttää tältä: Lisätään 4: 4 Tasapaino rikkoutuu solmussa. Tehdään kaksoiskierto ensin oikealle solmusta ja sitten
Ensimmäisen kertaluvun yhtälön numeerinen ratkaiseminen
nummen.nb 1 Ensimmäisen kertaluvun yhtälön numeerinen ratkaiseminen Eulerin menetelmä alkaurvoprobleeman y' = f Hx, yl, yhx 0 L = y 0 ratkaisemiseksi voidaan ohjelmoida Mathematicalle euler-nimiseksi funktioksi
3.4 Liike-energiasta ja potentiaalienergiasta
Työperiaatteeksi (the work-energy theorem) kutsutaan sitä että suljetun systeemin liike-energian muutos Δ on voiman systeemille tekemä työ W Tämä on yksi konservatiivisen voiman erityistapaus Työperiaate
Massakeskipiste Kosketusvoimat
Massakeskipiste Kosketusvoimat Luennon tavoitteet Kosketusvoimia Kitka Tukivoima Jännitys Jousivoima Massakeskipisteen käsite ja sillä laskeminen (Resonanssi tiedottaa tarjoavansa kahvia luentotauolla)
Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen
Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen 08.09.2014 Ohjaaja: DI Mikko Harju Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston
KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme
KJR-C1001 Statiikka ja dynamiikka Luento 17.3.2016 Susanna Hurme Päivän aihe: Energian, työn ja tehon käsitteet sekä energiaperiaate (Kirjan luku 14) Osaamistavoitteet: Osata tarkastella partikkelin kinetiikkaa
MAB3 - Harjoitustehtävien ratkaisut:
MAB - Harjoitustehtävien ratkaisut: Funktio. Piirretään koordinaatistoakselit ja sijoitetaan pisteet:. a) Funktioiden nollakohdat löydetään etsimällä kuvaajien ja - akselin leikkauspisteitä. Funktiolla
Työ 5: Putoamiskiihtyvyys
Työ 5: Putoamiskiihtyvyys Työryhmä: Tehty (pvm): Hyväksytty (pvm): Hyväksyjä: 1. Tavoitteet Työssä määritetään putoamiskiihtyvyys kolmella eri tavalla. Ennakko-oletuksena mietitään, pitäisikö jollain tavoista
Wien R-J /home/heikki/cele2008_2010/musta_kappale_approksimaatio Wed Mar 13 15:33:
1.2 T=12000 K 10 2 T=12000 K 1.0 Wien R-J 10 0 Wien R-J B λ (10 15 W/m 3 /sterad) 0.8 0.6 0.4 B λ (10 15 W/m 3 /sterad) 10-2 10-4 10-6 10-8 0.2 10-10 0.0 0 200 400 600 800 1000 nm 10-12 10 0 10 1 10 2
Tietorakenteet ja algoritmit syksy Laskuharjoitus 1
Tietorakenteet ja algoritmit syksy 2012 Laskuharjoitus 1 1. Tietojenkäsittelijä voi ajatella logaritmia usein seuraavasti: a-kantainen logaritmi log a n kertoo, kuinka monta kertaa luku n pitää jakaa a:lla,
Ohjeita fysiikan ylioppilaskirjoituksiin
Ohjeita fysiikan ylioppilaskirjoituksiin Kari Eloranta 2016 Jyväskylän Lyseon lukio 11. tammikuuta 2016 Kokeen rakenne Fysiikan kokeessa on 13 tehtävää, joista vastataan kahdeksaan. Tehtävät 12 ja 13 ovat
T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Stokastinen analyysi
T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Stokastinen analyysi 12. maaliskuuta 2002 T-79.179: Stokastinen analyysi 8-1 Stokastinen analyysi, miksi? Tavallinen Petri-verkkojen saavutettavuusanalyysi
Kuvasommittelun lähtökohta
KUVASOMMITTELU Kuvasommittelun lähtökohta jäsentämisen ja järjestämisen tarve hahmottaa maailmaa, sen yksityiskohtia ja kokonaisuuksia paremmin. Kuvassa jäsentäminen tapahtuu sommittelullisin keinoin.
Nyt kerrataan! Lukion FYS5-kurssi
Nyt kerrataan! Lukion FYS5-kurssi Vaakasuora heittoliike Heittoliikettä voidaan tarkastella erikseen vaaka- ja pystysuunnassa v=(v x,v y ) Jos ilmanvastausta ei oteta huomioon (yleensä ei), vaakasuunnalle
CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen
CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden
monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof.
Epätäydellisen preferenssiinformaation hyödyntäminen monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi 15.1.2018 Ohjaaja: Prof. Kai Virtanen Valvoja: Prof. Kai Virtanen Tausta Päätöspuu
Algoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
Algoritmi I kuvioiden ja niille johtavien ajourien erottelu. Metsätehon tuloskalvosarja 7a/2018 LIITE 1 Timo Melkas Kirsi Riekki Metsäteho Oy
Algoritmi I kuvioiden ja niille johtavien ajourien erottelu Metsätehon tuloskalvosarja 7a/2018 LIITE 1 Timo Melkas Kirsi Riekki Metsäteho Oy Algoritmi I kuvioiden ja niille johtavien ajourien erottelu
Derivoimalla kerran saadaan nopeus ja toisen kerran saadaan kiihtyvyys Ña r
Vuka HT 4 Tehtävä. Lyhyenä alustuksena tehtävään johdetaan keskeiskiihtyvyys tasaisessa pyörimisessä. Meillä on ympyräradalla liikkuva kappale joka pyörii vakiokulmanopeudella ω dϕ säteellä r origosta.
1.4. VIRIAALITEOREEMA
1.4. VIRIAALITEOREEMA Vaikka N-kappaleen ongelman yleistä ratkaisua ei tunneta, on olemassa eräitä tärkeitä yleisiä tuloksia Jos systeemi on stabiili, eli paikat ja nopeudet eivät kasva rajatta kineettisen
ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2
Johdatus diskreettiin matematiikkaan Harjoitus 4, 7.10.2015 1. Olkoot c 0, c 1 R siten, että polynomilla r 2 c 1 r c 0 on kaksinkertainen juuri. Määritä rekursioyhtälön x n+2 = c 1 x n+1 + c 0 x n, n N,
Luvun 8 laskuesimerkit
Luvun 8 laskuesimerkit Esimerkki 8.1 Heität pallon, jonka massa on 0.40 kg seinään. Pallo osuu seinään horisontaalisella nopeudella 30 m/s ja kimpoaa takaisin niin ikään horisontaalisesti nopeudella 20
Numeeriset menetelmät
Numeeriset menetelmät Luento 11 Ti 11.10.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 1/34 p. 1/34 Automaattiset integrointialgoritmit Numeerisen integroinnin tarkkuuteen
4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen
4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen Käypä kantaratkaisu löytyy helposti, esimerkiksi tapauksessa Ax b, b 0 x 0 jolloin sen määräävät puutemuuttujat. Tällöin simplex-menetelmän alustus
Algoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
Numeeriset menetelmät
Numeeriset menetelmät Luento 2 To 8.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 2 To 8.9.2011 p. 1/33 p. 1/33 Lukujen tallennus Kiintoluvut (integer) tarkka esitys aritmeettiset operaatiot
Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö
Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 2 Lisää osamurtoja Tutkitaan jälleen rationaalifunktion P(x)/Q(x) integrointia. Aiemmin käsittelimme tapauksen, jossa nimittäjä voidaan esittää muodossa Q(x) = a(x x
STATIIKKA. TF00BN89 5op
STATIIKKA TF00BN89 5op Sisältö: Statiikan peruslait Voiman resultantti ja jako komponentteihin Voiman momentti ja voimapari Partikkelin ja jäykän kappaleen tasapainoyhtälöt Tukivoimat Ristikot, palkit
Pimeän energian metsästys satelliittihavainnoin
Pimeän energian metsästys satelliittihavainnoin Avaruusrekka, Kumpulan pysäkki 04.10.2012 Peter Johansson Matemaattis-luonnontieteellinen tiedekunta / Peter Johansson/ Avaruusrekka 04.10.2012 13/08/14
Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto
Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto Julian Voss, Quantum man, 2006 (City of Moses Lake, Washington, USA) Kolme näkökulmaa
Partikkelit pallon pinnalla
Simo K. Kivelä, 14.7.2004 Partikkelit pallon pinnalla Tehtävänä on sijoittaa annettu määrä keskenään identtisiä partikkeleita mahdollisimman tasaisesti pallon pinnalle ja piirtää kuvio syntyvästä partikkelikonfiguraatiosta.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Liikenneongelmien aikaskaalahierarkia
J. Virtamo 38.3141 Teleliikenneteoria / HOL-esto 1 Liikenneongelmien aikaskaalahierarkia AIKASKAALAHIERARKIA Kiinnostavat aikaskaalat kattavat laajan alueen, yli 13 dekadia! Eri aikaskaaloissa esiintyvät
Tietorakenteet, laskuharjoitus 3, ratkaisuja
Tietorakenteet, laskuharjoitus 3, ratkaisuja 1. (a) Toistolauseen runko-osassa tehdään yksi laskuoperaatio, runko on siis vakioaikainen. Jos syöte on n, suoritetaan runko n kertaa, eli aikavaativuus kokonaisuudessaan
Tieteellinen laskenta 2 Törmäykset
Tieteellinen laskenta 2 Törmäykset Aki Kutvonen Op.nmr 013185860 Sisällysluettelo Ohjelman tekninen dokumentti...3 Yleiskuvaus...3 Kääntöohje...3 Ohjelman yleinen rakenne...4 Esimerkkiajo ja käyttöohje...5