Simulation Open Framework Architecture - Simulation Open Framework Architecture

SOFA
SOFA snapshot.png
Utvikler (r) Inria , CNRS , USTL , UJF , MGH
Første utgivelse Februar 2007 ; For 14 år siden  ( 2007-02 )
Stabil utgivelse
19.06.01 / 26 juli 2019 ; 18 måneder siden  ( 2019-07-26 )
Oppbevaringssted github .com / sofa-framework / sofa
Skrevet i C ++ , Python
Operativsystem Linux , Microsoft Windows , OS X
Type Fysikkmotor , medisinsk simulering , rammeverk
Tillatelse GPL , LGPL
Nettsted www .sofa-framework .org

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

Se også

Referanser

Eksterne linker