Sticking nodes on FSI interface in OpenFOAM/CalculiX coupling


I have a problem with sticking nodes on the FSI interface of preCICE 2 and OpenFOAM/CalculiX:

I try to model a valve case with a flexible disc closing a circular orifice by increasing pressure. On the OpenFOAM side I have the problem that 2 nodes stick in their original position directly from the beginning and don’t move with the FSI-interface. In the point-displacement file it seems they get all the time no displacement, even the CalculiX displacements look smooth.

I tried a number of different meshes (element type and resolution) and different mapping options (nearest neighbour and nearest projection). Also I tried with displacements and displacement deltas. In the initial state, the surfaces are plain and geometrical identical (no gap between CCX and OpenFOAM part). Writing out the FSI-interface in vtk from preCICE it is obvious that there are 2 points without displacement as shown on the figure (almost in centre of the disc all time). Any ideas how to fix this?



Hello Ulrich,

this problem looks really interesting!

How do you define the interface patch in OpenFOAM? I assume that there is something special about this center point?

Also, do you run in serial or in parallel? If in parallel, where do you split the domain?

Hi Makis,

thanks for the prompt reply.

The interface is just a wall patch with moving wall velocity (U), zeroGradient for pressure and fixed value in fixedValue in pointDisplacement.

Honestly, there is nothing special with this point. This is even not the centre point of the geometry (not 0/0/0).

I ran in serial. I can share this case if you are interested.

Best regards


Indeed, sharing the case would definitely help to understand what is going on.

Have you tried exporting the interface meshes and checking if the mapping is correct? Although I expect this to be some problem in the adapter.

Hi @Ulrich

Could you please upload your vtks? and your preCICE config file. Thanks!

Dear Makis, dear Benjamin,

thanks for the hints. The advice to look more into detail at the interfaces was very valuable.
I think I found the problem: The problem occurred already on the CalculiX side: There was a geometry point defined in the middle of disc, which has been meshed but the node had no element connection. The node was stored in the original CalculiX input file but CalculiX seems to skip this node (as it was not used) during initialisation of the simulation. I didn’t find this nodes listed anymore in the *.frd-file. But it seems the adapter still had this node in the list but zero displacement has obviously been reported to this node (as it was not used in FEA). The zero-displacement node has been used in the mapping to the OpenFOAM mesh which seems to cause the sticking points on the mesh faces. So your adapter works well, I have to get rid of the unused nodes.
I just rerun my simulation and it looks fine so far. If there is interest in this case, I can upload it (maybe after getting it working reliably). But it is rather a demonstration case which does not use physical correct properties


Great to hear! Thanks for the update.
Sounds like a nice picture for a testimonial? :grin:

Hi UIrich,

Can you explain more about how to get rid of the unused node in your case, I also got this similar issue.

Thanks in advance!


Hi Djmee, I solved the problem my removing the unused node directly form the inp-File before starting. So you can check the node labels in the calculiX elements and compare them with the complete node-list to check if there are unused nodes. Also it is useful to ask preCICE for the vtk-output and look the displacement vectors. But I looked at our thread where you uploaded the video and I think my problem was different from yours: In my case as far as I remember I received a bad displacement transfer from CalculiX to OpenFOAM (while the CalculiX displacements where fine), in your case it seems that the original displacement from CalculiX is bad. So I would recommend to check the CalculiX case only (without FSI), applying a pressure BC at the interface.
But I definitely found issues with the preCICE mapping in 3d analysis with symmetry planes (partially constraint sliding in plane). So if you use a symmetry plane as boundary face while other nodes should move in 3d your problem might be caused by this.

1 Like

Hi UIrich,

I found it very interesting that when I run the simulation on my local Ubuntu using single core, the result shows just as good as what I expected, all nodes are moving. However, when I run the exact same case on HPC (the only difference is the Fluid field is decomposed on OpenFOAM side), the posted issue occurred.

Any ideas?