Simulointi avoimen kehyksen arkkitehtuuri - Simulation Open Framework Architecture

SOHVA
SOFA snapshot.png
Kehittäjä (t) Inria , CNRS , USTL , UJF , MGH
Alkuperäinen julkaisu Helmikuu 2007 ; 14 vuotta sitten  ( 2007-02 )
Vakaa vapautus
19.06.01 / 26 heinäkuu 2019 ; 18 kuukautta sitten  ( 2019-07-26 )
Arkisto github .com / sohvakehys / sohva
Kirjoitettu C ++ , Python
Käyttöjärjestelmä Linux , Microsoft Windows , OS X
Tyyppi Fysiikkamoottori , lääketieteellinen simulointi , kehys
Lisenssi GPL , LGPL
Verkkosivusto www .sofa-framework .org

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

Katso myös

Viitteet

Ulkoiset linkit