PySPH: a Python-based framework for smoothed particle hydrodynamics

Prabhu Ramachandran, Aditya Bhosale, Kunal Puri, Pawan Negi, Abhinav Muta +15 more
9/10/2019
physics.comp-phcs.MS

Official code: pypr/pysph (548 stars, last commit 2026-08-23).

Abstract

PySPH is an open-source, Python-based, framework for particle methods in general and Smoothed Particle Hydrodynamics (SPH) in particular. PySPH allows a user to define a complete SPH simulation using pure Python. High-performance code is generated from this high-level Python code and executed on either multiple cores, or on GPUs, seamlessly. It also supports distributed execution using MPI. PySPH supports a wide variety of SPH schemes and formulations. These include, incompressible and compressible fluid flow, elastic dynamics, rigid body dynamics, shallow water equations, and other problems. PySPH supports a variety of boundary conditions including mirror, periodic, solid wall, and inlet/outlet boundary conditions. The package is written to facilitate reuse and reproducibility. This paper discusses the overall design of PySPH and demonstrates many of its features. Several example results are shown to demonstrate the range of features that PySPH provides.

View on arXivView PDF

Code Implementations(1)

pypr/pysphOfficial100%

A framework for Smoothed Particle Hydrodynamics in Python

548153C++, MakoMay 25, 20172 months agoNOASSERTION
cythonfluid-simulationframeworkgas-dynamicshigh-performance-computing+6 more

Similar Papers

Cite this paper

@article{ramachandran2019pysph,
  title  = {PySPH: a Python-based framework for smoothed particle hydrodynamics},
  author = {Prabhu Ramachandran and Aditya Bhosale and Kunal Puri and Pawan Negi and Abhinav Muta and A Dinesh and Dileep Menon and Rahul Govind and Suraj Sanka and Amal S Sebastian and Ananyo Sen and Rohan Kaushik and Anshuman Kumar and Vikas Kurapati and Mrinalgouda Patil and Deep Tavker and Pankaj Pandey and Chandrashekhar Kaushik and Arkopal Dutt and Arpit Agarwal},
  year   = {2019},
  eprint = {1909.04504},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1909.04504}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1909.04504.svg)](https://codeofpaper.com/paper/1909.04504)

Discussion