Nilotpal Chakraborty
Nilotpal Chakraborty

Nilotpal Chakraborty

PhD candidate, Mechanical Engineering, Virginia Tech · PhD conferred May 2027

I work out what a simulation result is entitled to claim, and build whatever is missing to get it. Most of that happens inside other people’s codes. Finding the defect that nothing reports. Writing the special functions because the solver ships no maths library. Packing a per-particle state channel into the bits of a float because the API carries no state.

My application domain is particle ingestion in gas-turbine compressors: 100M+ cell campaigns on HPC, in the Pratt & Whitney–Rolls-Royce Academic Alliance. The portable part is the machinery, not the domain.

Work-authorised on OPT with the STEM extension: up to three years, no day-one sponsorship required. Available June 2027.

5defects found in code I did not write, none of which crashed
9code repositories below, each with a measured result
100M+cell full-annulus campaigns on HPC
~1,200lines of numerical library inside a closed commercial solver

What I do, in five pieces

Find what a solver gets wrong. Build what its API will not give you. Decide whether something faster can replace it. Make the runs finish. Decide whether the answer can be trusted. One page each, and the code behind all of them is below.

I found five defects in code I did not write, and none of them crashed

A surface-tension model that fails above Re ≈ 10³, reported, and the maintainers' fix is now in a CMAME paper that acknowledges me. A commercial solver that silently displaces particles crossing a stage interface. The same solver handing a routine one reference frame and reading its answer in another. An undocumented limit that truncates a cascade after three generations, found by reconstructing lineage. And a constant disagreeing with its own derivation. Read →

Deciding whether a reduced-order model can be trusted

I verified a fast model against the simulation it is meant to replace. The derivation held, one constant in the code was wrong, it beats the published relation it extends by a factor of seventeen, and it stops working at a diameter I could predict two independent ways. The hardest test was the one nobody had run. Read →

I gave a commercial solver a feature its API does not have

Damage history had to survive a Lagrangian track across MPI ranks, but the solver carries one float per particle. So the history went inside the float. Read →

I made simulations possible that the group could not run before

Adding cores made the workstation slower. A scaling study across four machines separated what decides whether a job runs at all from what decides how fast, and took a month-long simulation to about a week. Then the same question about the output: 4.6% of the particles turned out to be writing 92% of the impacts. Read →

Five times a computable number turned out to mean nothing

Counting rows instead of events. A metric set by an arbitrary cutoff rather than by physics, moving by a factor of 22 while the quantity that mattered moved 2%. The same symbol meaning two things, worth a 2.7-fold difference in what an experiment would be fed. A value censored by its own definition. And one of my own scripts printing something it was not entitled to print. Read →

Code

Find what a solver gets wrong

Build what its API will not give you

Make the runs finish, and the output readable

Numerical methods, measured against exact answers

Elsewhere

Acknowledged in Zhang, Lourenço & Hu, Computer Methods in Applied Mechanics and Engineering 444 (2025). Also acknowledged in Estes et al., Aerospace 12 (2025) 1038, for contributions to the Virginia Tech modelling effort. Second author on a multiphase perfusion model in Experimental and Computational Multiphase Flow (2023). A first-author manuscript on particle rebound and breakage modelling is under review, with further dissertation manuscripts and two second-author submissions to ASME Turbo Expo 2027 in preparation.

Pratt Fellowship, Virginia Tech College of Engineering (2022) · Summer Cunningham Fellowship, VT Graduate School (2026) · Mitacs Globalink Research Fellowship (2019) · Shastri Research Fellowship (2019).