Flexible mesh‑particle coupling with preCICE

Dear preCICE community,

Some of you are already experimenting with just‑in‑time data mapping and other features introduced in preCICE v3.2. In my recently completed thesis, Flexible mesh‑particle coupling with preCICE, I explore how these capabilities can be used to couple particle and mesh‑based solvers in fluid-particle simulations. This post summarizes the key ideas and highlights the new possibilities that this work opens up.

Why mesh‑particle coupling?

In typical CFD‑DEM simulations, one solver describes the fluid on a Eulerian mesh, while another tracks discrete Lagrangian particles. Mapping data between these fundamentally different representations is tricky. The following recently introduces preCICE features aim to tackle this challenge:

  • Just‑in‑time data mapping (JITM): Only one participant provides a mesh. The other can read and write data at arbitrary coordinates. preCICE computes a temporary mapping at each time step (just-in-time). This allows a DEM solver to sample fluid velocities directly at its particle positions and feed back forces to the CFD solver without defining an auxiliary mesh.

  • Coarse‑graining (CG): An experimental mapping method that represents each particle using a smooth kernel distribution. It converts total extensive quantities (e.g., drag force from DEM solver) to intensive volumetric densities (e.g., force density used in CFD solver). CG is not yet in a public release, but may become available as an experimental feature in upcoming versions.

My thesis aims to evaluate these features from a user perspective by implementing one-way coupled particle tracing and two-way coupled CFD-DEM. In doing so, I identify limitations in preCICE’s current feature set around mesh-particle coupling and reveal opportunities for further development.

One‑way coupled particle tracing

The first part of my work implements a simple particle tracer to test the mapping accuracy and the new JITM API. A mock fluid solver writes a predefined velocity field. The particle solver reads velocities via JITM and tracks massless tracer particles to the fluid flow. Both participants are implemented with deal.II and communicate using a serial‑explicit coupling scheme.

Vortex flow benchmark

A time‑dependent vortex is used to measure how mapping choices and grid resolution affect accuracy. Particles are initialized in a disk shape, stirred by the vortex, and should return to their starting positions after one period. A coarse mesh with nearest‑neighbor (NN) mapping shows significant tracking error, while a finer mesh with radial basis function (RBF) mapping almost perfectly recovers the original disk shape. The study quantifies the mapping and integration errors and shows how grid spacing and time step size jointly influence the tracking performance.

Channel flow with dynamic load balancing

The second test case uses a CFD‑generated channel flow constricted by an obstruction. This case highlights the need for dynamic load balancing to keep particle count, and therefore computational load, equal between MPI ranks. preCICE currently does not efficiently support dynamic load balancing, since a changing domain decomposition necessitates re-setting the just-in-time mesh access regions at runtime. While for conventional mesh-based mapping, dynamic remeshing already allows this, an equivalent feature for JITM is not yet released. To work around this limitation, I set all access regions to encompass the entire domain, which is inefficient but works.

Two‑way coupled CFD-DEM

After building confidence in the mapping, I develop a complete unresolved CFD-DEM coupling using OpenFOAM as the CFD participant and LIGGGHTS as the DEM participant. Within LIGGGHTS, I implement three new input script commands precice_initialize, precice_advance, precice_finalize, as well as a plugin (“fix”) fluid_coupling that hooks into the time-integration loop to read fluid velocities, compute particle volume fractions and forces, apply them, and write them back using preCICE.

Single‑particle sedimentation

As a validation, the simulation of a sand particle settling in water is compared against empirical correlations. The reference velocity is correctly reproduced. This case demonstrates that the coupling correctly transfers forces and validates the CFD-DEM implementation for dilute particle regimes.

Fluidized bed

A more challenging fluidized bed scenario tests the coupling in a dense particle regime. Thousands of particles are initially packed in a narrow box. Air injected through a central spout lifts and recirculates them, forming complex flow patterns. The coarse‑graining mapping is crucial here: a naive nearest‑neighbor mapping with simple volume normalization led to instabilities, while the kernel‑based approach of CG produced stable simulations. The vertical particle flux across the domain matches published results in the jet region but shows reasonable disagreement near the walls.

Performance profiling reveals that waiting for the fluid solver in the serial coupling scheme and reading fluid velocities via radial basis function JITM are the main runtime bottlenecks, with the latter amplified by an unfavorable interaction between our domain decomposition and preCICE’s safety margin. These insights provide valuable guidance for future adapter development.

New possibilities and outlook

What does this work enable for the preCICE community?

  • Native particle coupling: JITM allows particle-based solvers to exchange data directly with mesh-based solvers, eliminating the need for intermediate meshes and simplifying adapter development.

  • Stable coarse‑graining: Representing particles with smoothing kernels provides robust particle‑to‑mesh mappings, even in dense particle regimes. CG will likely be a go-to option for future mesh‑particle couplings.

  • LIGGGHTS integration: The new adapter shows how to couple LIGGGHTS to any CFD solver via preCICE, opening the door for fully open‑source CFD-DEM workflows using preCICE.

  • Dynamic load balancing: The particle tracer demonstrates how to keep simulations efficient by balancing particles across ranks. Facilitating this through dynamic mesh access regions in preCICE remains future work.

There is still much to explore. Future work could involve extending the coupling to other solvers, supporting fully parallel schemes, and even tackling particle-structure interaction. As preCICE’s mesh-particle coupling capabilities continue to mature, I envision the development of a general-purpose preCICE adapter for a popular open-source DEM solver.

If you are interested in the details or want to reproduce the experiments, have a look at the thesis and the accompanying dataset cited below. I look forward to seeing what the community builds with these new capabilities!

R. Walloner. “Flexible mesh-particle coupling with preCICE”. Bachelor’s thesis. University of Stuttgart, August 2025.
The thesis is not yet published on the universities document server, but will be made available upon request. If you are interested, please email me: st166598@stud.uni-stuttgart.de

R. Walloner. “Replication Data for: Flexible mesh-particle coupling with preCICE”. DaRUS, August 2025. doi:10.18419/DARUS-5236.

7 Likes

Thanks for the very nice summary, @r_walloner :blush:

For reference, the repos, where the development happens:

Just to add here, I would also look at LIGGGHTS-PFM. I would also suggest to maybe try to integrate the libraries from CFDEMcoupling-PFM via dynamic linking to prevent code duplication. We should have a discussion some time.

The thesis is now openly available at https://doi.org/10.18419/opus-17230