CFD-решатель на основе метода lattice Boltzmann для моделирования потоков на GPU и CPU через OpenCL, с визуализацией в реальном времени и поддержкой нескольких GPU.
InteractiveComputerGraphics/SPlisHSPlasH
Открытая библиотека на C++ для физически реалистичного моделирования жидкостей методом сглаженных частиц (SPH), с Python-привязками и CLI.
- Звёзды
- 1,957
- Форки
- 344
- Открытые issues
- 17
- Последний коммит
- 10 дней назад
Что это?
SPlisHSPlasH — библиотека для моделирования жидкостей методом сглаженных частиц (SPH), бессеточным лагранжевым методом, который вычисляет значения для каждой частицы по конечному набору её соседей. В библиотеке реализовано несколько решателей давления для несжимаемых жидкостей (WCSPH, PCISPH, PBF, IISPH, DFSPH, PF), а также методы моделирования вязкости, поверхностного натяжения и вихревого движения.
Помимо обычных жидкостей, библиотека поддерживает взаимодействие жидкости с твёрдыми телами, двустороннее взаимодействие с деформируемыми телами, многофазное течение и силы сопротивления. Сцены задаются в JSON, а результаты можно экспортировать в файлы partio или VTK для использования в Maya, Blender или ParaView. Для Windows и Linux доступны симулятор командной строки `splash` и устанавливаемые через pip Python-привязки (pysplishsplash).
Проект собирается с помощью CMake и требует компилятора C++11. Поиск соседей выполняется на CPU или GPU; если доступна векторизация AVX, библиотека её использует.
Ключевые возможности
- 01Решатели давления для несжимаемых жидкостей: WCSPH, PCISPH, PBF, IISPH, DFSPH и PF
- 02Моделирование в 2D и 3D с поиском соседей на CPU или GPU
- 03Взаимодействие жидкости с твёрдыми телами и двустороннее взаимодействие жидкости и твёрдого тела
- 04Многофазное моделирование и вычисление сил сопротивления
- 05Импорт сцен в JSON с поддержкой скриптов на Python
- 06Экспорт данных о частицах в форматах partio и VTK
Сценарии использования
- Исследование решателей давления для SPH и методов взаимодействия жидкости с твёрдыми телами
- Создание данных для анимации жидкости с последующим импортом в Maya, Blender или ParaView
- Создание скриптов для сцен с жидкостями на Python с помощью привязок pysplishsplash
Быстрый старт
- 1
Установите предварительно собранный пакет Python для Windows или Linux
pip install pysplishsplash - 2
Запустите симулятор командной строки
splash
Что важно знать
- Предварительно собранные Python wheels доступны только для Windows и Linux и только для Python 3.6–3.10.
- Для сборки из исходного кода необходимы CMake и компилятор C++11.
Темы
Частые вопросы
- Что такое SPlisHSPlasH?
- Открытая библиотека на C++ для физически реалистичного моделирования жидкостей методом сглаженных частиц (SPH), с Python-привязками и CLI. SPlisHSPlasH — библиотека для моделирования жидкостей методом сглаженных частиц (SPH), бессеточным лагранжевым методом, который вычисляет значения для каждой частицы по конечному набору её соседей. В библиотеке реализовано несколько решателей давления для несжимаемых жидкостей (WCSPH, PCISPH, PBF, IISPH, DFSPH, PF), а также методы моделирования вязкости, поверхностного натяжения и вихревого движения.
- SPlisHSPlasH можно использовать бесплатно? Какая у него лицензия?
- SPlisHSPlasH распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- SPlisHSPlasH всё ещё поддерживается?
- Активно поддерживается. Последний коммит в SPlisHSPlasH — 28 окт. 2026 г..
- Для чего можно использовать SPlisHSPlasH?
- Исследование решателей давления для SPH и методов взаимодействия жидкости с твёрдыми телами Создание данных для анимации жидкости с последующим импортом в Maya, Blender или ParaView Создание скриптов для сцен с жидкостями на Python с помощью привязок pysplishsplash
- Как установить SPlisHSPlasH?
- Установите предварительно собранный пакет Python для Windows или Linux: pip install pysplishsplash Запустите симулятор командной строки: splash
- Где скачать SPlisHSPlasH?
- Исходный код и инструкции по установке — на GitHub: https://github.com/InteractiveComputerGraphics/SPlisHSPlasH
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Физическая библиотека на C++17 с привязками Python для расчёта кинематики, динамики и контактов у сочленённых роботов и анимированных персонажей.
Пул сред на C++ для обучения с подкреплением: параллельно запускает множество Gym-подобных сред, используя пул потоков.
Библиотека C++ для низкоуровневого управления исследовательскими роботами Franka Robotics в реальном времени; поддерживает Python через pylibfranka.
Blender — бесплатный пакет с открытым исходным кодом для создания 3D-контента: моделирования, риггинга, анимации, симуляции, рендеринга, композитинга, трекинга движения и видеомонтажа.
Фреймворк для JIT-компиляции обычных Python-функций в ядра, работающие на CPU или GPU NVIDIA, для симуляций, робототехники и машинного обучения.