OpenFOAM rigid body motion IQN


I would like to help revive the OpenFOAM to rigid body coupling like in the quickstart tutorial and generalise it. I hope to use it to validate motion of floating objects using the IQN coupling to converge motion at every timestep in OpenFOAM.

I see that @uekerman has archived the rigid body solver and the new quickstart tutorial is the suggested way to proceed. Is there any current work or plans to implement a general rigid body solver which takes standard inputs from a file.


1 Like

Hi @gsg001,

Sounds great. I think that effort would be greatly appreciated, especially if combined with some (3D?) interFoam (or similar) tutorial :rocket:

I don’t recommend to revive the old 6dof-rigid-body-solver, but to start from scratch. There is just too much purely technical debt in the old one. Ideally you develop the 6dof solver in Python or C++. You could start/copy from one of the solverdummies or from the quickstart 1dof solver.

The goal should in my opinion not be too generalize / replace the quickstart solver. This one we want to keep as simple as possible. But sth usable for real floating objects. In the long run it could then also be coupled to another structural solver (for floating wind turbines etc.).

You could start developing in your own repository. If you want we could later bring it over to the preCICE organization giving you maintainership.

I am happy to help in this endeavor!
What do you think?

For further reading, see also Bernhard’s thesis, sections 5.1.6 and 5.3. That’s the origin of the old 6dof solver (previously known as Structure0815).


Hi @uekerman,

I’m recently trying to consider the influence of 6dof motions in coupled FSI simulations based on preCICE. Considering that OpenFOAM has a mature 6dof-rigid-body solver, do you think it is possible to directly couple this 6dof-rigid-body-solver with preCICE to account for the 6dof motions? or it is better to developed a new 6dof solver in Python or C++?

Best regards.

Hi @yhuang

Probably depends on what kind of coupling you want to achieve then. Is your plan to couple the 6dof OpenFOAM solver to an external solid mechanics solver to handle deformation? Or sth different?

I don’t know of any effort trying to couple the 6dof solver of OpenFOAM via the OpenFOAM-preCICE adapter. The latter would probably need some extensions to accommodate. Would be interesting to find out.