Consistent node numbering problem for FSI

Different software has different node numbering rules. I want to conduct coupling interaction between calculix and palabos to deal with the problem of FSI. So how should these two different software solve the problem of inconsistent node numbering? How does precice solve this problem? And what is the actual program file?

The two preCICE participants do not know anything about the node numbering of each other. preCICE only knows the location of each nodem, which the solver gives when calling setMeshVertices: Step 3 – Mesh and data access | preCICE - The Coupling Library.

What do you mean?

I mean precice Which code does this?
Do you mean that precice implements passing information about each node, and then different software reads the force or displacement involved in that node based on the node location information? So how do I look at the code related to this?

By “preCICE”, I mean the library that you would use in your code. Your code iterates over the interface nodes in any way, and gives locations of nodes to preCICE by calling setMeshVertices. Each code/participant defines its own interface mesh.

Then, when configuring the coupled simulation, you need to configure some mapping: Mapping configuration | preCICE - The Coupling Library This will interpolate data between nodes of the two interface meshes, so that your code can read data from the same interface mesh it defined.

Internally, preCICE only knows the order of nodes it creates for itself when you call setMeshVertices. This order is not exposed to the user and is pretty much not interesting.

Now, sometimes “preCICE” can mean the “preCICE ecosystem”, or “preCICE + adapters”. An “adapter” is essentially the lines of code you add to your code to call preCICE. For some popular codes (e.g., for OpenFOAM), we provide such an adapter, so that you don’t have to write any additional code. This part of the code is what defines the order that the nodes of your code are accessed. For the OpenFOAM adapter, this happens here: openfoam-adapter/Interface.C at 4b6ad03223dcf5fb066e3c0198a9c72c086d48f9 · precice/openfoam-adapter · GitHub