基于 OpenCL 的格子玻尔兹曼流体仿真软件,可在 GPU 与 CPU 上运行,支持多 GPU 协同计算。
InteractiveComputerGraphics/SPlisHSPlasH
基于光滑粒子流体动力学(SPH)的开源 C++ 流体物理仿真库,提供 Python 绑定和命令行工具。
- Star
- 1,957
- Fork
- 344
- 未关闭 Issue
- 17
- 最近提交
- 10天前
这是什么?
SPlisHSPlasH 是一个基于光滑粒子流体动力学(SPH)的流体仿真库。SPH 是一种无网格的拉格朗日方法,每个粒子的物理量只依赖其有限邻域内的粒子。库中实现了多种不可压缩流体的压力求解器(WCSPH、PCISPH、PBF、IISPH、DFSPH、PF),并提供黏性、表面张力和涡量的多种计算方法。
除纯流体外,它还支持刚体与流体耦合、与可变形固体的双向耦合、多相流以及拖曳力计算。场景通过 JSON 文件描述,结果可导出为 partio 或 VTK 格式,供 Maya、Blender 或 ParaView 使用。项目提供 `splash` 命令行仿真工具,以及面向 Windows 和 Linux 的 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 进行渲染
- 使用 pysplishsplash 绑定从 Python 编写流体场景
快速上手
- 1
安装适用于 Windows 或 Linux 的预编译 Python 包
pip install pysplishsplash - 2
运行命令行模拟器
splash
使用前须知
- 预编译的 Python 轮子仅提供给 Windows 和 Linux,且仅支持 Python 3.6-3.10。
- 从源码构建需要 CMake 和支持 C++11 的编译器。
标签
常见问题
- SPlisHSPlasH 是什么?
- 基于光滑粒子流体动力学(SPH)的开源 C++ 流体物理仿真库,提供 Python 绑定和命令行工具。 SPlisHSPlasH 是一个基于光滑粒子流体动力学(SPH)的流体仿真库。SPH 是一种无网格的拉格朗日方法,每个粒子的物理量只依赖其有限邻域内的粒子。库中实现了多种不可压缩流体的压力求解器(WCSPH、PCISPH、PBF、IISPH、DFSPH、PF),并提供黏性、表面张力和涡量的多种计算方法。
- SPlisHSPlasH 可以免费使用吗?用的什么许可证?
- SPlisHSPlasH 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- SPlisHSPlasH 还在维护吗?
- 活跃维护中。SPlisHSPlasH 最近一次提交是在 2026年10月28日。
- SPlisHSPlasH 适合用来做什么?
- 研究 SPH 压力求解器和流固耦合方法 生成流体动画数据,导入 Maya、Blender 或 ParaView 进行渲染 使用 pysplishsplash 绑定从 Python 编写流体场景
- SPlisHSPlasH 怎么安装和运行?
- 安装适用于 Windows 或 Linux 的预编译 Python 包: pip install pysplishsplash 运行命令行模拟器: splash
- 在哪里获取 SPlisHSPlasH?
- 源代码和安装说明在 GitHub 上:https://github.com/InteractiveComputerGraphics/SPlisHSPlasH
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 C++17 的物理引擎,提供 Python 绑定,用于机器人与计算动画中关节体的运动学、动力学和接触仿真。
基于 C++ 的强化学习批量环境引擎,用线程池并行运行大量 Gym 风格环境。
用于实时底层控制 Franka Robotics 科研机械臂的 C++ 客户端库,并提供 Python 绑定。
Blender 是免费开源的 3D 创作套件,覆盖建模、绑定、动画、模拟、渲染、合成、运动跟踪和视频剪辑。
一个 Python 框架,可将普通 Python 函数即时编译为在 CPU 或 GPU 上运行的内核,用于仿真、机器人与机器学习。