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},
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pysplishsplash-2.18.1-cp313-cp313-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.13Windows x86-64

pysplishsplash-2.18.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pysplishsplash-2.18.1-cp313-cp313-macosx_26_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

pysplishsplash-2.18.1-cp312-cp312-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.12Windows x86-64

pysplishsplash-2.18.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pysplishsplash-2.18.1-cp312-cp312-macosx_26_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

pysplishsplash-2.18.1-cp311-cp311-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.11Windows x86-64

pysplishsplash-2.18.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pysplishsplash-2.18.1-cp311-cp311-macosx_26_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

pysplishsplash-2.18.1-cp310-cp310-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.10Windows x86-64

pysplishsplash-2.18.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pysplishsplash-2.18.1-cp310-cp310-macosx_26_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.10macOS 26.0+ ARM64

pysplishsplash-2.18.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file pysplishsplash-2.18.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 62888fa72b6312c081e0248935dd6c2a4e5d1df7f8bed069c9b767e2c4f82919
MD5 35af1ea2ef49d81885ab7ade990b925f
BLAKE2b-256 1f587a8ef5717cbb1fb3844fbda5f43f585f20c3efe790ace6753666c036a4e5

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5cb07939c300d2c492ee671ad409d6d72e4ca2dc6baeb4d9ce528712074617dc
MD5 c818759a8a7570dc3cc76cc18acf5261
BLAKE2b-256 87763d993d72964c8c69cd89d2bbe0cde9d95191f9e43b6fa372b8442b284639

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp313-cp313-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 8c22290ac5a7209c25be1b5a5d9d89b1c1fae20bcfe23a62f5a89a0e0fa029a8
MD5 da083b350ac82412a32fb683fa92aeda
BLAKE2b-256 4cc5c58c6bb902d3c8bbab7f62986047956f61bc2e5525cb2179a78f8c7c4ec8

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4ea2f97460ade6f1b46d2cb904c2cdca4e364ff28529fb57b6c092934c15f3d4
MD5 a42f3a88f9e2e2c263ac6dc1ac1d1f7f
BLAKE2b-256 fa584bd8fa7d9ea9422900651221b38807c180b553904f6e04292c178dfcc33f

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0408218b21573fe95b4030be09536a978596ffcf0ffc47bf564c0ac525b1913a
MD5 b1e61f197b9f5328f1aeb85097d2930e
BLAKE2b-256 85ea2acfdbf794d87a17f70a8edfcf296ba3b3815ee618447e1f52770a97dbfa

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 0c0380cd1f66ed6a2bf893966467676811e414cf0574630b91c6781b75a96920
MD5 29826e227b7e3f89ab24bee7dbe591d7
BLAKE2b-256 0c17c5c6f6fdc5c8ea012bc982d3dd6b31a18989e4ff26df8e1015c36b03a23b

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 65c7bc7dc50f4c2581089bbd57bfaef45e772d47b729e7bad043cc99ea000e05
MD5 8580176ae8310e0dbc431170e7cbf51a
BLAKE2b-256 031c905ddb623d1e641d9385dff02c767ea2f30bf4d6e219deb07cbd48e9057c

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a2c38d269a7c7cb87cda7ef52d30d3d42f50e90f683bc749801de45ca7a25b6d
MD5 9ca080ac2151af92fc1d07717f71245f
BLAKE2b-256 8c7d28541de7fa877915d7f9e8c49adafdb2e20d3ac795ce44b07bbff7b1b7af

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 f57f9b3b2faeb76d6ea92e906ebba413fd0624df97c14427478f4e5c87115442
MD5 132ee61a9f11f243b1b472cb51ec3f1b
BLAKE2b-256 a0cd21d239e78c29b3c0d1502f8d633157bef913c700c7a9cc8e7e2aa90c9199

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 40a43ff4da352dc1d5dabe8050557fe0ab2cf604aadf2265a4657d9761ee7a12
MD5 ca9db19f670c7956e940350db5d02d4b
BLAKE2b-256 9522472139fdba392e805852d6d0f3a0c2d38ad824a50358892196f9a2625021

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6f8536a608634f1f469e90726819128aa7ebc4b90c9820f9a2678f2739807dec
MD5 acd068bcedc69b0ed95eaaf9c1810ea1
BLAKE2b-256 d58be3f600470f9a5a6c68b12df63ae727c9d1d5650b628c9bb21789c8636fac

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp310-cp310-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp310-cp310-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 a2e6f4074fc34af93c1d4ef77b7896624b8cbec0d652b6a3502a957d4f63431e
MD5 515efd3aed6ca0403a99de478acdcb27
BLAKE2b-256 60820d6911938f0634158ef783a2687db4c2863cb585a52431ac021bfd24d04a

See more details on using hashes here.

File details

Details for the file pysplishsplash-2.18.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pysplishsplash-2.18.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fbc60753cd6a53f1781dd1b8a850f9b25019eb85fbab7477a6dbcd4852aa158b
MD5 e783fe808bc0fee9953ef97697d93ba9
BLAKE2b-256 64be6843e2a38dbee49cd83169af38399e340fee626005d422579b9072a0c384

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.18.1 This release

13 files

2.18.0

9 files

2.17.0

15 files

2.16.1

17 files

2.16.0

17 files

2.15.1

17 files

2.15.0

17 files

2.14.1

17 files

2.14.0

13 files

2.13.2

8 files

2.13.1

10 files

2.13.0

10 files

2.12.5

10 files

2.12.4

10 files

2.12.3

10 files

2.12.2

10 files

2.12.1

10 files

2.12.0

12 files

2.11.6

12 files

2.11.5

12 files

2.11.4

12 files

2.11.3

12 files

2.11.2

12 files

2.11.1

8 files

2.11.0

8 files

2.10.1

8 files

2.10.0

8 files

2.9.2

9 files

2.9.1

10 files

2.9.0

10 files

2.8.8

10 files

2.8.7

10 files

2.8.6

10 files

2.8.5

10 files

2.8.4

10 files

2.8.3

10 files

2.8.2

10 files

2.8.1

10 files

2.8.0

10 files

2.7.0

10 files

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