Fluid-solid CHT coupling

I’m trying to simulate CHT using OpenFOAM for both solid and fluid. I started from the tutorials and modified the geometry to my needs. I have a couple of questions as, unfortunately, I have no experience with CHT.

  • In the tutorials, I have seen flow-over-heated-plate-steady-state coupling OF and CodeAster. It is possible to do a steady state simulation with OF for both fluid and solid?
  • the configuration in the precice-config.xml of the tutorial uses the Aitken acceleration. I am noticing that the convergence is quite slow. In this case, using IQN-ILS or similar would improve convergence?

Thank you


Hi @Claudio,

OpenFOAM steady-state solvers work technically in a similar way as the transient ones: every iteration is like a time step. So, they call the adapter in every iteration. In that tutorial, we use the buoyantSimpleFoam. I guess the question boils down to whether laplacianFoam will work. I think it should work.

I think this should also work: preCICE does not know if you are trying to solve a transient or a steady-state problem. @arvedes had very similar questions recently, I think his experience will also be useful here.

Hi Claudio,

I coupled OpenFOAM (gas flow) and FEniCSx (solid heat conduction) to investigate the natural convective cooling in our crystal growth setup. I recently presented the case at the ECCOMAS congress, you can find the slides here. In my flow-over-heated-plate test case serial explicit coupling worked well, it is easiest to configure. In my more complex crystal growth case this did not converge; IQN-ILS coupling was the best there (see slide 12).

I just learned from Benjamin Uekermann that there is a stability theory for CHT out there, maybe this is helpful for you, too.


Hi @Makis and @arvedes
thank you very much for your answers. At the moment it looks like laplacianFoam and buoyantSimpleFoam work. For the moment I’m sticking with Aitken acceleration, I’m not seeing improvements with IQN-ILS but maybe it has to be better tuned. @arvedes thank you very much for the references, I’ll look into them to learn a bit more.

Sorry for popping in an old thread.

It is a fascinating work on coupling OpenFOAM and FEniCSx. We would also like to work on the FEniCSx adapter but maybe on surface coupling to couple the effect of turbulence to crystal plasticity model on material degradation.

Which branch of the FEniCSx were you started with? Can you share with us some of your experience in the modification of the adapter? Which FEniCSx version were you using, I found that there are quite some changes from FEniCSx from 0.4 to 0.5. Thanks.

Hi @kwwo,

I started working on this topic with a commit in between v0.3 and 0.4, you can find my setup here. When I started working on this topic the adapter was still in a very early stage of development and it took me quite some time to get along. But now things are already much better, maybe @boris-martin or @IshaanDesai can give an update about the current status of the adapter and the next development steps.

How complex is the geometry that you plan to work on? I had some problems setting up my model with a tag-based boundary definition - that’s still an open issue.

I’d recommend to use the latest version of dolfinx, updating the adapter from v0.3 to v0.4 was not a big deal. We’ll have to update the adapter to v0.5 anyway.

Currently the adapter (in the current pull requests) is indeed designed for 0.4. I thought upgrading to 0.5 would be easy but I haven’t tried yet. I’ve been busy lately but some progress should be made in the next weeks.

1 Like