recently I’ve opened a thread regarding loose-coupling, which is a feature preCICE could maybe implement in the future.
Because I think we did not understand, what I was trying to explain with loose-coupling, I’ve drawn something here:
I’m using OpenFOAM (with the preCICE OpenFOAM-Adapter) as fluid solver and MBDyn (with the preCICE MBDyn-Adapter) as solid solver. In loose-coupling mode, MBDyn should first run a few cycles to generate the motion without force influence in the initialization period. As well, OpenFOAM should run some cycles with the generated motion, to provide MBDyn some initial force data.
Then the real coupling begins and the solvers run some cycles, without communicating with each other. The advantage would be, that the simulation stays more stable. One could set a low/high-pass filter to avoid oscillations in the force data.
At the moment, preCICE doesn’t offer such a functionality. A way to “hack around” would be to hard code the initialization into the python interface of the MBDyn-Adapter and just hold back & collect the data for multiple timesteps. In the first half of the initialization, the interface should say to preCICE, that there is no motion and in the second half, it must collect the data from preCICE and don’t tell MBDyn, that there are forces from OpenFOAM.
Challenges: As already said, this is not an ideal approach and it would be much better, when preCICE could handle such cases. In addition, the initialization of MBDyn would (in our case with a deformable beam) possibly need a seperate model to prevent deformation.