HomeEnergy & ThermodynamicsMetal Hydride Hydrogen Storage: Diffusion-Limited Particle Model

Metal Hydride Hydrogen Storage: Diffusion-Limited Particle Model (2D)

Interactive 2D reaction-diffusion simulator of hydrogen absorption in a metal-hydride grain: watch a radial concentration front move through a spherical particle cross-section as hydrogen diffuses in from the surface, governed by the real van 't Hoff equilibrium and an Arrhenius diffusivity that makes MgH2 kinetically frozen at room temperature.

Energy & Thermodynamics2DAdvanced60 FPS📱 Mobile-adapted⇄ 3D version
2d-hydrogen-fuel-storage-metal-hydride ↗ Open standalone

Real metal-hydride powder beds are made of countless small grains, and hydrogen doesn't fill each grain instantly — it has to diffuse in from the surface, through whatever has already reacted, to reach the untransformed core. This 2D simulator resolves exactly that: a single spherical alloy grain is discretized into concentric shells, and Fick's second law is solved on that grid every frame, with the gas-phase exchange (governed by the same van 't Hoff equilibrium pressure as the flagship 3D version) acting only at the outer surface. The result is a real concentration front that sweeps inward during charging or outward during discharging, at a speed set by each alloy's own diffusivity — slow and heat-activated for MgH2, fast at room temperature for LaNi5 and TiFe. Pick an alloy, drive the grain with temperature and applied pressure, and watch the front move.

⚙ Under the hood

Watch a real concentration front sweep through a spherical metal-hydride grain: this 2D reaction-diffusion model solves Fick's second law radially, driven at the surface by the same van 't Hoff equilibrium as the 3D version, so MgH2's slow real-world diffusivity leaves its core kinetically frozen at room temperature while LaNi5 and TiFe diffuse through fast.

hydrogen storagemetal hydridevan't Hoff equationreaction-diffusionFick's lawshrinking core modelenergythermodynamics

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)