Data communication of displacements and velocities

Hi, everyone,

I noticed that the examples only exchange ‘displacements’ and ‘forces’. Can I send both displacement and velocity data of the structure to the fluid solver at the same time as the following?
<mesh name="FluidMesh">
<use-data name="Forces" />
<use-data name="Displacements" />
<use-data name="Velocities" />
</mesh>

<mesh name="StructureMesh">
<use-data name="Forces" />
<use-data name="Displacements" />
<use-data name="Velocities" />
</mesh>

<coupling-scheme:serial-implicit>
<participants first="FluidSolver" second="StuctureSolver"/>
<exchange data="Displacements" mesh="StructureMesh" from="StuctureSolver" to="FluidSolver"/>
<exchange data="Velocities" mesh="StructureMesh" from="StuctureSolver" to="FluidSolver"/>
<exchange data="Forces" mesh="StructureMesh" from="FluidSolver" to="StuctureSolver"/>

Thanks.

Yes, you can definitely exchange more datasets over the same mesh! See how we are doing it in the heat exchanger example: https://github.com/precice/tutorials/blob/develop/CHT/heat_exchanger/buoyantSimpleFoam-CalculiX/precice-config.xml

Hi,
Do I need to change <coupling-scheme:serial-explicit> into <coupling-scheme:parallel-explicit>? Will it make a difference to the results of my simulation? Does this ‘parallel’ means that the fluid solver and structure solver run at the same time and it has nothing to do with the parallel computation of OpenFoam?

No, you don’t need to change the coupling scheme.

A parallel coupling scheme is completely different than the internal parallelization of the solver. It just means that the two participants compute the same time window without at the same time, without the one waiting for the other to finish. You can compare it to an Jacobi (parallel) vs a Gauss-Seidel (serial) approach.