Projects
Projects that I have done so far and enjoyed:
2026
- Master's Thesis: Second Order Structure-Preserving Scheme for Euler-Poisson-Boltzmann System (ongoing)
- Advisor: Dr. K. R. Arun, IISER Thiruvananthapuram, India. Collaborator: Dr. Nicolas Crouseilles, Inria Rennes, ENS Rennes & Université de Rennes, France.
- Developing first- and second-order Asymptotic Preserving (AP) collocated finite volume schemes for the Euler-Poisson-Boltzmann system.
- Code can be accessed here.
- EulerAP.jl
- A general and extendable framework for implementing Asymptotic Preserving (AP) schemes in Julia (in development).
- High-Performance Computing (HPC) Implementations
- Wrote educational code in C using Message Passing Interface (MPI), OpenMP and CUDA for BLAS level 1, 2 and 3 operations.
- Conducted scaling studies comparing CPU and multi-GPU (CUDA) implementations of large dense matrix-vector multiplication (up to \(N = 32768\)).
- Finite Element Method
- Code for Finite Element Method (FEM) in 1D and 2D, including implementations using FEniCS in Python and assignment solutions.
2025
- Universal Approximation Property of Foundation Models For PDEs
- Research stay at ETH Zürich, Switzerland (May - August 2025) under the supervision of Prof. Dr. Siddhartha Mishra, supported by the ETH4D Fellowship.
- Provided a mathematical formulation of the Geometry Aware Operator Transformer (GAOT) and proved a universal approximation theorem for it.
- Studied the universal approximation property of other operator-learning models for Partial Differential Equations (PDEs), such as the Convolutional Neural Operator (CNO) and POSEIDON.
- The preprint "On Universality of the Geometry Aware Operator Transformer" can be accessed here.
- PoissonSolver.jl
- Solver in Julia for Poisson-type linear and non-linear equations on a 2D Cartesian domain with Dirichlet, Neumann, Periodic and mixed boundary conditions.
- Parallelization is added through MUMPS.jl for distributed-memory solving on multicore architectures, benchmarked against a Block Thomas solver.
2024
- Distributed memory parallelization of Lax-Wendroff Flux Reconstruction
- Summer Student Research Programme (SSRP) at TIFR-CAM, Bangalore (June - July 2024) under the supervision of Prof. Praveen Chandrashekar, with Dr. Arpit Babbar.
- Performed distributed-memory parallelization of the Lax-Wendroff Flux Reconstruction solver TrixiLW.jl for hyperbolic conservation laws in 1D and 2D on Cartesian and curvilinear meshes using MPI.jl in Julia.
- Achieved 82.6% strong-scaling efficiency (13.2\(\times\) speedup on 16 MPI ranks) on the 2D isentropic vortex problem (\(256\times256\) cells).
- Prototyped one-sided (MPI RMA) halo exchange as an alternative communication model and tested it for the linear advection equation in 2D.
- The project report can be accessed here and the presentation slides here.
- HypSystem.jl
- Code for solving linear hyperbolic systems of equations using the Finite Volume Method in Julia.
- Nonlinear ODE Solver
- Code for numerically solving nonlinear ordinary differential equations using MPI and the MUMPS linear system solver.
2023
- MPI-based Finite Difference Method for Parallel Numerical Simulation of Linear ODEs in C++
- Applied master-worker parallel algorithm in solving linear boundary value problems with Dirichlet, Neumann, and mixed boundary conditions.
- Code for parallel implementation of ordinary differential equation solver can be accessed here.
- Serial Numerical Simulation of Linear ODEs using Finite Difference Method in C++
- Studied Finite difference method, derivative approximations for boundary value problems with Dirichlet, Neumann and mixed boundary conditions.
- Code for serial implementation of ordinary differential equation solver can be accessed here.
- Reading Project on Advance C++ and Message Passing Interface (MPI)
- Studied point-to-point and collective communication as well as blocking and non-blocking communication routines in MPI.
- Reading includes the book "Guide to Scientific Computing in C++" by Dr. Joe Pitt-Francis and Prof. Jonathan Whiteley and some online mpi-tutorial websites.
- A parallel and serial implementation of Gauss Elimination using MPI can be found here and few other related codes can be found here.
Some Other Codes (2024)
- This repository here, contains code for Message Passing Interface (MPI) in Julia.
- From simple implementations of MPI routines to code for Linear-advection equation in serial and parallel (MPI) are there.
- Codes for parallelization using Remote Memory Access (RMA), which is included in MPI 3.0, are also there for Linear Advection equation (1D and 2D).
📅 Created 0 days ago
✏️ Updated 0 days ago