Kwame Sellick-Cole
← All projects
CourseworkIndividual project

Hydrogen reduction of iron oxide for iron-fuel cycles

A particle-scale model of how hydrogen reduces hematite to iron, verified against an analytical solution, with an interactive viewer of precomputed simulation results.

Context
TU/e coursework, Interfacial Transport Phenomena (4BM60) · 2026
Role
Individual project
Tools
MATLAB, Python (viewer data)
  • MATLAB
  • 3-front shrinking-core model
  • Reaction kinetics
  • Mass transfer
Screenshot of the interactive viewer: a particle cross-section with coloured oxide layers next to a conversion-history chart Interactive Open the particle viewer

An interactive viewer of precomputed simulation results. Play the reduction, drag through time, and watch the three reaction fronts move through the particle.

Data: transport-inclusive model · 100 µm · 800 °C · pure H₂ · 1 atm

Open viewer →

Problem

Iron powder can act as a recyclable, carbon-free fuel. Burning it releases heat and leaves iron oxide, and hydrogen can turn that oxide back into iron to be burned again. The regeneration step sets how large and how hot a reduction reactor must be, so it matters how fast a particle reduces and which mechanism limits the rate.

Above about 570 °C, hydrogen removes the oxygen in three steps, each happening at its own sharp front moving into the particle:

3 Fe₂O₃ + H₂ → 2 Fe₃O₄ + H₂O
Fe₃O₄ + H₂ → 3 FeO + H₂O
FeO + H₂ → Fe + H₂O

My contribution

An individual coursework project. I built the particle models in MATLAB, verified them, and produced the interactive viewer of the transport-inclusive results.

Approach

Figure 1. Model setup. A fixed bed of oxide particles, and the three-interface shrinking-core picture of one particle: each oxide layer shrinks towards the centre as hydrogen diffuses in and water vapour diffuses out.Reproduced from Salucci et al. (2024), Chemical Engineering Science 292, 119934, Fig. 2.

I worked with two versions of the model:

  • Transport-inclusive model. Includes the external gas film and diffusion through the product layers, as well as the reactions at the three fronts. Over particle sizes of 20–200 µm and 700–800 °C, the reactions took more than 98.5% of the driving force and temperature differences stayed below 0.05 K.
  • Reaction-controlled model (final MATLAB model). Because the reactions dominate, it uses the bulk gas composition at every front. Each front then moves at a constant speed, and its position has a closed-form solution.

Base case: a 100 µm hematite particle at 800 °C in pure hydrogen at 1 atm, with initial porosity 0.10. Kinetic constants come from fixed-bed experiments reported by Salucci et al. (2024).

Results

Reaction-controlled MATLAB model

For the base case (100 µm, 800 °C, pure H₂, 1 atm), oxygen removal reaches 50% in 3.0 min, 90% in 11.8 min and 99% in 19.0 min. The hematite is fully converted after 6.2 min, and wüstite dominates in between.

Figure 2. Main result. Oxygen conversion and phase fractions (iron basis) against time for the base case: 100 µm, 800 °C, pure H₂, 1 atm, reaction-controlled model.

Verification. A single-front version of the numerical solver matches the analytical solution, X = 1 − (1 − t/τ)³, to a relative error of 1.7 × 10⁻¹⁰ in t₉₀. Iron and oxygen are conserved to within 2 × 10⁻¹⁶ and 2 × 10⁻⁶. This verifies the numerical implementation; it does not show that the model matches real particles. Experimental validation would be a separate step.

Figure 3. Verification. Single-front conversion, numerical solution (line) against the analytical solution (markers), same conditions as the base case. The dashed curve is the three-front model, shown for comparison.

Transport-inclusive data in the viewer

The viewer shows a separate dataset from the transport-inclusive equations, under the same conditions plus 12 nm pores and a tortuosity of 6.3. It reaches 95% oxygen removal in about 14.6 min. The data was generated by integrating the transport-inclusive equations in Python (SciPy BDF, relative tolerance 10⁻⁷); oxygen balances close to 3.5 × 10⁻⁷. It has not yet been cross-checked against a MATLAB run, and some of its transport and gas-property inputs are provisional, so its times are indicative.

The two models differ, and t₉₀ and t₉₅ are different measures, so the 11.8 min and 14.6 min figures should not be compared directly.

Limitations

  • The kinetic constants were fitted on hematite fines smaller than 5 µm; this is the main uncertainty for a 100 µm particle.
  • The reaction entropies are placeholders tuned to the Baur–Glässner diagram. They do not matter in pure hydrogen, far from equilibrium, but would with steam in the feed.
  • Some transport and gas-property inputs in the viewer dataset are provisional.
  • The particle is assumed isothermal, with constant radius and sharp fronts. Below 570 °C the direct Fe₃O₄ → Fe path is not implemented.