Архитектура Simulation Open Framework - Simulation Open Framework Architecture

ДИВАН
SOFA snapshot.png
Разработчики) Inria , CNRS , USTL , UJF , MGH
изначальный выпуск Февраль 2007 г . ; 14 лет назад  ( 2007-02 )
Стабильный выпуск
19.06.01 / 26 июля 2019 г . ; 18 месяцев назад  ( 2019-07-26 )
Репозиторий github .com / диван-каркас / диван
Написано в C ++ , Python
Операционная система Linux , Microsoft Windows , OS X
Тип Физический движок , Медицинское моделирование , Фреймворк
Лицензия GPL , LGPL
Интернет сайт www .sofa-framework .org

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 более стабильным

Смотрите также

использованная литература

внешние ссылки