Couple presiced solidbodyMotion with mechanical deformation

Dear preCICE developers and users,
I am trying to implement FSI simulation of a heaving foil with mechanical deformation by coupling OpenFOAM and Calculix. The foil is heaving with a prescribed oscillation motion in the pointDisplacement file as following:
type oscillatingDisplacement;
amplitude (1 0 0 );
omega 1;
value uniform (0 0 0);

However, now I also want to compute the mechanical deformation of the foil by coupling with Calculix. As defined the instructions of preCICE, the boundary condition in the pointDisplacement for a FSI case should be:

type fixedValue;
value $internalField;

Then how can I consider these two motions together within one pointDisplacement file? Or there is another way to achieve this? Any suggestions will be very much appreciated!


I think that it would be important to draw what you want to model. You are describing two conflicting boundary conditions:

  • a predefined deformation
  • an induced deformation

What you probably want is an induced deformation and a predefined translation (so, offset + deformation). Do you maybe need to only predefine the motion of one point, while the rest of the structure is getting deformed by the flow?

In principle, you can also use overset grids: use the overset region for the translation, while still modelling FSI between the overset region and the structure domain.

Thank you very much.
I am testing the overset approach as you mentioned, to couple translating and deformation in the dynamicMeshDict. But overset makes the computational time much longer and lower accuracy, so I was posting here to see whether I can get any ideas on how to couple these two motions directly through the morphing mesh approach.

Hello, Liu.

With coupling OF and Calculix, the predefined displacements need to be defined in calculix, because the fluid-structure coupling process moves the mesh before the fluid is calculated, so you only need to place the mesh motion in calculix.

1 Like