Simulointi avoimen kehyksen arkkitehtuuri - Simulation Open Framework Architecture
| Kehittäjä (t) | Inria , CNRS , USTL , UJF , MGH |
|---|---|
| Alkuperäinen julkaisu | Helmikuu 2007 |
| Vakaa vapautus | 19.06.01 / 26 heinäkuu 2019
|
| Arkisto | github |
| Kirjoitettu | C ++ , Python |
| Käyttöjärjestelmä | Linux , Microsoft Windows , OS X |
| Tyyppi | Fysiikkamoottori , lääketieteellinen simulointi , kehys |
| Lisenssi | GPL , LGPL |
| Verkkosivusto | www |
Simulation Open Framework Architecture ( SOFA ) on avoimen lähdekoodin kehys, joka on suunnattu ensisijaisesti reaaliaikaiseen fyysiseen simulointiin ja jossa painotetaan lääketieteellistä simulointia .
Se on tarkoitettu lähinnä tutkimusyhteisölle auttamaan uusien algoritmien kehittämisessä, mutta sitä voidaan käyttää myös tehokkaana prototyyppityökaluna tai fysiikkamoottorina .
ominaisuudet
Kehittyneen ohjelmistoarkkitehtuurin perusteella SOFA antaa käyttäjille mahdollisuuden:
- Luo monimutkaisia ja kehittyviä simulaatioita yhdistämällä uudet algoritmit olemassa oleviin algoritmeihin
- Muokkaa useimpia simulaation parametreja (muodonmuutos, pinnan esitys, ratkaisija, rajoitukset, törmäysalgoritmi jne.) Yksinkertaisesti muokkaamalla XML-tiedostoa
- Rakentaa monimutkaisia malleja yksinkertaisempi niistä käyttäen kohtaus kuvaajan kuvaus
- Simuloi tehokkaasti vuorovaikutuksessa olevien esineiden dynamiikkaa abstraktien yhtälöiden ratkaisijoiden avulla
- Käytä uudelleen ja vertaa helposti erilaisia käytettävissä olevia menetelmiä
- Avoimesti yhdensuuntaistettua monimutkaisia laskutoimituksia käyttämällä semantiikka perustuu tietoihin riippuvuuksia
- Käytä uuden sukupolven näytönohjaimia CUDA-sovellusliittymän kautta parantaaksesi huomattavasti laskenta-aikaa
Kohtauskaavio
SOFA: n keskeinen näkökohta on kohtauskaavion käyttö simulaation elementtien järjestämiseen ja prosessointiin samalla, kun laskentatehtävät erotetaan selkeästi niiden mahdollisesti rinnakkaisesta aikataulusta. SOFA-simulaation kuvaus voidaan helposti tehdä XML-tiedostona . Lisää joustavuutta Python-laajennus sallii komentosarjasimulaatiot käyttämällä Python-kieltä.
Pohjimmiltaan SOFA-kohtauskuvaaja koostuu:
- Solmut : käytetään luokittelemaan komponentit ja pitämään XML-tiedosto puhtaana (mekaaninen solmu, törmäyssolmu, visuaalinen solmu jne.)
- Komponentit : pääelementit, joita käytetään kohtauksen rakentamiseen (ratkaisijan komponentti, voimakentän komponentti, renderointikomponentti jne.)
- Tiedot : kaikki, mitä komponenttien on käsiteltävä (voimat, nopeudet, sijainnit, suhteet jne.)
Laajennukset
Kapasiteetin laajentamiseksi ja lisäominaisuuksien tarjoamiseksi SOFA sisältää useita laajennuksia:
- Ohjaimet VR / haptic / simulointi laitteita (Geomagic®, ARTTrack ™, Novint® Falcon ™ ...)
- Lääketieteellisten kuvien visualisointi ja simulointi
- Python-komentosarjat
- Rinnakkaisuus:
- Monisäikeinen
- GPU-laskenta CUDA- sovellusliittymän avulla
Yhteisö
SOFA-päivä
Joka vuosi järjestettävä SOFA-päivä on yksipäiväinen SOFA-tapahtuma. Tämä tapahtuma on avoin kaikille SOFAsta kiinnostuneille aloittelijoista edistyneisiin käyttäjiin. Se sisältää johdannon SOFA: han, useita opetusohjelmia (mukautettu yleisölle) ja paljon aikaa kokea SOFA ohjaajien avulla.
SOFA-yhteenliittymä
Tasan kymmenen vuotta ensimmäisen sitoutumisen jälkeen SOFA: ssa Inria perusti SOFA-konsortion joulukuussa 2015.
Konsortion tehtävänä on:
- Edusta SOFA: n henkilöllisyyttä
- Järjestä ja kehitä yhteisöä
- Levitä ja tee SOFA: sta vakaampi