OpenFOAM FSI simulation not communicating - Zero residuals

Hello,

I am performing an FSI simulation of an impeller used for ventilation. As I am not achieving the best agreement with experimental data with a normal flow simulation (simpleFoam with MRF), I am trying this.

The coupling is between pimpleFoam (with MRF and not sliding mesh) and solidDisplacementFoam, both solvers of OpenFoam. Despite they are transient solvers, I am only interested in the steady state case so they are run like steady solvers.

The case has been configured using the tutorial “perpendicular flap” with some changes I saw mainly from your website: Configuration overview | preCICE - The Coupling Library and The OpenFOAM adapter | preCICE - The Coupling Library. I am using an explicit serial coupling as the deformations should be tiny (thus the flow slighlty modified). I prefer to solve it in serial until the flow and the deformations are steady. You can find attached the preCICE configuration and both dictionaries (fluid and solid). I am using a local machine.

To run the fluid case I use: mpirun -np 8 pimpleFoam -parallel

To run the solid case I use: mpirun -np 4 solidDisplacementFoam -parallel

Sorry but preCICE is not outputting any log file, so I am going to attach the foamLog for each solver. Basically, the communication is not successful between solvers, as the structural solver is not iterating and outputting for every iteration the following:


GAMG: Solving for Dx, Initial residual = 0, Final residual = 0, No Iterations 0

GAMG: Solving for Dy, Initial residual = 0, Final residual = 0, No Iterations 0

GAMG: Solving for Dz, Initial residual = 0, Final residual = 0, No Iterations 0

ExecutionTime = 2.64 s ClockTime = 113 s

The fluid solution is initialized from an already converged solution, so the forces are there and should be sent to the structural solver.

If anyone could give me a hand I would very much appreciate it!

Thanks a lot,

Marc

precice-config.xml (1.6 KB)
logFluid.txt (13.3 KB)
logSolid.txt (3.5 KB)
preciceDict(fluid).txt (639 Bytes)
preciceDict(solid).txt (968 Bytes)

Dear @Trinxo123,

there are several aspects you can later change that will improve the convergence and the quality of your results a lot:

  • You are using solidDisplacementFoam for the Solid. Try using one of the other solvers we support, as this one is rather simplistic and underperforms. See some plots: Perpendicular flap | preCICE - The Coupling Library
  • You are running an explicit coupling. This is also why you don’t see any output files from preCICE (there are typically two output files written: one with the iterations and one with the convergence. Implicit coupling should help for stability, even in smaller deformations.

Now to your specific issue. I guess that nothing is happening in your coupled simulation: everything stays zero, or already in a steady state.

I suspect that further up in your OpenFOAM log, there must be a warning that says it could not load the preCICE adapter. Is that the case? This would then mean that something went wrong when building the adapter. Unfortunately, OpenFOAM only shows a warning instead of an error message when function objects don’t work.