Projects in CFD and Machine Learning/Data

1.Design and manufacture of a stratified ammonia/hydrogen burner
(2019 - 2021)

Low carbon fuels such as ammonia and hydrogen require the development of novel combustion strategies before they can be employed in industrial gas turbines. In this project, RANS and LES reacting flow simulations were undertaken to understand the burner behaviour and improve design. By working with the additive manufacturing workshop, as well as using experimental data, the CAD design of the burner was iteratively improved.

Using: STAR-CCM+ (CFD), SolidWorks (CAD), Python (matplotlib, NumPy, pandas), 1D simulations (Cantera), laser doppler anemometry, assisting combustion tests.

Available in conference publication.


2. CFD-data driven chemical reactor network generation
(2021 - 2022)

The high computational cost of running high-fidelity computational fluid dynamics simulations can be reduced through representing the simulation as a chemical reactor network. In leading this project, a Python code to post-process and extract key information from CFD simulation was developed. This code automatically generated a chemical reactor network, acting like a digital twin to the burner that enables many operating variables to be tested with low simulation cost.

The k-nearest neighbours algorithm and a clustering criterion was used to identify the reactor locations and properties. This information was automatically used to generate and iteratively run a custom designed reactor network using a Python code and the Cantera library. The best clustering criterion was identified using a design of experiments (DOE) approach.

Using: STAR-CCM+ (CFD), 1D simulations (Cantera), Python (NumPy, scikit-learn, SciPy, pandas).


3. Solving the FGM-solver tabulation error caused by the preferential diffusion effects of hydrogen
(2022 - 2023)

In CFD, the flamelet-generated manifold (FGM) method can significantly reduce computational requirements by pre-tabulating important control variables. However, the effects of preferential diffusion are important in reacting flow simulations considering hydrogen and can cause significant interpolation error when extracting tabulated data. Since the data is tabulated in terms of progress variable, it is an important factor for the storage and look-up of the tabulated data.

In this work, measures were made to improve tabulation by first optimising the progress variable defintion for ammonia/hydrogen fuel blends by using a genetic algorithm. Secondly, various post-processing functions were applied to the tabulated data to find the best method of reducing interpolation error. It was found that perspective transformation mapping or a secondary normalisation stage could completely eliminate this type of error.

At the time of project conception, this was a novel error that had not been previously understood and this work was presented to STAR-CCM+ Simcenter engineers for consideration in future releases of STAR-CCM+.

Using: OpenFOAM (CFD), 1D simulations (Cantera), C++/Python (NumPy, scikit-learn, SciPy, pandas).

Available as a conference poster.


4. Development of a kinetic reaction mechanism optimised for ammonia/methane fuel blend emissions
(2021 - 2024)

NOx and unburnt fuel emissions remain a concern for the development of combustion systems running on low carbon fuels. In this project, I co-designed and developed and experimental emissions testing rig. Experimental data from this campaign was used to optimise a reaction mechanism to more accurately predict emissions of ammonia/methane fuel blends. This work included the development of a simulation and error calculation code which was coupled with brute-force and adjoint-based sensitivity analysis written in Python.

N2O is a harmful greenhouse gas with a global warming potential of ~280 times that of CO2. The most popular reaction mechanisms failed to predict N2O emissions trends entirely, due to an error with a reaction which was corrected in the developed mechanism.

Available on GitHub.

Using: 1D simulations (Cantera), Python (NumPy, pandas, matplotlib), emissions rig development and testing.