FESTIM: Finite Element Tritium Simulation
- FESTIM is an open-source finite element framework for modeling hydrogen isotope transport, capturing diffusion, trapping, and surface reactions in materials.
- It features a modular, Python-based architecture built on DOLFINx/FEniCSx for high-fidelity simulations in 1D to 3D geometries.
- FESTIM interoperates with CFD and neutronics tools, enabling integration of detailed transport modeling into broader fusion and materials workflows.
FESTIM, expanded in the recent literature as Finite Element Simulation of Tritium In Materials, is an open-source finite-element framework for modelling the transport of hydrogen isotopes in materials. It originated in fusion-relevant tritium transport, but is now presented more broadly as a flexible and extensible platform for hydrogen transport in solids and fluids across fusion engineering, permeation experiments, breeder blankets, plasma-facing components, tritium extraction systems, hydrogen storage, fission-related systems, and related materials science. In current work, FESTIM appears both as a stand-alone high-fidelity transport code and as a transport engine embedded in larger workflows, with capabilities spanning diffusion, trapping, surface interactions, multi-species reaction networks, advection, generalized interface conditions, and interoperability with external CFD and neutronics tools (Dark et al., 29 Sep 2025, Kulagin et al., 2024, Delaporte-Mathurin et al., 20 Mar 2026).
1. Scope and conceptual role
FESTIM is defined in the recent literature as an open-source finite-element framework for modelling hydrogen-isotope transport in materials. Earlier work describes it as a user-accessible Python-based code for hydrogen transport coupled with heat transfer in 1D–3D, multi-material geometries, while the v2.0 release recasts it as a broader reaction–transport framework for hydrogen isotopes in both scientific and engineering applications (Kulagin et al., 2024, Dark et al., 29 Sep 2025).
A central feature of its positioning is that FESTIM is not treated as a universal replacement for reduced-order models. In the multi-fidelity tritium fuel-cycle workflow built around PathSim/PathView, FESTIM occupies the highest-fidelity layer: zero-dimensional residence-time models remain useful for whole-system scoping, intermediate 1D ODE models remain useful for component-specific reductions, and FESTIM is inserted where lower-order descriptions are no longer physically adequate. The representative cases named for this transition are breeding blankets and plasma-facing materials, where spatial effects, material interfaces, and complex transport phenomena become decisive (Delaporte-Mathurin et al., 20 Mar 2026).
The same distinction between transport engine and workflow layer appears in reactor-scale inventory studies. In HISP, FESTIM is the actual hydrogen-isotope transport solver, while HISP performs the plasma-code preprocessing, spatial binning, scenario definition, and material assignment required to make many 1D FESTIM calculations represent the ITER first wall and divertor. This suggests that FESTIM’s principal identity is as a reusable transport kernel whose physical fidelity can be deployed selectively inside larger simulation ecosystems rather than only as a monolithic application (Dunnell et al., 6 Apr 2026).
2. Software architecture and evolution
The evolution from earlier FESTIM releases to FESTIM v2.0 is both a physics expansion and a software redesign. Earlier versions were built on legacy FEniCS 2019.1 and, according to the v2.0 paper, were constrained by an architecture that applied physics globally, had limited extensibility, and treated material interfaces mainly through a change-of-variable formulation. FESTIM v2.0 is rebuilt on DOLFINx/FEniCSx, specifically DOLFINx, UFL, FFCx, and Basix, and adopts a modular object-oriented structure with per-subdomain physics assignment, multiple explicit and implicit species, generic reaction networks, advection, generalized boundary and interface conditions, and direct interoperability with external multiphysics tools (Dark et al., 29 Sep 2025).
That modularity is organized around explicit software abstractions. Subdomain objects are central; materials are associated with subdomains; species are represented as objects and may be explicit mobile species, explicit immobile species, or implicit algebraic species; reactions are separate objects; and sources, advection terms, interface laws, boundary conditions, surface reactions, and export routines are likewise modular. The transport kernel is also separated from thermal modelling through a dedicated HeatTransferProblem class, so temperature can be solved internally or supplied externally (Dark et al., 29 Sep 2025).
The project is also presented as infrastructure rather than merely as a research prototype. FESTIM v2.0 is open source under Apache-2.0, distributed on PyPI, developed openly on GitHub, and supported by CI, tests, documentation, tutorials, and contributor guidance. It supports 1D through 3D meshes, including higher-order triangles, tetrahedra, quadrilaterals, and hexahedra, and can use built-in 1D mesh generation, native DOLFINx mesh constructors, or imported meshes from Gmsh, SALOME, fTetWild, and meshio-converted formats (Dark et al., 29 Sep 2025).
A major intermediate step before v2.0 was FESTIM 1.3, which introduced an explicit kinetic surface model. That addition is notable because it separated adsorbed surface hydrogen from absorbed bulk hydrogen and treated the two populations as dynamically distinct, rather than relying only on concentration-dependent surface boundary conditions expressed through dissolved hydrogen in the near-surface bulk (Kulagin et al., 2024).
3. Transport formulations and constitutive models
At the physics level, FESTIM v2.0 formulates one conservation equation per species. In the description given there, each species balance contains diffusion, an external volumetric source or sink, a local coupling term accounting for trapping, detrapping, decay, isotope exchange, and other reactions, and a prescribed advection term. Species may be mobile or immobile, with immobile species defined by setting . FESTIM also introduces implicit species for algebraic constraints; the canonical example is the empty-trap relation , which avoids introducing unnecessary PDEs while preserving site balance (Dark et al., 29 Sep 2025).
Reaction kinetics are treated as a first-class abstraction. The v2.0 paper represents generic reactions in a unified formalism and uses that structure to encode standard trapping and detrapping, multi-level trap occupancy, mixed-isotope occupancy, isotope exchange, and radioactive decay. Standard reversible trapping is written in McNabb–Foster form for one mobile species and one trapped species, and the same machinery is generalized to multilevel occupancy and mixed-isotope trap states. A concrete architectural implication is that radioactive decay and isotope swapping are not handled as special hard-coded terms but as instances of the same reaction-network abstraction (Dark et al., 29 Sep 2025).
Surface physics entered FESTIM in two complementary ways. The earlier code already supported surface processes dependent on dissolved hydrogen concentration, which is appropriate when surface processes are effectively equilibrated with subsurface transport. FESTIM 1.3 added an explicit kinetic surface model in which an adsorbed surface concentration obeys the boundary balance
with defined as a very general user-specified net vacuum/gas-to-surface term. This formulation was used to represent adsorption, desorption, recombination, Eley–Rideal-like abstraction, and other low-energy surface processes in 1D hydrogen-transport problems (Kulagin et al., 2024). In v2.0, surface reactions are further generalized so that boundary kinetics can automatically generate Neumann-type fluxes from reaction rates, including recombination and dissociation for one or multiple isotopes (Dark et al., 29 Sep 2025).
Material interfaces are another major component of the framework. The v2.0 paper generalizes interface and boundary conditions and supplements the older change-of-variable treatment with discontinuous Galerkin / Nitsche and penalty formulations. In the HYPERION FLiBe study, FESTIM enforces local thermodynamic equilibrium at the molten-salt/nickel interface by combining Henry-law solubility in FLiBe with Sieverts-law solubility in nickel. In HISP, multi-isotope transport uses shared trap populations, so a trap may be occupied by deuterium or tritium; direct isotope swapping is not included there, but thermal-detrapping-mediated exchange is sufficient to produce D-for-T replacement during deuterium cleaning pulses (Yang et al., 12 May 2026, Dunnell et al., 6 Apr 2026).
4. Embedding FESTIM in coupled workflows
The most explicit systems-integration example is the PathSim/PathView fuel-cycle workflow. PathSim is described as arranging component models of varying fidelity inside a global timestepping loop, from static and residence-time blocks to full FEM model integrations with FESTIM, while PathView serves as the graphical front end used to assemble, inspect, and run those models. In this architecture, FESTIM appears as an externally wrapped component block embedded within a larger system simulation. For the slab demonstration problem, the block inputs are the imposed boundary concentrations and the outputs are the boundary hydrogen fluxes. For the depleted-source verification case, FESTIM provides the wall-permeation flux at each time step and the surrounding system model updates the enclosure pressure through the ideal gas law, thereby changing the boundary condition for the next step (Delaporte-Mathurin et al., 20 Mar 2026).
HISP exemplifies a different integration pattern. There, FESTIM v2.0 serves as the transport engine in a reactor-scale workflow that bridges plasma edge codes and material transport. Spatially resolved particle and heat loads from SOLEDGE3X-EIRENE, SOLPS-ITER, and SMITER are transformed into spatially averaged bins representing ITER first-wall and divertor regions. Each bin is then solved as an independent 1D FESTIM problem with prescribed source and temperature histories. FESTIM is therefore used directly, not as a surrogate, but only after the reactor geometry and operational schedule have been reduced into a form tractable for many repeated 1D transport calculations (Dunnell et al., 6 Apr 2026).
FESTIM v2.0 also supports interoperability-based multiphysics coupling. For CFD workflows, the companion package foam2dolfinx reads OpenFOAM fields and maps them to DOLFINx functions, including velocity, temperature, and turbulent-diffusivity fields. For neutronics workflows, openmc2dolfinx converts OpenMC VTK tallies into DOLFINx functions, allowing FESTIM to consume imported volumetric source fields such as tritium generation rate or nuclear heating. The lid-driven cavity example in the v2.0 paper shows imported OpenFOAM velocity driving a hydrogen advection–diffusion calculation, while the lithium-cube example shows imported OpenMC tritium-generation tallies acting as the source term in a steady-state transport calculation (Dark et al., 29 Sep 2025).
5. Representative application domains
The recent FESTIM literature spans workflow demonstrations, validation studies, inverse permeation inference, and reactor-scale inventory estimation.
| Domain | FESTIM role | Representative study |
|---|---|---|
| Fuel-cycle simulation | High-fidelity FEM component inside PathSim/PathView | Slab permeation and depleted-source coupling |
| Molten-salt permeation | Multidomain inverse model for FLiBe/Ni transport | HYPERION reinterpretation |
| Plasma-facing components | Transport engine in HISP bin-based ITER workflow | DT inventory and removal scenarios |
| Surface-kinetic validation | 1D bulk–surface transport with explicit adsorbed population | Ti, W, and EUROFER cases |
In the HYPERION FLiBe study, FESTIM is used as the core physics engine in a validation-informed, multidimensional inverse modelling framework. The model is axisymmetric in -, explicitly resolves transport through molten FLiBe, nickel membrane and vessel structures, and external boundary exchange, and infers FLiBe permeability from measured downstream fluxes. A central result is that 1D interpretations can fail in opposite directions depending on the external boundary condition: under ideal coating they underpredict downstream flux because bypass transport is missed, while under uncoated conditions they overpredict downstream flux because leakage to the glovebox is not represented. At $973$ K in the uncoated case, the 1D overprediction reaches about a factor of $2.5$ for both isotopes. The inferred FLiBe permeability follows a consistent Arrhenius trend, but the uncoated inference is systematically more than an order of magnitude higher than the ideal-coating inference, so the paper reports a physically motivated envelope rather than a single intrinsic value (Yang et al., 12 May 2026).
In HISP, FESTIM is applied to ITER plasma-facing components under DT operation and tritium-removal scenarios. Under the assumptions of that study, after $10$ days of DT pulses the first wall and divertor contain approximately 0 g of tritium, and almost 1 of the total inventory resides in co-deposited boron layers in the divertor. Baking is the dominant removal method: the reported reductions are 2 in tungsten first wall, 3 in tungsten divertor, 4 in boron first wall, and 5 in boron divertor. Glow discharge conditioning reaches 6 reduction in the tungsten first wall, while low-power DD pulses yield about 7 reduction in the entire divertor. These results depend on the chosen 1D binning, material parameterizations, and cleaning assumptions, but they show how FESTIM can be used for long-transient, multi-isotope inventory evolution under reactor-motivated schedules (Dunnell et al., 6 Apr 2026).
The PathSim/PathView paper uses simpler demonstration cases rather than reactor-scale predictive components, but those cases clarify the intended role of FESTIM in system studies. The slab diffusion/permeation problem verifies that a wrapped FESTIM component reproduces the analytical transient permeation response, while the depleted-source enclosure-wall problem shows that FESTIM can participate in a closed-loop dynamic simulation in which system state variables feed back on boundary conditions at each time step. The conclusion of that paper expands the intended application space to permeation against vacuum extractors, permeators, isotope separation systems, vacuum pumps, plasma-facing components, breeding blankets, and storage systems (Delaporte-Mathurin et al., 20 Mar 2026).
6. Verification, performance, and present limitations
Verification and validation are prominent themes in the FESTIM literature. For the kinetic surface model introduced in FESTIM 1.3, correctness was established by the method of manufactured solutions on a time-dependent diffusion problem with explicit surface kinetics. The reported errors were 8 and 9, and both decreased as the time step was reduced. The same paper then reproduced four experimental cases involving hydrogen or deuterium absorption, adsorption, retention, implantation, and desorption in Ti, oxidised W, self-damaged W, and damaged EUROFER. Cross-code comparisons with MHIMS and TESSIM-X were described as excellent, with the MHIMS comparisons stated to “correlate perfectly” (Kulagin et al., 2024).
Performance improvement is a major result of FESTIM v2.0. In a 2D transient multi-material diffusion benchmark from the project’s verification and validation book, FESTIM v1 with the old change-of-variable interface treatment required on average 0 s. In FESTIM v2.0, the re-implemented change-of-variable method reduced this to 1 s, approximately an 2 speed-up. The new interface formulations were faster still: 3 s with the penalty method and 4 s with Nitsche, both about 5 faster than v1 on the reported single-core benchmark (Dark et al., 29 Sep 2025).
The framework nevertheless retains important limitations, some intrinsic and some application-specific. The FESTIM 1.3 kinetic surface model is explicitly limited to 1D hydrogen-transport simulations and does not include surface diffusion. FESTIM v2.0 notes that advection is implemented with continuous Galerkin discretization and therefore shows the expected artificial dissipation in strongly advection-dominated cases; parallel scaling is not benchmarked in the paper; and extensions such as Soret transport and stress-assisted diffusion are identified as natural future additions rather than current core capabilities. In the PathSim/PathView fuel-cycle study, FESTIM is demonstrated only on simple 1D verification cases, and that paper does not reproduce the general FESTIM PDE system or quantify the computational cost of embedding FESTIM in large fuel-cycle calculations. In the HYPERION FLiBe work, the FESTIM model assumes ideal local-equilibrium coupling at the Ni–FLiBe interface and does not include bubble nucleation, bubble growth, or interfacial area reduction, while the glovebox boundary remains uncertain. In HISP, FESTIM is used only through independent 1D bins with fixed boron layer thickness, no fuel exchange at the B/W interface, no direct isotope swapping, no ballistic detrapping, and no uncertainty propagation from plasma-code or transport parameters (Dark et al., 29 Sep 2025, Delaporte-Mathurin et al., 20 Mar 2026, Yang et al., 12 May 2026, Dunnell et al., 6 Apr 2026).
Taken together, these studies establish FESTIM as a high-fidelity, open-source hydrogen-isotope transport framework with a dual identity. At the component level, it is a finite-element code for diffusion, trapping, reactions, surface kinetics, and multi-material coupling. At the workflow level, it functions as a transport engine that can be wrapped inside fuel-cycle simulators, reactor-facing preprocessing frameworks, and interoperability pipelines for CFD and neutronics. A plausible implication is that its long-term significance lies less in any single benchmark problem than in its role as a modular transport layer capable of connecting first-principles hydrogen-material interaction physics to larger fusion and materials-modelling workflows (Dark et al., 29 Sep 2025, Delaporte-Mathurin et al., 20 Mar 2026).