Simulace Open Framework Architecture - Simulation Open Framework Architecture
| Vývojáři | Inria , CNRS , USTL , UJF , MGH |
|---|---|
| První vydání | Února 2007 |
| Stabilní uvolnění | 19.06.01 / 26 července 2019
|
| Úložiště | github |
| Napsáno | C ++ , Python |
| Operační systém | Linux , Microsoft Windows , OS X |
| Typ | Fyzikální engine , Lékařská simulace , Rámec |
| Licence | GPL , LGPL |
| webová stránka | www |
Simulation Open Framework Architecture ( SOFA ) je open source framework primárně zaměřený na fyzickou simulaci v reálném čase s důrazem na lékařskou simulaci .
Většinou je určena pro výzkumnou komunitu, aby pomohla vyvinout novější algoritmy, ale lze ji také použít jako účinný nástroj pro vytváření prototypů nebo jako fyzikální engine .
Funkce
Na základě pokročilé softwarové architektury umožňuje SOFA uživatelům:
- Vytvářejte složité a vyvíjející se simulace kombinací nových algoritmů se stávajícími
- Upravte většinu parametrů simulace (deformovatelné chování, reprezentace povrchu, řešič, omezení, kolizní algoritmus, ...) jednoduchou úpravou souboru XML
- Vytvářejte složité modely od jednodušších pomocí popisu grafu scény
- Efektivně simulujte dynamiku interagujících objektů pomocí abstraktních řešení rovnic
- Opakované použití a snadné srovnání různých dostupných metod
- Transparentně paralelizujte složité výpočty pomocí sémantiky založené na datových závislostech
- Pomocí nových generací GPU prostřednictvím rozhraní CUDA API můžete výrazně zlepšit výpočetní časy
Graf scény
Klíčovým aspektem SOFA je použití grafu scény k organizaci a zpracování prvků simulace při jasném oddělení úkolů výpočtu od jejich případného paralelního plánování. Popis simulace SOFA lze snadno provést v souboru XML . Pro ještě větší flexibilitu umožňuje plugin Python skriptovací simulace pomocí jazyka Python.
V podstatě je graf scény SOFA složen z:
- Uzly : slouží ke kategorizaci komponent a udržování čistého souboru XML (mechanický uzel, kolizní uzel, vizuální uzel, ...)
- Komponenty : hlavní prvky použité k vytvoření scény (komponenta řešitele, komponenta silového pole, komponenta pro vykreslení, ...)
- Datas : vše, s čím se musí komponenty vyrovnat (síly, rychlosti, polohy, poměry, ...)
Pluginy
K rozšíření svých kapacit a poskytnutí dalších funkcí je SOFA dodáván s mnoha doplňky:
- Ovladače pro VR / haptická / simulační zařízení (Geomagic®, ARTTrack ™, Novint® Falcon ™…)
- Vizualizace a simulace lékařských obrazů
- Skriptování v Pythonu
- Paralelizace:
- Multithreading
- Výpočet GPU pomocí CUDA API
Společenství
Den SOFA
Den SOFA, který se koná každý rok, je jednodenní akcí věnovanou SOFA. Tato událost je otevřena všem zájemcům o SOFA, od začátečníků po pokročilé uživatele. Obsahuje úvod do SOFA, několik tutoriálů (přizpůsobených publiku) a velkou dobu prožití SOFA s pomocí instruktorů.
Konsorcium SOFA
Přesně deset let po prvním spáchání na SOFA založila Inria konsorcium SOFA v prosinci 2015.
Mise konsorcia jsou:
- Představují identitu SOFA
- Uspořádejte a rozvíjejte komunitu
- Distribuce a stabilizace SOFA