Elastic tube 3D force mapping trouble

I’m studying the elastic tube 3D tutorial with OpenFOAM and CalculiX.

The result was slightly different between the case implemented several years ago and the case implemented this time as below.

After adding RF to the CalculiX output and comparing the results, I found that in the new case the RF was poorly mapped.

I think there is a problem with calculicx-adaptor, how about it?

I have solved it myself and a new question has arisen.

The old case and the current new case had different mapping methods.

[old]
<mapping:nearest-neighbor direction=“write” from=“Fluid-Mesh-Faces” to=“Calculix_Mesh” constraint=“conservative” timing=“initial” />

[new]
<mapping:nearest-projection direction=“write” from=“Fluid-Mesh-Faces” to=“Solid-Mesh” constraint=“conservative” timing=“initial” />

In new case, after changing the mapping method( projection → neighbor ), the results were the same as in the old case.

Now, a new question arises: I have a feeling that [nearest-projection] is going to be better than [nearest-neighbor], but why isn’t it?

One hint is that there is WARNING in the fluid calculation log,

[mapping:nearest-neighbor]

—[precice] e[36mWARNING: e[0m 355 of 2588 vertices of mesh Calculix_Mesh have been filtered out since they have no influence on the mapping.

[mapping:nearest-projection]

—[precice] e[36mWARNING: e[0m 1926 of 2588 vertices of mesh Solid-Mesh have been filtered out since they have no influence on the mapping.

It seems likely that this number is so large that the mapping will not work, but why are these numbers?

Here is the mapping documentation: Mapping configuration | preCICE - The Coupling Library

Mappings have a direction (write/read) and you may observe differences when changing it.

Nearest Neighbor works by just getting the value from the closest mesh node in the other mesh.

Nearest Projection works by projecting the target node to the nearest element (cell, face, edge, or node as fallback) in the other mesh, and interpolating there. This requires that the other participant has defined more elements than just mesh nodes.

Try moving the mapping from the one participant to the other and converting it from write to read. You may need to change a few more things (the config visualizer will help you: Config visualization | preCICE - The Coupling Library).

Some filtered-out vertices are normal, but still, this will change if you change the direction of the mapping.