RBF mapping vs. nearest projection mapping


I have a question regarding the different mapping options:

I actually work at the Mok-FSI benchmark with standard preCICE adapters for OpenFOAM and CalculiX. The benchmark is similar to the flap-case tutorial and I received good agreement and a smooth mapping with rbf-thin-plate-splines-mapping. If I switch to nearest projection I receive overlapping meshes at the FSI interface. I see this kind of problem quite often in nearest projection mapping and I wonder if there is something wrong in my set-up, mesh density or parameters (e.g. the FSI coupling).

Many thanks in advance for any advice.

P.S: I’ve been digging deeper and noticed I noticed that apparently not all my nodes on the structure are used for the mesh move. I found 420 entries in the VTK export, while I have about 600 nodes on the FSI interface in the solid. My cell density between flow and structure is approximately the same, which leads to twice as much node density in the solid (due to the intermediate nodes). Is this a problem for the mapping? I can’t completely exclude that there is a problem in the grid export or an inconsistency what preCICE expects as input.

precice-config_rbf.xml (2.5 KB) precice-config_np.xml (2.4 KB)

Hi Ulrich,

Could you please have a look at the mesh connectivity of the interface mesh “Solid” received by the participant “Fluid”? Please also check the partitioned meshes in case you run “Fluid” in parallel.
You can enable the vtk export by adding the <export:vtk /> tag:

<participant name="Fluid">
  <export:vtk />

The consistent nearest-neighbor mapping utilizes the connectivity of the Solid mesh to interpolate the data. Missing connectivity forces the nearest-projection to project on vertices, which then results in a nearest-neighbor mapping.
The partially overlapping meshes could be a symptom for the latter.

Also possible is that the safety factor for the mesh decomposition is too small. which could lead to the removal of vertices (and their connectivity) near partition borders.
You can adjust it using the safety-factor attribute of use-mesh:

<participant name="Fluid">
    <use-mesh name="Solid" from="Calculix" safety-factor="0.75" />

Please check the reference of the use-mesh tag for additional information.

Hi Frederic,
Thank you for the recommendations.In fact, it seems that a nearest-neighbor was used instead of a nearest-projection. I have adapted my case and now it works. There are still quite a lot of nodes being discarded (which might make sense since it is a flat problem), but there is no more grid intersection. The results look good. Very similar to rbf.
Many greetings

Hi Ulrich,

No worries! Good to see that it wasn’t a real problem in the end.
Debugging nearest projection can be tricky as the fallback to nearest-neighbour is valid behaviour.