Research

Overview

Broadly, my current area of research is in the development of methods, algorithms, and tools for particle-based methods. One of the major advantages of particle methods is that they are mesh-free and this allows for very interesting computations. The current focus is on the Smoothed Particle Hydrodynamics (SPH) but not necessarily restricted to it. For example, Molecular Dynamics (MD) is also an area of interest although we are not actively pursuing any specific problems. However, the tools we build can be easily used for MD as well. Other areas of interest are the vortex method in two and three dimensions although we are much more active in the area of SPH currently.

There are multiple aspects that are of direct interest to our group:

  1. Development of robust, accurate, and fast algorithms/techniques/methods that allow us to simulate a variety of practical problems.
  2. Development of computational tools to facilitate the above.
  3. Apply the tools built to interesting problems.

In this context there are multiple areas of possible research.

  • Development of improvements in the various methods themselves, for example new and accurate SPH techniques. Here are concrete examples from our group (see Publications for details):
    • Use of approximate Riemann solvers for the GSPH scheme.
    • New Entropically Damped Artificial Compressibility SPH scheme.
    • New Dual-Time SPH scheme for incompressible fluid simulation.
  • Extension or modification of numerical techniques to make it possible to solve practical problems of interest. For example, we are currently working on an improved outlet boundary condition for the SPH, in order to simulate wind-tunnel type flow problems.
  • Development of high quality, general-purpose, high-performance, open source software to perform these computations.
    • PySPH: is our Python based SPH framework.
    • compyle: is a tool that allows us to generate HPC code from pure Python.
    • PyZoltan: a library for distributed HPC computations.
    • automan: a library for reproducible computing and research.
  • Application of the tools like PySPH for a variety of practical applications.

There are many interesting things to do in this context. We like to make all our work available via an open source license. We care about reproducibility and all of our recent papers are fully reproducible with our automan automation framework.

To get a rough idea of the recent work we have done please see the Publications page.

Particle methods

SPH

Our group has been building a powerful framework for particle simulations called PySPH. PySPH is an open source framework for Smoothed Particle Hydrodynamics (SPH) simulations (see the PySPH documentation for details). The framework allows users to write SPH simulations in pure Python and generates high-performance code that can be run in serial, or on multiple CPU cores, or on a GPU, or on multiple computers via MPI. This framework has been under development at IIT Bombay by my students and myself. The latest development version is available at github.

Here are some older videos made using PySPH.

Vortex methods

In the past, I have been involved in the development and study of a high resolution random vortex method to simulate 2D incompressible, viscous fluid flows. The pictures you see in this page do not represent very high-resolution simulations but are pretty pictures used to show the power and utility of particle methods. If you want more details (technical or otherwise) on the vortex method please check my Publications page for more details.

Traditional computational fluid dynamics (CFD) requires the use of a computational grid. In contrast, particle methods avoid the use of a grid and track particles carrying fluid properties. The lack of a grid allows us to handle complex geometries relatively easily and minimizes numerical diffusion due to the grid. The difficulty with the method is that it is harder to implement. However, once implemented the method is very useful.

images/naca0012_f60_a0_w.gif

A NACA0012 airfoil at 0 degree angle of attack and with a split flap deflected by 60 degrees.

Below we have a pretty animation of a heaving ellipse and the vorticity it sheds. This is part of work done by Ranjan Das for his BTech. project on flapping wings.

images/flapping_ellipse_web.gif

An animation of a flapping ellipse.

Scientific data visualization

I am also interested in scientific data visualization but this is entirely from an applied perspective. This work is primarily centered around VTK and Mayavi. Mayavi is a 3D scientific data visualization tool written in Python by me and other collaborators. More information on it is available from my Software page and from the links there.