Can preCICE be used for volume coupling?

I read that you do surface coupling?

Do you support volume coupling too?

Yes, but it will be computationally expensive. preCICE is mainly designed to couple simulations that share a common surface boundary. In this case, all the coupled volume nodes should be specified in the coupling mesh.

preCICE only knows about points and their connectivity, so it doesn’t make much of a difference if the points are on a surface or on a volume. However, in the case of volume coupling, nearest-projection mapping would not be available. You may still use the nearest-neighbor or RBF mapping, however.

Moved from our FAQ on precice.org.

For the OpenFOAM adapter, there is an open Pull Request for supporting volume coupling: https://github.com/precice/openfoam-adapter/pull/97

Feedback or further work on this would be very welcome.

We have volume coupling on the radar and are currently gathering plans, ideas, information and work packages in the GitHub issue 468.

Feel free to participate in shaping this feature!

There have also been talks about volume coupling at the preCICE Workshop 2020:

We have news!

We are actively working on a new linear cell interpolation mapping.

For 2D cases, you will be able to define a triangular mesh and configure preCICE to interpolate inside the cells

For 3D cases, we plan to add support for tetrahedral elements to both the API and the above mapping.

2 Likes

More updates on volume coupling:

  • We recently finished developing a partition-of-unity RBF data mapping. This should be a game changer for volume coupling.
  • Rethinking and properly evaluating our communication backends for volume coupling is also on our roadmap.

Short update: The linear cell interpolation mapping was released with preCICE version 2.5.0.

With release of preCICE version 3.0.0 up to the latest release of preCICE version 3.2.0 there have been many changes and improvements regarding large meshes.

The following has a positive effect on volume coupling:

  • Mesh processing, memory footprint, and communication has been substantially improved.
  • Initialization speed of large distributed meshes has been improved thanks to a more efficient repartitioning.
  • Radial-basis mappings are now usable with large meshes thanks to the new partition-of-unity mappings.
  • The just-in-time mappings provide a convenient and efficient way to map data from/to positions in a region of interest. This is especially useful for particle codes.

A caveat for preCICE 3.2.0 is that implicit schemes now exchange substeps by default to enable time interpolation. If your solver uses subcycling, then the communication cost increases linearly with the amount of substeps. This can be disabled in the <exchange ... substeps="true" /> tags.

Note that volume coupling is being actively used right now.
If you are running into severe performance issues please open a discourse post and let us know.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.