This is also the test case for the mbdyn adapter, so I took it as a base and only made minimal modifications on the openFOAM case. (Stress instead of Force and Displacement instead of DisplacementDelta)
As suggested I started with Fluid to Solid one way coupling, where the solid participant always returns 0 displacement โ membrane oszilates (as expected?):
When I make a Solid to Fluid one way coupling, solid participant returns a increasing deformation, the mesh in openFoam is deformed. Some plot / picture here.
Next I tried explicit coupling with high stiffness of the membrane, the simulation startes to swing up:
By mistake I discovered that if I use a smaller timestep in OpenFOAM (deltaT 0.01) than for the coupling in preCICE (dT 0.05) I get somthing which looks a little bit more than what I would expect as result:
The membrane should move, but I would expect at least the Fluid simulation to eventually diverge. One-way coupling does not make much physical sense, but it remains a great way to start.
I see some thicker line on the OpenFOAM mesh and I wonder: is this a visualization issue, or a meshing issue? Check if you have very thin / non-orthogonal cells.
In your OpenFOAM controlDict, you have adjustTimeStep no;, which means you are using a fixed time step size. I would expect the Fluid simulation to do many strange things in this setting. Try setting this to yes.
Thanks for the information, I did not pay much attention to the openFoam settings as I coupied all from a working example. But I think you are right that the line are some very thin cells after the membrane deformes. I will try to change to the rbf mesh motion and hope that it will be better.
Regarding the adjustTimeStep I did set it to yes without obvious changes.
I think my main problem is with the solid solver probably I do something wrong with the displacements I pass to openFoam.
Could it be that it is a problem that the solid solver, as far as I see it, does not solve the deformation time dependend, but instead simply moves the membrane until a steady state is reached, which causes the oszilations ?
I am not sure about that, but it could be an issue. In principle, you can couple steady-simulations with preCICE, in which case you need to set the coupling time window size to some integer (e.g., 1), which is treated as the number of iterations after which to couple. It is not what preCICE was designed for, but I know it works, e.g., for conjugate heat transfer.
I have now managed to run the example with the mem4py transient solver.
My results are not identical compared to the ones I found in the mbdyn adapter example, but mostly quite close. Will not try to improve it for now.
@Niki Hi, I am a beginner in openfoam, I saw your problem on the forum and I am interested in it, can you tell me how you solved it? I would like to try to follow your case on github.