Hi. I am an Assistant Professor, Dept. of Mathematics, Shiv Nadar University. I specialise in solving Partial Differential Equations using numerical methods. I am particularly fond of using OpenFOAM, an open source package for discretizing PDEs using Finite Volume Method. At present we are working on developing following modules in OpenFOAM: Shape Optimisation codes, Immersed Boundary Methods. We are also extensively using the newly developed OpenFOAM's overset mesh support to study designs of Vertical Axis Wind Turbines (VAWT).


Coupling solidBodyMotionFunction with sixDOF solver in OpenFOAM
OpenFOAM provides a solidBodyMotionFunction class which is convenient for solving flow around moving bodies. However, all the option under this class like, linearMotion, rotatingMotion, etc all seem to solve flow around presribed motion. I have written a new sixDoFDynamicMotion class, which is a child of solidBodyMotionFunction, which has a private member motion_ of the type sixDoFRigidBodyMotion. The member motion_, is responsible for integrating pressure and shear force around the given patch, and solve for the resulting translation and rotations. The resulting motion is returned as a septernion, through the transform() function. This is tested on two examples. Trajectory of a projectile motion, and a simple pendulum. Source code can be found here.

Adaptive mesh refinement in OpenFoam-v1812 for 2-dimensional problems

Standard OpenFOAM-v1812 has a module called dynamicRefineFvMesh. This adaptive mesh refinement tool does not seem to be applicable for two dimensional problems. Shonibare and Ahmad Baniabedalruhman recently described how to adapt this adaptive mesh tools for two dimensional problems. However, CFD community struggled to implement their ideas. See this cfd-online forum.

Eventually, Luca Cornolti shared a working for code for adaptive mesh refinement for 2d problems. His initial code were for foam-extend. This repository is simple adaptation Luca's work for OpenFOAM-v1812. The animated screenshot clearly shows that it works.

Adaptive mesh refinement in
                        OpenFoam-v1812
Adaptive mesh refinement in
                        OpenFoam-v1812
Adaptive mesh refinement in
                        OpenFoam-v1812

CFD Simulations of Wind Turbines

We are developing a simulation framework where it would be possible for aerodynamics engineers to easily test the efficiency of their wind turbines ... read more

Wind turbine simulation with OpenFoam

Publications


Conference Papers


Conference Organization


Blog

FVM implementation of NS Equation discretization in OpenFoam

This notes explains OpenFoam implements two of the most widely used Finite Volume discretization of Navier Stoke’s Equation: PISO & SIMPLE.

A minimal SymPy tutorial

This is a very short (but sufficient) course for learning symbolic computation, e.g, differentiation, integration, equation solving, etc, on the Python module SymPy.


Current Students