Can precice automatically convert face-centered data to node data?

HI:
I made a fluid-solid coupling, fluent calculates face-centered data, abaqus calculates node data, can precice automatically convert face-centered data to node data for delivery, or do I have to write my own algorithms for conversion?

Hi @ilovenili

preCICE does not have a notion of whether whether the data you provide it is face-centered or nodal. You define vertices in preCICE and then preCICE uses their physical locations (coordinates) to map data from one participant to the other. When face-centered or nodal data is being mapped, one has to take care whether the mapping needs to be consistent or conservative. More details about this can be found in the documentation: Mapping configuration | preCICE - The Coupling Library

It is interesting to see that you are coupling Fluent to Abaqus using preCICE. How are you calling the preCICE API in Abaqus?

ok
for abaqus adepter, I use restart method, every step, I rewrite input file , and modified the node’s force,
but now I have not done, need more time.
in fact, abaqus subroutine difficult to realize coupling with fluent, but I konw co-simulation API of abaqud can do it.

Hi @ilovenili

Okay. Are you using Abaqus/Standard or Abaqus/Explicit? And have you considered using subroutines to modify the nodal force in each time step? One idea to pursue is to use a force-specific subroutine, and then call the preCICE API via the EXTERNAL subroutine. This approach is not guaranteed to work, but is promising, and will be faster than restarting all the time.

yes,for nodal force, I have considered use subroutine, so I considered solve this problem by applying a normal force with the dload usbroutine and a tangential force with the UTRACLOAD subroutine, but with the dload usbroutine, only face integral point pressures can be applied, so I came up with the idea of outputting the face-centered pressures directly from fluent, changing the physical quantity from a force to a pressure, which would allow me to interpolate the face-centered pressure interpolated to each integration point of the face on the abqus side. There are two difficulties with this:
1 Since integration points are only available for body cells, it is necessary to first identify which body cell the interface belongs to, and then determine which integration points belong to this interface. So it is difficult to extract information from abaqus about the integration points on the intersection interface.
2 dload(F,…) , F is the surface pressure we need to change, it is hard to give the pressure to the integration points
So I gave up.

Translated with DeepL

I used ABAqus/Standard, now I am dong this work, so I think we can communication