Архитектура Simulation Open Framework - Simulation Open Framework Architecture
| Разработчики) | Inria , CNRS , USTL , UJF , MGH |
|---|---|
| изначальный выпуск | Февраль 2007 г . |
| Стабильный выпуск | 19.06.01 / 26 июля 2019 г .
|
| Репозиторий | github |
| Написано в | C ++ , Python |
| Операционная система | Linux , Microsoft Windows , OS X |
| Тип | Физический движок , Медицинское моделирование , Фреймворк |
| Лицензия | GPL , LGPL |
| Интернет сайт | www |
Simulation Open Framework Architecture ( SOFA ) - это среда с открытым исходным кодом, в первую очередь ориентированная на физическое моделирование в реальном времени с упором на медицинское моделирование .
Он в основном предназначен для исследовательского сообщества, чтобы помочь в разработке новых алгоритмов, но также может использоваться как эффективный инструмент для создания прототипов или как физический движок .
особенности
Основываясь на передовой программной архитектуре, SOFA позволяет пользователям:
- Создавайте сложные и развивающиеся симуляции , комбинируя новые алгоритмы с существующими алгоритмами
- Измените большинство параметров моделирования (деформируемое поведение, представление поверхности, решатель, ограничения, алгоритм столкновения и т. Д.) Простым редактированием файла XML.
- Создавайте сложные модели из более простых, используя описание графа сцены
- Эффективно моделируйте динамику взаимодействующих объектов с помощью решателей абстрактных уравнений
- Повторно используйте и легко сравнивайте различные доступные методы
- Прозрачное распараллеливание сложных вычислений с использованием семантики на основе зависимостей данных
- Используйте новые поколения графических процессоров через CUDA API, чтобы значительно сократить время вычислений
График сцены
Ключевым аспектом SOFA является использование графа сцены для организации и обработки элементов моделирования, четко отделяя вычислительные задачи от их возможного параллельного планирования. Описание моделирования SOFA можно легко сделать в файле XML . Для еще большей гибкости плагин Python позволяет создавать сценарии моделирования с использованием языка Python.
По сути, граф сцены SOFA состоит из:
- Узлы : используются для категоризации компонентов и поддержания чистоты XML-файла (механический узел, узел столкновения, визуальный узел, ...)
- Компоненты : основные элементы, используемые для построения сцены (компонент решателя, компонент силового поля, компонент рендеринга, ...)
- Данные : все, с чем приходится иметь дело компонентам (силы, скорости, положения, отношения, ...)
Плагины
Чтобы расширить свои возможности и предоставить больше возможностей, SOFA поставляется с множеством плагинов:
- Драйверы для устройств виртуальной реальности / тактильных ощущений / моделирования (Geomagic®, ARTTrack ™, Novint® Falcon ™…)
- Визуализация и моделирование медицинских изображений
- Сценарии Python
- Распараллеливание:
- Многопоточность
- Вычисления на GPU с использованием CUDA API
Сообщество
День ДИВАНА
День SOFA организуется каждый год и представляет собой однодневное мероприятие, посвященное SOFA. Это мероприятие открыто для всех, кто интересуется SOFA, от новичков до продвинутых пользователей. Он содержит введение в SOFA, несколько руководств (адаптированных для аудитории) и большое время для знакомства с SOFA с помощью инструкторов.
Консорциум SOFA
Ровно через десять лет после первого коммита в SOFA, Inria основала Консорциум SOFA в декабре 2015 года
. Задачи Консорциума заключаются в следующем:
- Представьте личность SOFA
- Организуйте и развивайте сообщество
- Распространяйте и делайте SOFA более стабильным
Смотрите также
- Блок обработки графики (GPU)
- Динамика мягкого тела
- Динамика жесткого тела
- Обнаружение столкновений
- VRPN