About

I'm an applied mathematician and engineer working on data-driven simulation of physical systems, combining reduced-order modeling, data assimilation, and machine learning with physics-based solvers across diverse engineering and scientific applications. Ultimately, I want to develop technologies that help us understand and address the challenges of climate change and contribute to a more sustainable future for everyone.

What I do

Simulation Systems

Reduced-order models for PDE workflows that are otherwise too slow to iterate on

I build simulation pipelines that go from a full finite element solver down to a low-dimensional approximation, without throwing away the physics, so calibration and design loops that used to take hours run in seconds.

Forecasting Pipelines

Data assimilation and uncertainty quantification for operational settings

I mostly work with Kalman-type filters, variational methods, and multi-fidelity algorithms. They all do roughly the same job: combine sparse, noisy observations with a physical model so the resulting prediction comes with a confidence interval you can trust.

Scientific Software

Research code that behaves like engineering software

I develop performant scientific software grounded in mathematical rigor and designed to deliver meaningful results across a range of engineering and scientific applications. I build with reproducibility, testing, and documentation in mind from the outset, and I make my work open source so that it can be used, extended, and built upon by anyone interested.

Compute Strategy

HPC-aware implementations for large-scale models

My day-to-day toolkit includes MPI, GPU-aware computing, and Slurm-based workflows. I use these tools to develop scalable methods that can move from small proof-of-concept problems to demanding scientific and engineering applications.

Current work

Digital twins for offshore renewable energy

Right now that's DigiOcean4Solar, an NWO Vidi project that's building a digital framework to simulate how waves, wind, and floating solar platforms interact at the scale of a whole farm. One island's wake changes the conditions the next island downstream has to be designed for, and modeling the whole farm as a system is what makes that visible ahead of time. My part is the forecasting and uncertainty quantification layer that sits on top of that.

Selected Work

Software I actually use

GridapROMs.jl

GridapROMs.jl

Reduced-order modeling toolkit for parameterised PDEs

Handles nonlinear, transient, and multi-field problems, with reduced-order algorithms that have achieved up to 100,000x speedups over full-order simulations.

Opal.jl

Opal.jl

Data assimilation across ODEs, PDEs, and reduced-order surrogates

Kalman, particle, and variational filters behind one interface, with add-ons for localisation, inflation, bias correction, and integration with ROM pipelines for efficiency.

Highlights

Recent trajectory

2026 - present

TU Delft, DigiOcean4Solar

Developing digital-twin and large-scale multiphysics frameworks for offshore floating solar farms, with a forecasting and uncertainty quantification layer that feeds into how a farm's layout and structures get designed.

2022 - 2025

PhD in Applied Mathematics, Monash University

Built reduced-order methods, novel tensor-based compression workflows, unfitted finite element techniques, and scientific software for parameterised PDEs and computational fluid dynamics.

2020 - 2021

R&D internship at CSEM

Worked on topology optimisation for compliant aerospace mechanisms under manufacturing and stress constraints, connecting numerical methods to engineering requirements.

Notes

Short writing on methods, software, and modeling practice

See all notes

Project note

Building scientific software that lasts

A short piece on how thoughtful interfaces, testing, and benchmarking help turn research ideas into reliable tools for the wider scientific community.

Performance note

The optimization behind GridapROMs.jl that isn't parallelism

A specific implementation trick from the GridapROMs.jl paper: reordering a loop, not parallelizing it, is what drives the memory savings.

Data assimilation note

Why reservoir computing fits naturally inside a bias-aware Kalman filter

Only the linear readout of an echo state network needs training, which is what makes it cheap enough to retrain repeatedly inside a filtering loop. From the Opals.jl paper.

Orientation

The whole pipeline, start to finish

My work spans mathematical modelling, numerical methods, and software engineering, from formulating a method on paper through to a package other people install and use.