Skip to main content
Industrial Research And Consultancy Centre
A general-purpose, high-performance, framework for smoothed particle hydrodynamics
A general-purpose, high-performance, framework for smoothed particle hydrodynamics

The smoothed particle hydrodynamics (SPH) method is a general-purpose numerical method that can be used to simulate a wide variety of problems. These problems range from astrophysics, incompressible and compressible fluid dynamics, to structural dynamics problems. SPH is a particle-based method and works by representing continuous fields using a collection of moving particles. The method does not depend on a fixed mesh and therefore works well for complex geometries, free-surface, and multi-physics problems.

While writing a basic SPH code is fairly simple, it is difficult to build a general purpose and high performance code using the SPH to solve a variety of problems. Our research is working towards building a powerful, but relatively easy to use framework for performing SPH simulations. Our framework is also open source and freely available. Our goal is to make it easy for researchers to develop their own SPH schemes and also apply the SPH using the tools we provide.

The framework we are working on is called PySPH (http://pysph.readthedocs.io/). This is a Python based framework. Python is a powerful and easy-to-learn programming language that is very popular. The PySPH framework allows a user to write a complete SPH code using Python. High performance code is automatically generated for the user and runs efficiently. The resulting code can use multiple cores using OpenMP as well as multiple computers efficiently using MPI. This allows users to write their codes very easily without sacrificing computational performance. Furthermore, the framework already implements several popular SPH schemes and these maybe used to solve problems. Users can also easily write their own SPH schemes. We are currently adding support to run the code on GPGPUs (General Purpose Graphics Processing Units) as well. PySPH provides a convenient visualisation tool to view the results from the simulation. Our code is already being used by several people across the world. We are also developing new schemes and algorithms to improve the SPH method.

The picture on the left below shows a free surface problem where water is released from a dam inside a vessel and splashes against a shape that spells ‘SPH’. The picture on the right is a simulation of two steel rings colliding elastically.

Videos of these simulations are available online.

Prof. Prabhu Ramachandran