Korjaustermi hävitti kymmeniä prosentteja virtauksen liike-energiasta

Professori Ville Vuorisen ohjaama ryhmä Aalto-yliopistossa tutkii diesel- ja kaasumoottoreiden palamisen fysiikkaa ja kemiaa laskennallista virtausmekaniikkaa hyödyntäen. Ryhmä käyttää nk. suurten pyörteiden simulointimenetelmää avoimen lähdekoodin ohjelmistolla. ”Käyttämämme OpenFOAM-ohjelmisto muuttaa merkittävästi tapaa, jolla insinöörit ja tutkijat ratkaisevat virtausongelmia ja pääsevät työskentelemään itse yhtälöiden kanssa”, Ville Vuorinen kertoo.

”Avoimen lähdekoodin virtauslaskenta parhaimmillaan mahdollistaa tietynlaisen riippuvuussiteen katkeamisen ohjelmiston toteuttajien ja käyttäjien välillä, jolloin vapaus ja luovuus pääsevät uusiin mittoihin. Kyky oppia lisää ja vaikuttaa asioihin kasvaa", professori Ville Vuorinen kertoo. Kuva. Tommi Kutilainen CC BY 4.0.​​​

Avoimen lähdekoodin ohjelmissa on mahdollista tutkia koodia ja räätälöidä koodia omiin tarpeisiin sopivaksi. Avoimen lähdekoodin ohjelmat eivät ole suljettuja laatikoita, jotka pullauttavat tulokset ulos tutkijan tietämättä miten tulokset on laskettu, vaan ohjelman toiminta on tarkasteltavissa. Sen vuoksi avoimen lähdekoodin ohjelmistot sopivat hyvin tieteen ajattelutapaan, jonka mukaan myös menetelmien pitää olla läpinäkyviä.

"Virtauslaskenta on usein mielletty kaupallisen ohjelmiston käyttöliittymän klikkailuksi. OpenFOAM:issa ohjelmoidaan pieniä, korkean tason skriptejä, joissa virtaus- ja lämmönsiirto-ongelmien osittaisdifferentiaaliyhtälöt ratkaistaan. Tämä lisää käyttäjän kontrollia numeriikkaan, mikä tarjoaa lukuisia mahdollisuuksia mm. tulosten laadun ja luotettavuuden parantamiseen."

Ville Vuorisella on kerrottavanaan hyvä esimerkki avoimen lähdekoodin ohjelmistojen tarjoamasta mahdollisuudesta. ”Löysimme ohjelman perusvirtausratkaisijasta ylimääräisen korjaustermin, joka tietyissä tapauksissa hävittää nopeasti kymmeniä prosentteja virtauksen liike-energiasta. Korjaustermi ei kuulunut kyseisen algoritmin alkuperäiseen toteutukseen. Ilmeisesti termi oli lisätty simulointien stabiloimiseksi. Vastaavia stabilointitermejä käytetään todella monissa numeerisissa implementaatioissa eikä niissä sinänsä ole mitään epätavallista. Kaupallisessa ohjelmistossa käyttäjät eivät kuitenkaan käytännössä pysty vastaavia yksityiskohtia jäljittämään”, Ville Vuorinen kertoo.

”Mielenkiintoinen seuraus termistä oli se, että todennäköisesti miltei kaikki ohjelman 5000-10000 käyttäjää tekivät omia simulointejaan tietämättä juurikaan tuosta korjaustermistä, sen alkuperästä tai mahdollisista seurauksista. Meille termi oli numeeristen testien perusteella haitta, joten poistimme sen omasta koodistamme. Teimme julkaisun, jossa dokumentoimme myös tämän seikan, joten asia on nyt käyttäjien tiedossa. Tämä artikkelimme oli vuoden 2014 Computers & Fluids -lehden Most downloaded –listalla.”

CC 4.0 BY

Tämä teos on lisensoitu Creative Commons Nimeä 4.0 kansainvälinen -lisenssillä