XDEM-HPC

XDEM-HPC is a Julia framework for high-performance simulation of thermochemical particle systems coupled to CFD. It solves batches of implicit 1-D parabolic and hyperbolic PDEs — one per particle — on CPU clusters and GPU accelerators.

The code is currently under active development and has not yet been released as open source. Watch the GitHub organisation for announcements.


Architecture

Layer Description
Particle physics 1-D and transient heat and mass transport with multi-component diffusion, heterogeneous reactions, phase change
Linear solver Batched Thomas algorithm (pure tridiagonal) or structured sparse LU (tridiagonal + reaction coupling)
CFD coupling Two-way MPMD-MPI coupling to OpenFOAM (ESI v2512 and Foundation) via W-matrix projection
MPI Domain decomposition across ranks; W-matrix projection is rank-local (no all-to-all)
GPU backends NVIDIA (CUDA.jl), AMD (AMDGPU.jl), Intel (oneAPI.jl), Apple (Metal.jl) via KernelAbstractions.jl
Precision Float32 and Float64 selectable at runtime

Technology Stack

  • Language: Julia — high-level productivity with C-level performance
  • GPU kernels: KernelAbstractions.jl — single source, all backends
  • MPI: MPI.jl
  • Static arrays: StaticArrays.jl — stack-allocated, isbits metadata in GPU kernels
  • Input format: HDF5
  • Output format: HDF5 and ASCII
  • CFD solver: OpenFOAM (via C++ shim and MPMD MPI)

Capabilities

  • Heat conduction inside particles with user-defined or phase-averaged conductivity
  • Multi-component gas-phase diffusion (user-defined, Fuller–Schettler–Giddings, Hirschfelder–Bird–Spotz, Knudsen)
  • Heterogeneous solid–gas and homogeneous reactions with enthalpy source terms
  • Drying, devolatilisation, and combustion of biomass and solid fuels
  • Robin and Neumann boundary conditions per phase (solid, liquid, gas)
  • Heat and mass transfer correlations: Ranz–Marshall, Wakao, Gunn, Gnielinski, etc.
  • Representative Particle Model (RPM) volume scaling for large particle numbers