My group has an in-house fluid solver with a preCICE adapter that has worked very well for surface coupling problems. We would like to add a Lagrangian particle-tracking capability to our solver, and for a variety of reasons it would be convenient to use preCICE to exchange data with a separate particle tracker, if that is possible and if the coupling would be efficient. The idea is that the fluid solver would send density and velocity to the particle tracker for it to compute drag experienced by the particle, and the tracker would send back source terms for momentum and energy, and mass when particles vaporize. Has anyone use preCICE in this way before?
If I understand preCICE’s current capabilities, there is no obstacle to using it for volume coupling except that only tetrahedral cells are supported - cells of any other type have to be split when setting up the mesh connectivity for preCICE (see also this Github issue). Is this correct? If so, and seeing that there is now a volume coupling tutorial, the FAQ topic for volume coupling looks to be out of date.
Would there be any scaling problems if coupling between two meshes of possibly 10^8 cells each?
2 Likes
Hi there,
I’ve recently completed my bachelor’s thesis on “Flexible mesh-particle coupling with
preCICE”. It has not been published yet, but I would be happy to send it to you.
The coupling you describe sounds similar to what I did in my thesis. I couple a Lagrangian Discrete Element Method (DEM) solver to an Eulerian fluid solver. In the particle participant, I read the fluid velocity and write a momentum (drag force) source and a solid volume fraction. Using preCICE’s new just-in-time data mapping, combined with the not-yet-released coarse-graining mapping method, worked well for this purpose, allowing direct mapping between the fluid cells and the individual particles.
Before preCICE supported just-in-time mapping, Adhav et al. coupled their in-house particle solver using traditional mesh-mesh coupling. They introduce an auxiliary grid that serves as a static coupling mesh on the particle side, and map between the fluid cells and the auxiliary grid using preCICE. However, an additional internal mapping step is then required within the particle solver to map between the vertices of the auxiliary grid and the particle positions.
If you choose to use just-in-time mapping, there are two caveats I am aware of:
- Mesh access region aspect ratio: If the mesh access region of the particle participant has an unbalanced aspect ratio (i.e., one side is significantly longer than the others), this can lead to inefficiencies in the data mapping.
- Static domain decomposition only: In the particle solver, the domain decomposition must not change during the simulation (e.g., for dynamic load balancing). This is because preCICE currently does not support resetting the mesh access region at runtime. However, I think this feature is already being worked on.
If you are interested in the thesis, feel free to email me (st166598@stud.uni-stuttgart.de), and I will send you the PDF.
Kind regards,
Robin
2 Likes
Thanks @r_walloner, that is very helpful. Do you know when your thesis will be published?
I don’t know an exact date yet. Sometime mid to end September, I think.