




FESTIM in 2026: what the code can do for tritium modelling
Rémi Delaporte-Mathurin, on behalf of the whole FESTIM community
50th Tritium Focus Group | Aiken, SC | October 2026
Diffuse, trap, react, release
One framework for solids, liquids, gases and the interfaces between them
Zoom in: the wall at atomic scale
mobile hydrogen: diffusion, drift, sources
one equation per species
FESTIM on one slide
- 1D, 2D, 3D, up to CAD-meshed components
- Multi-material, multi-isotope, arbitrary species and reactions
- Traps, surface kinetics, Sieverts / Henry, coupled heat transfer
- Python API: physics vocabulary, no finite elements exposed
- Built on FEniCSx, MPI-parallel
- Open source (Apache 2.0), on conda-forge
import festim as F
model = F.HydrogenTransportProblem()
model.mesh = F.Mesh1D(np.linspace(0, 1e-3, 1001))
steel = F.Material(D_0=1e-7, E_D=0.2)
bulk = F.VolumeSubdomain1D(1, borders=[0, 1e-3], material=steel)
left = F.SurfaceSubdomain1D(1, x=0)
right = F.SurfaceSubdomain1D(2, x=1e-3)
model.subdomains = [bulk, left, right]
T = F.Species("T")
model.species = [T]
model.temperature = 600
model.boundary_conditions = [
F.FixedConcentrationBC(left, value=1e20, species=T),
F.FixedConcentrationBC(right, value=0, species=T),
]
model.exports = [F.SurfaceFlux(field=T, surface=right)]
model.initialise()
model.run()What people use it for

Retention in a divertor monoblock

ARC breeding blanket

Heat exchanger contamination

Tritium permeator probe

TDS spectrum fitting

Hydrogen in a microstructure
Tritium inventory in ITER

HISP, an open-source workflow built on FESTIM, with the ITER Organization: how much tritium stays in the wall, and how well can we get it out?
■ tungsten ■ boron co-deposit
HISP wall bins, from the open data
Plasma code outputs
fluxes, heat loads
Wall split in bins
first wall + divertor
1D FESTIM model
per bin, W or B
2-week DT scenarios
baking, GDC, DD
→
→
→
K. Dunnell, A. Lleal, E. A. Hodille, J. Dufour, R. Delaporte-Mathurin, T. Wauters, Hydrogen Inventory Simulations for PFCs (HISP), Nucl. Mater. Energy (2026)

Can you trust it?
Verification
- 650+ tests on every push and pull request, on two DOLFINx versions
- ~60 system tests against manufactured and exact solutions, 1D to 3D
- The TMAP benchmark suite
- Cross-checked against TMAP8, and independently against MHIMS and mHIT
Validation
- 8 experimental campaigns: permeation, retention in damaged W, Be co-deposition, H in Ti, EUROFER
- BABY-1L breeding campaign (MIT, ClLiF): calibrated on 4 runs, predicts 2 withheld runs without recalibration
H. Yang et al., in preparation
Every case is a runnable script. The report rebuilds from them, in public.
festim-vv-report.readthedocs.io
What's new: FESTIM 2
2019 to 2024 | FESTIM 1
- Legacy FEniCS
- One mobile species + traps
- Change of variable at interfaces
- Validated against experiments
2024 to today | FESTIM 2
- DOLFINx
- Arbitrary species: H, D, T, HT, DT...
- One field per material
- ~11× faster, MPI-native
Dark, Delaporte-Mathurin, Dokken et al., FESTIM v2.0, Int. J. Hydrogen Energy 220 (2026)
And since this summer, v2.2
Gas enclosures and pumps
NEW
Permeation rigs, double-walled pipes, purged gaps, gloveboxes: a wall feeding a gas volume whose pressure feeds back on the wall.
- Pressure is one extra unknown, solved together with the wall (implicit)
F.GasSpecies,F.Enclosure; surfaces exchange via Sieverts or surface reactions- A
Pumpis an opening on the enclosure; a purge stream is the same object

Two membranes with a pumped gap. Pump on: gap pressure 25 Pa → 0, hydrogen reaching the second membrane down ~5 orders of magnitude.
Fast lanes: grain boundaries
NEW
Subdomains can now be one dimension lower than the mesh: grain boundaries, thin films, coolant channels.
Here: hydrogen reaches depth through the boundary network long before the bulk front arrives.
gb = F.VolumeSubdomain(
id=2,
material=gb_material,
dim=1, # a line in a 2D mesh
locator=on_boundaries,
)Much of this built by FESTIM Fellow Ian Wojtowicz (U. Minnesota)
Drift terms
NEW
Hydrogen does not only follow its own gradient: it drifts with temperature, electric potential, stress, and flow.
Soret (thermodiffusion) SoretTerm
Electromigration ElectromigrationTerm
Stress-assisted diffusion
Advection AdvectionTerm
Long requested by users. Each drift is one more term in the weak form, so it works with multi-material, manifolds, enclosures and coupled heat transfer.
Hydride formation
IN PROGRESS
v2.2 makes reaction classes generic: hydrogen in solid solution and in hydrides become two species linked by user-defined reactions.
HNGD model written as custom Reaction classes, no hydride-specific solver. FESTIM runs of the three test cases of Passelaigue et al., J. Nucl. Mater. 544 (2021).
Getters and storage beds are natural next targets.
Work by Chirag Khurana (MIT) | festim-dev/FESTIM issue #1123
Multiphysics, multi-code coupling
OpenMC: tritium source

OpenFOAM: velocity

FESTIM: tritium

openmc2dolfinx and foam2dolfinx pass fields straight into FESTIM.
ARC breeding blanket: ~243 mg tritium inventory | Dark, Sircar, Bae, Dokken & Delaporte-Mathurin, arXiv:2608.05398
And up to the fuel cycle: FESTIM components plug into PathSim system models
Teaser on interfaces
In FESTIM 2, users now have several modelling options for the interface condition
Equilibrium
continuous chemical potential (Sieverts)
Kinetic
finite-rate exchange across the interface
Surface reaction
recombination, dissociation, isotope exchange
When is equilibrium wrong, and what does it change?
Next talk: James Dark, MIT PSFC
A community project

30+ contributors
30+ institutions
8k forum views / month
Apache 2.0
NumFOCUS affiliated
Interactive tutorials, nothing to install: festim-workshop.readthedocs.io
conda install -c conda-forge festim | Monthly dev meetings, open to all | Discourse and Slack
The FESTIM Fellowship
From FESTIM user to FESTIM expert in your organisation, by working on your own project with the development team.
Your project
A real application drives the learning
~10 weeks
At least 25% of your time, alongside your job
Remote or at MIT
Weekly 1:1 time with lead developers
No fees
Supported by your employer
Fellows leave with at least one of:
- A robust, reproducible simulation of their application
- A contribution to the FESTIM codebase, or a new V&V case
- FESTIM integrated into a wider modelling workflow
"Even though it's quite nice to be the FESTIM 2 expert on site (!!!), I would absolutely recommend the programme to my colleagues."
Tez Orr, UKAEA, first FESTIM Fellow
Our 2026 Fellows
Tez Orr First Fellow
Now UKAEA's resident FESTIM expert, contributing to LIBRTI and STEP

Arpan Sircar Summer
Tritium uptake in sweep gases from lithium ceramic blankets

Ian Wojtowicz Summer
Hydrogen retention in topologically complex multi-material geometries

Emre Yildirim Summer
Macro2Micro: taking FESTIM through the length scales

Christopher Soika Fall
HCPB breeding blanket tritium transport model in FESTIM 2, on site at MIT PSFC

Andrea Di Maio Fall
Periodic boundary conditions and component-to-system coupling with PathSim
Want to join the next cohort? Come find James or me this week.
Thank you
Questions?
github.com/festim-dev/FESTIM
festim.readthedocs.io | festim-workshop.readthedocs.io
Try it in your browser: the workshop tutorials run on Binder, no install
Fellowship: festim.readthedocs.io/en/latest/fellowship.html
Next: James Dark, kinetic interface models with FESTIM

TFG 2026 FESTIM
By Remi Delaporte-Mathurin
TFG 2026 FESTIM
FESTIM status update, 50th Tritium Focus Group, Aiken SC, October 2026
- 53