Skip to main content

                  Documentation Status

SPlisHSPlasH is an open-source library for the physically-based simulation of fluids. The simulation in this library is based on the Smoothed Particle Hydrodynamics (SPH) method which is a popular meshless Lagrangian approach to simulate complex fluid effects. The SPH formalism allows an efficient computation of a certain quantity of a fluid particle by considering only a finite set of neighboring particles. One of the most important research topics in the field of SPH methods is the simulation of incompressible fluids. SPlisHSPlasH implements current state-of-the-art pressure solvers (WCSPH, PCISPH, PBF, IISPH, DFSPH, PF) to simulate incompressibility. Moreover, the library provides different methods to simulate viscosity, surface tension and vorticity.

The library uses the following external libraries: Eigen, json, partio, zlib, cxxopts, tinyexpr, toojpeg, pybind, glfw, hapPLY, nfd, and imgui. All external dependencies are included.

Furthermore we use our own libraries:

SPlisHSPlasH can export the particle data in the partio and vtk format. If you want to import partio files in Maya or Blender, try out our plugins:

Author: Jan Bender

License

The SPlisHSPlasH library code is licensed under the MIT license. See LICENSE for details.

External dependencies are covered by separate licensing terms. See the extern folder for the code and respective licensing terms of each dependency.

Documentation

Forum

On our GitHub discussions page you can ask questions, discuss about simulation topics, and share ideas.

Build Instructions

This project is based on CMake. Simply generate project, Makefiles, etc. using CMake and compile the project with a compiler of your choice that supports C++11. The code was tested with the following configurations:

  • Windows 10 64-bit, CMake 3.18.3, Visual Studio 2019
  • Debian 11.5 64-bit, CMake 3.18.4, GCC 10.2.1.

Note: Please use a 64-bit target on a 64-bit operating system. 32-bit builds on a 64-bit OS are not supported.

Python Installation Instruction

For Windows and Linux targets there exists prebuilt python wheel files which can be installed using

pip install pysplishsplash

These are available for Python versions 3.6-3.10. See also here: pySPlisHSPlasH. If you do not meet these conditions please refer to the build instructions and to the python binding Getting started guide.

The command line simulator is available by running one of the following

splash
splash --help

Features

SPlisHSPlasH implements:

  • an open-source SPH fluid simulation (2D & 3D)
  • neighborhood search on CPU or GPU
  • supports vectorization using AVX
  • Python binding (thanks to Stefan Jeske)
  • supports embedded Python scripts
  • several implicit pressure solvers (WCSPH, PCISPH, PBF, IISPH, DFSPH, PF)
  • explicit and implicit viscosity methods
  • current surface tension approaches
  • different vorticity methods
  • computation of drag forces
  • support for multi-phase simulations
  • simulation of deformable solids
  • rigid-fluid coupling with static and dynamic bodies
  • two-way coupling with deformable solids
  • XSPH velocity filter
  • fluid emitters
  • scripted animation fields
  • a json-based scene file importer
  • automatic surface sampling
  • a tool for volume sampling of closed geometries
  • a tool to generate spray, foam and bubble particles in a postprocessing step
  • a tool to skin a visual mesh to the moving particles of an elastic solid in a postprocessing step
  • partio file export of all particle data
  • VTK file export of all particle data (enables the data import in ParaView)
  • rigid body export
  • a Maya plugin to model and generate scene files
  • a ParaView plugin to import particle data

A list of all implemented simulation methods can be found here: https://splishsplash.physics-simulation.org/features

Screenshots & Videos

https://splishsplash.physics-simulation.org/gallery

Citation

To cite SPlisHSPlasH you can use this BibTeX entry:

@software{SPlisHSPlasH_Library,
  author = {Bender, Jan and others},
  license = {MIT},
  title = {{SPlisHSPlasH Library}},
  url = {https://github.com/InteractiveComputerGraphics/SPlisHSPlasH},
}

Metadata

Release files for pySPlisHSPlasH 2.19.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pySPlisHSPlasH 2.19.1
File Actions
pysplishsplash-2.19.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pysplishsplash-2.19.1-cp313-cp313-win_amd64.whl
pysplishsplash-2.19.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pysplishsplash-2.19.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pysplishsplash-2.19.1-cp313-cp313-macosx_26_0_arm64.whl CPython 3.13 CPython 3.13 macOS 26.0+ ARM64 Details for pysplishsplash-2.19.1-cp313-cp313-macosx_26_0_arm64.whl
pysplishsplash-2.19.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pysplishsplash-2.19.1-cp312-cp312-win_amd64.whl
pysplishsplash-2.19.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pysplishsplash-2.19.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pysplishsplash-2.19.1-cp312-cp312-macosx_26_0_arm64.whl CPython 3.12 CPython 3.12 macOS 26.0+ ARM64 Details for pysplishsplash-2.19.1-cp312-cp312-macosx_26_0_arm64.whl
pysplishsplash-2.19.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pysplishsplash-2.19.1-cp311-cp311-win_amd64.whl
pysplishsplash-2.19.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pysplishsplash-2.19.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pysplishsplash-2.19.1-cp311-cp311-macosx_26_0_arm64.whl CPython 3.11 CPython 3.11 macOS 26.0+ ARM64 Details for pysplishsplash-2.19.1-cp311-cp311-macosx_26_0_arm64.whl
pysplishsplash-2.19.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pysplishsplash-2.19.1-cp310-cp310-win_amd64.whl
pysplishsplash-2.19.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pysplishsplash-2.19.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pysplishsplash-2.19.1-cp310-cp310-macosx_26_0_arm64.whl CPython 3.10 CPython 3.10 macOS 26.0+ ARM64 Details for pysplishsplash-2.19.1-cp310-cp310-macosx_26_0_arm64.whl
pysplishsplash-2.19.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pysplishsplash-2.19.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Total release size: 63.5 MB

Release files / pysplishsplash-2.19.1-cp313-cp313-win_amd64.whl

Download URL pysplishsplash-2.19.1-cp313-cp313-win_amd64.whl
Size 4.6 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
6aa80bbd850b1872aa05fb4a8a5e70c2a9f2dc930f2966113ee7ec90304097a6
BLAKE2b-256 checksum
How to use checksums
2d6e924967b17c38ecb8b267e354ebfcdb65199edfa31bb003873f39a926a172
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / pysplishsplash-2.19.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pysplishsplash-2.19.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.6 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
17d1d25b0c87d12556e6461ec0efab1ecdc66e14540aeedb28943e6cfe887f93
BLAKE2b-256 checksum
How to use checksums
a3276b21b87368153ae89ee6fec598dc4e66acb43059414466ec8df9cf04a28f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / pysplishsplash-2.19.1-cp313-cp313-macosx_26_0_arm64.whl

Download URL pysplishsplash-2.19.1-cp313-cp313-macosx_26_0_arm64.whl
Size 4.4 MB
Tags CPython 3.13 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
8cdd067a447cb2df0337eb4bcb90b8ad936db92cf066c71830bc93f374ba0481
BLAKE2b-256 checksum
How to use checksums
e843a3001c353a05e8b340b983f24a1c41a155edba228e5ca090130e85f6a5f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / pysplishsplash-2.19.1-cp312-cp312-win_amd64.whl

Download URL pysplishsplash-2.19.1-cp312-cp312-win_amd64.whl
Size 4.6 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
87309553bc14215927a5cc73b4a943f03df876b80c199d98101441571af2e96c
BLAKE2b-256 checksum
How to use checksums
aa3072503b8c58408d9c897532a4d6bf4207f8fcd4ef291bf7cc15f9e40add42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / pysplishsplash-2.19.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pysplishsplash-2.19.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.5 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
182cc0eef58e93eb2657cd1ce32e122d86c9294e5a62f7669e90c05021dac0f0
BLAKE2b-256 checksum
How to use checksums
057875a583d47167cf0043e3ea61008ce40ce1d127cb7cff8808d10a8e86cec0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / pysplishsplash-2.19.1-cp312-cp312-macosx_26_0_arm64.whl

Download URL pysplishsplash-2.19.1-cp312-cp312-macosx_26_0_arm64.whl
Size 4.4 MB
Tags CPython 3.12 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
fb56ab3d620f54f511f41af88b47c86889eacca873b04d0b2ecee21cbffe19cd
BLAKE2b-256 checksum
How to use checksums
cbfec44a9486cf0aa0e3c8d38df940121d9536270baefb33cfd46b72f65cb514
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / pysplishsplash-2.19.1-cp311-cp311-win_amd64.whl

Download URL pysplishsplash-2.19.1-cp311-cp311-win_amd64.whl
Size 4.6 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
940c8522c85700f8258308b06428257ed2363ff587bf6988cc2971a91623bb3f
BLAKE2b-256 checksum
How to use checksums
9d3b5283f4fdb3854aea62ed2180c9a72b0f5460a07414d4af4d8829a2b0fd48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / pysplishsplash-2.19.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pysplishsplash-2.19.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.6 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a72f90101c31be0413891a0457af140dcd649b12d951545610035b4a92284a80
BLAKE2b-256 checksum
How to use checksums
f77a7e74996be8fce916dc54933efaa8919ce3a29fe912e3f8392e5f98b7bd68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / pysplishsplash-2.19.1-cp311-cp311-macosx_26_0_arm64.whl

Download URL pysplishsplash-2.19.1-cp311-cp311-macosx_26_0_arm64.whl
Size 4.4 MB
Tags CPython 3.11 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
1a4edc19ecece30c9a4b77522e00c2acf4b2473ca160929a9463a4add3e666d1
BLAKE2b-256 checksum
How to use checksums
a42975a9c909bfcd4013fccc63008724de0812285a88b4fd66da12df34b1d3c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / pysplishsplash-2.19.1-cp310-cp310-win_amd64.whl

Download URL pysplishsplash-2.19.1-cp310-cp310-win_amd64.whl
Size 4.6 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
8bba9cb972a0f999b831d21db0464ccad8450b25c95d7948e8603003db496e95
BLAKE2b-256 checksum
How to use checksums
b935f3056f62f5614bc42c3463656ae1dc2028c2b8344959f92c6b08527f61b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / pysplishsplash-2.19.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pysplishsplash-2.19.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.6 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
094de56537bff225fc17fa56f9fe1d365987af4d0dfc8bf0d7e999f5ea441b16
BLAKE2b-256 checksum
How to use checksums
f4402924fdab77b618da4a1e299bc22fe1a2b85a98b95c30096d7ca34adfd0ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / pysplishsplash-2.19.1-cp310-cp310-macosx_26_0_arm64.whl

Download URL pysplishsplash-2.19.1-cp310-cp310-macosx_26_0_arm64.whl
Size 4.4 MB
Tags CPython 3.10 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
7d1a1f8887dc6ce6eec3ffdfff0847cad4ce6d10e202692a8ce3b1e04b8086af
BLAKE2b-256 checksum
How to use checksums
597d8d41082880fb6650b779e77ca967d3c617174a24474589f1a3e4ca400c45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / pysplishsplash-2.19.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pysplishsplash-2.19.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.6 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9c264cbe20bf9b43092261756f8c7d59833c6335fd8f821d533d3f2a150b1017
BLAKE2b-256 checksum
How to use checksums
5a4080bf74234eb7c2d3d0bb413109713603f273e9b8ca28a53c7d9f4f144396
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for pySPlisHSPlasH 2.19.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.19.1 This release

13 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page