Repolode
InteractiveComputerGraphics

InteractiveComputerGraphics/SPlisHSPlasH

An open-source C++ library for physically-based fluid simulation using Smoothed Particle Hydrodynamics (SPH), with a Python binding and CLI.

Stars
1,957
Forks
344
Open issues
17
Last commit
9 days ago

What is it?

SPlisHSPlasH is a library for simulating fluids with Smoothed Particle Hydrodynamics, a meshless Lagrangian method that computes quantities for each particle from a finite set of its neighbors. It implements several incompressible pressure solvers (WCSPH, PCISPH, PBF, IISPH, DFSPH, PF) along with methods for viscosity, surface tension and vorticity.

Beyond pure fluids, the library covers rigid-fluid coupling, two-way coupling with deformable solids, multi-phase flow and drag forces. Scenes are defined in JSON, and results can be exported as partio or VTK files for use in Maya, Blender or ParaView. A `splash` command-line simulator and pip-installable Python bindings (pysplishsplash) are provided for Windows and Linux.

The project is built with CMake and requires a C++11 compiler. Its neighborhood search runs on the CPU or GPU, and it uses AVX vectorization where available.

Key features

  • 01Pressure solvers for incompressible fluids: WCSPH, PCISPH, PBF, IISPH, DFSPH and PF
  • 022D and 3D simulation with CPU or GPU neighborhood search
  • 03Rigid-fluid and two-way fluid-solid coupling
  • 04Multi-phase simulation and drag force computation
  • 05JSON scene importer with Python scripting support
  • 06Export of particle data to partio and VTK formats

Use cases

  • Researching SPH pressure solvers and fluid-solid coupling methods
  • Generating fluid animation data for import into Maya, Blender or ParaView
  • Scripting fluid scenes from Python with the pysplishsplash bindings

Quick start

  1. 1

    Install the prebuilt Python package for Windows or Linux

    pip install pysplishsplash
  2. 2

    Run the command line simulator

    splash

Things to know

  • Prebuilt Python wheels are only provided for Windows and Linux, for Python 3.6-3.10.
  • Building from source requires CMake and a C++11 compiler.

Topics

#fluid-simulation#sph#physics-simulation#cpp#python-bindings#computer-graphics#deformable-solids#fluid-dynamics#fluids#multiphase-flow

FAQ

What is SPlisHSPlasH?
An open-source C++ library for physically-based fluid simulation using Smoothed Particle Hydrodynamics (SPH), with a Python binding and CLI. SPlisHSPlasH is a library for simulating fluids with Smoothed Particle Hydrodynamics, a meshless Lagrangian method that computes quantities for each particle from a finite set of its neighbors. It implements several incompressible pressure solvers (WCSPH, PCISPH, PBF, IISPH, DFSPH, PF) along with methods for viscosity, surface tension and vorticity.
Is SPlisHSPlasH free to use? What license does it have?
SPlisHSPlasH is open source under the MIT license. Check the license terms before using it in commercial products.
Is SPlisHSPlasH still maintained?
Actively maintained. The last commit to SPlisHSPlasH was on Oct 28, 2026.
What can I use SPlisHSPlasH for?
Researching SPH pressure solvers and fluid-solid coupling methods Generating fluid animation data for import into Maya, Blender or ParaView Scripting fluid scenes from Python with the pysplishsplash bindings
How do I install SPlisHSPlasH?
Install the prebuilt Python package for Windows or Linux: pip install pysplishsplash Run the command line simulator: splash
Where can I get SPlisHSPlasH?
The source code and installation instructions are on GitHub: https://github.com/InteractiveComputerGraphics/SPlisHSPlasH

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects