Aerospace engineering · Computational fluid dynamics · Scientific computing

Computational fluid dynamics & scientific computing

Numerical methods, experimental validation and open-source software for unsteady aerodynamics, fluid–structure interaction and wind-energy systems.

Research findings

All publications
Hybrid finite-volume and vortex-particle wake simulation around a cube
Coupled finite-volume and vortex-particle wake simulation.

Scientific software · 2026

How does OpenONDA control OpenFOAM from Python?

  • CFD
  • Numerical methods
  • Scientific computing

OpenONDA exposes OpenFOAM’s finite-volume solver and a GPU-enabled vortex-particle method through Python. The framework supports in-line solver control and coupled Eulerian–Lagrangian external-flow simulations.

Repository and paper record
A transversely moving cylinder coupled to an alternating vortex wake
Transverse cylinder motion and alternating vortex shedding. Conceptual illustration.

Fluid–structure interaction · 2019

How are cylinder motion and vortex shedding connected?

  • Fluid mechanics
  • Fluid–structure interaction

Two- and three-dimensional CFD calculations resolve how Reynolds number and structural damping reshape the response branches of an elastically mounted cylinder. The analysis connects vibration amplitudes with three-dimensional wake topology across transitional flow regimes.

Original publication
Identical loaded trusses with uniform and force-scaled member thicknesses; node positions remain fixed
Member sizing under fixed loading and geometry. Illustrative truss, not a published optimum.

Structures & optimisation · 2019

How can member sizing make trusses lighter?

  • Structural mechanics
  • Optimisation

A linear scaling method turns sizing optimisation of statically determinate trusses into an iterative deterministic procedure. Benchmarks from 10 to 1,240 members compare mass reduction and constraint satisfaction with established optimisation methods.

Original publication
Coloured Voronoi cells revealing coherent double-gyre motion, with curved particle trails and no overlaid arrows
Voronoi neighbour-persistence colouring of 784 computed double-gyre tracers.

Flow diagnostics · Two studies · 2021

Can we retrieve information from sparse tracks?

  • Fluid mechanics
  • Dynamical systems
  • Flow diagnostics

The CSC study tests coherent-structure colouring on an Ahmed-body wake and a swirling jet. Detection improves with denser seeding; in the tested cases, mean inter-particle spacing below 15% of the characteristic flow scale matters more than track length.

The separate Voronoi study identifies tracers that remain neighbours and converts their shared-edge history into a spectral colour field. Tests on double-gyre flow and three-dimensional bluff-body measurements reveal coherent motion even at sparse seeding. The Python companion implements the Voronoi method on a double-gyre example.

Front-oblique square rotor crossed by horizontal force strips, with normal thrust, upward forces and rising tip-vortex paths
Actuator forcing and upward wake deflection. Conceptual illustration, not simulation output.

Wind energy · 2025

How can passive actuators accelerate wind-power recovery?

  • Wind energy
  • Aerodynamics
  • Flow control

Steady CFD and wind-tunnel data probe one-, two- and four-wing devices behind a multirotor. Wing-tip vortices lift low-momentum wake flow and increase exchange with the faster air above, producing faster wake recovery in the modelled cases.

The accompanying OpenFOAM cases represent rotor thrust and wing loading with cell selections and coded momentum sources. Rotor-only and one-, two- and four-wing layouts allow wake deflection and vertical momentum exchange to be studied without resolving the blade surfaces.

A gridded CFD wake section beside point-sampled wind-tunnel flow, with two control-wing positions
CFD fields compared with wind-tunnel samples. Schematic comparison, not validation data.

Wind energy · 2024

Why does wing arrangement change wake recovery?

  • Wind energy
  • Aerodynamics
  • CFD

An actuator-surface model is checked against wind-tunnel measurements, then used to compare one-, two- and four-wing layouts at the same total lift. Distributing the lift across more wings reshapes the tip vortices and strengthens vertical momentum exchange. In the simulated cases, the two- and four-wing layouts recover wake total pressure faster than the single-wing layout.

Original publication
Horizontal flow above a wind farm transfers momentum downward into the turbine layer
Momentum transfer into turbine wakes. Arrow widths indicate qualitative transport, not measured flux.

Wind-farm physics · 2024

Can momentum from above improve wind-farm efficiency?

  • Wind energy
  • Atmospheric flows
  • Flow control

A wind-farm-scale model examines how active control of vertical momentum entrainment could affect array performance. Its comparison curves predict smaller efficiency losses for controlled farms as installed power density increases.

Original publication
A near-body mesh around an obstacle exchanges information with a downstream wake represented by vortex particles
Near-body grid, particle wake and two-way exchange. Conceptual method illustration.

Numerical methods · 2026

How to combine grids and vortex particles in one flow solver?

  • CFD
  • Numerical methods
  • Vortex methods

A near-body finite-volume solver resolves walls while vortex particles carry the wake downstream. This three-dimensional proof of concept tests two-way coupling against fully meshed reference calculations for a cube and a NACA4412 airfoil.

Original publication
Computed rotating-frame orbits, zero-velocity boundary, Lagrange points and a Poincaré section
Computed restricted-three-body trajectories and upward-crossing Poincaré section.

Dynamical systems · 2018

What separates regular and chaotic orbital motion?

  • Dynamical systems
  • Classical mechanics
  • Celestial mechanics

This review introduces the circular restricted three-body problem through orbital resonances, Poincaré sections and KAM theory. Phase-space geometry connects the Lagrange equilibria with regular and more complex orbital motion. An accompanying Python example computes trajectories, section crossings and Jacobi-conservation diagnostics.

Tapered truss under upward nodal loads, with tension and compression members and dashed original node positions
Loading and node repositioning; member colours show axial-force sign in an illustrative linear-truss calculation.

Structures & optimisation · 2017

Can moving the nodes reduce a truss’s mass?

  • Structural mechanics
  • Optimisation

The two-dimensional truss study combines member sizing with node repositioning under stress and buckling constraints. Node shifts reduce the reported example from 15.26 to 11.60 kg, approximately 24% relative to the sized layout. Compression-member buckling governs much of the remaining design margin.

Original publication
Three stages of coaxial vortex rings contracting, passing through each other and exchanging positions
Leapfrogging vortex rings: particle cores, contraction and expansion. Conceptual method illustration.

Meshless CFD · 2026

How can vortex particles model turbulent flow?

  • CFD
  • Turbulence
  • Vortex methods

A Lagrangian dynamic subgrid model and core-spreading diffusion are assessed using vortex rings and leapfrogging rings. The preprint reports accurate ring kinematics with sparse particles, while post-instability behaviour remains sensitive to particle regularisation.

Original preprint
Computed recirculating streamlines in a square lid-driven cavity at Reynolds number 100
Cavity flow computed with the repository’s projection solver.

Scientific software · Incompressible flow

Lid-driven cavity flow

  • Fluid mechanics
  • Numerical methods

A moving lid drives circulation inside a closed square cavity. This Python implementation advances velocity on a staggered grid and applies a pressure projection using a discrete cosine transform. The example shows the primary recirculation and corner motion produced by the wall boundary conditions.

Code and examples ↗
Unstructured mesh samples mapped to regular gridded velocity slices
Cell-centred samples, local interpolation and structured flow sections. Conceptual workflow illustration.

Scientific software · Flow analysis

From OpenFOAM fields to Python arrays

  • CFD
  • Scientific computing
  • Flow diagnostics

OpenFOAM velocity and pressure fields are read through fluidfoam and resampled using local radial-basis interpolation. Regular NumPy arrays support velocity profiles and planar sections. The repository includes a direct plotting example and the original notebook-based workflow.

Code and examples ↗