Simulation Open Framework Architecture - Simulation Open Framework Architecture
| Utvikler (r) | Inria , CNRS , USTL , UJF , MGH |
|---|---|
| Første utgivelse | Februar 2007 |
| Stabil utgivelse | 19.06.01 / 26 juli 2019
|
| Oppbevaringssted | github |
| Skrevet i | C ++ , Python |
| Operativsystem | Linux , Microsoft Windows , OS X |
| Type | Fysikkmotor , medisinsk simulering , rammeverk |
| Tillatelse | GPL , LGPL |
| Nettsted | www |
Simulation Open Framework Architecture ( SOFA ) er et open source-rammeverk som primært er rettet mot sanntids fysisk simulering , med vekt på medisinsk simulering .
Det er hovedsakelig ment for forskningsmiljøet å bidra til å utvikle nyere algoritmer, men kan også brukes som et effektivt prototypingsverktøy eller som en fysikkmotor .
Egenskaper
Basert på en avansert programvarearkitektur, tillater SOFA brukere å:
- Lag komplekse og utviklende simuleringer ved å kombinere nye algoritmer med eksisterende algoritmer
- Endre de fleste parametere i simuleringen (deformerbar oppførsel, overflaterepresentasjon, løser, begrensninger, kollisjonsalgoritme, ...) ved å redigere en XML-fil
- Bygge komplekse modeller fra enklere seg ved hjelp av en scene graf beskrivelse
- Simuler effektivt dynamikken til samspillende objekter ved hjelp av abstrakte ligningsløsere
- Gjenbruk og enkelt sammenligne en rekke tilgjengelige metoder
- Transparent Parallell komplekse beregninger ved hjelp av semantikk basert på dataavhengig
- Bruk nye generasjoner av GPUer gjennom CUDA API for å forbedre beregningstidene
Scenegraf
Et sentralt aspekt av SOFA er bruken av et scenegraf for å organisere og behandle elementene i en simulering mens du klart skiller beregningsoppgavene fra deres muligens parallelle planlegging. Beskrivelsen av en SOFA-simulering kan enkelt gjøres i en XML-fil . For enda mer fleksibilitet tillater et Python-plugin skriptsimuleringer ved hjelp av Python-språket.
I utgangspunktet er en SOFA-scenegraf sammensatt av:
- Noder : brukes til å kategorisere komponentene og holde XML-filen ren (mekanisk node, kollisjonsnode, visuell node, ...)
- Komponenter : hovedelementer som brukes til å bygge en scene (løserkomponent, kraftfeltkomponent, gjengiverkomponent, ...)
- Data : alt komponentene har å gjøre med (krefter, hastigheter, posisjoner, forhold, ...)
Plugins
For å utvide kapasiteten og gi flere funksjoner, følger SOFA med mange plugins:
- Drivere for VR / haptic / simuleringsenheter (Geomagic®, ARTTrack ™, Novint® Falcon ™ ...)
- Visualisering og simulering av medisinske bilder
- Python-skript
- Parallellisering:
- Multitrading
- GPU-databehandling ved hjelp av CUDA API
Samfunnet
SOFA-dagen
Organisert hvert år, er SOFA Day en en-dags begivenhet dedikert til SOFA. Dette arrangementet er åpent for alle som er interessert i SOFA, fra nybegynnere til avanserte brukere. Den inneholder en introduksjon til SOFA, flere veiledninger (tilpasset publikum) og lang tid å oppleve SOFA ved hjelp av instruktørene.
SOFA Consortium
Nøyaktig ti år etter den første forpliktelsen i SOFA grunnla Inria SOFA Consortium i desember 2015.
Konsortiumoppdragene er å:
- Representere identiteten til SOFA
- Organiser og utvikle fellesskapet
- Distribuer og gjør SOFA mer stabil