Olen viime viikkoina omistanut aika suuren osan vapaa-ajastani uuden halosimulaattorin kirjoittamiseen. Jukka Ruoskasen HaloPoint 2.0 on palvellut hyvin, ja palvelee kyllä edelleen jos haluaa tarkempia analyysityökaluja simulaatiotulosten tutkimiseen. Mieleeni kuitenkin juolahti, että nykyisin aika monesta tietokoneesta löytyy näytönohjain, jolla pystyy suorittamaan isoja helposti rinnakkaistuvia työmääriä vallan vikkelästi. Lähdin tätä sitten soveltamaan halosimulointiin ja näin syntyi HaloRay.
Pintapuolisen testailun perusteella vanha HaloPoint 2.0 kykenee simuloimaan noin 15 000 valonsäteen ja kiteen yhdistelmää sekunnissa meikäläisen tietokoneella, kun HaloRaylla vastaava luku on 25 000 000.

Tässä esimerkkinä Jari Luomasen kuvaama halonäytelmä vuodelta 2014 ja sen pohjalta tehty simulaatio:

HaloRay on suunniteltu alusta asti olemaan hyvin interaktiivinen. Tehokkaalla näytönohjaimella simulointi tapahtuu äärimmäisen nopeasti, ja kaikkia parametreja voi säätää reaaliajassa. HaloRay tukee tällä hetkellä useamman kidepopulaation simulointia yhtä aikaa, mutta vielä en ole ehtinyt toteuttaa tukea muille kuin normaaleille kuusikulmaisille jääkiteille. Tuki erilaisille pyramidikiteillä on kyllä tulossa. Myöskään mitään ihmeempiä analyysityökaluja ei vielä ole tarjolla, joten ainakaan toistaiseksi simulaatiosta ei pysty helposti tarkistamaan mikä valonkulku aiheutti minkäkin halomuodon. Katsotaan kuitenkin mitä tulevaisuus tuo tullessaan.

HaloRay pienen esittelysivun voi käydä katsastamassa täältä:
https://naavis.github.io/haloray/GitHubista löytyy ohjelman kaikki lähdekoodit, valmiiksi käännetty Windows-versio ja tarkempi käyttöohjeistus:
https://github.com/naavis/halorayLinux-versio täytyy toistaiseksi kääntää itse. Perehdyn ehtiessäni paketointiin tuolla Linux-puolella, niin saadaan valmis Linux-versiokin sitten jakoon.