I was wondering if anyone could help me understand the proper way to setup a conjugate heat transfer problem. I have run a few Navier-Stokes (NS) problems with Elmer, and feel pretty confident about getting consistent results, even with thermally driven flow. The issue arises when I try to excite the system by applying a heat load to a solid, which is then connected to a fluid. The thermal system converges almost immediately, but the fluid system doesn't seem to advance. I have two systems of equations, one for the fluid (air), which includes the Heat Equation and NS, with calculated convection, and the second which is just the heat equation applied to the solid. I have tried running it both steady and transient without success. The attached sif file is indicative of what I have tried, playing with the solvers, preconditioning and solver order. I can try to share the mesh, but it has 4M elements (it is a very simple geometry, so I am not sure why there is an issue), and is around 500MB as a unv file. (Images attached)

I have also tried this problem with slightly different boundary conditions (which are more reflective of what I am trying to do) in which I have both solid and fluid thermal excited boundary conditions, and those seem to crash the most. When I apply the thermal boundary as a heatflux, there doesn't seem to be any excitation, but when I apply it as a temperature, I can get very small time steps to converge, but it ultimately diverges as the time progresses.

My main questions is if I have setup the solvers correctly to reflect the solid-fluid thermal relationship, and what could be the cause of my divergence/lack of convergence problem?

I wanted to follow-up on my own post, in-case someone else comes along and has a similar problem.

The coupling of the NS and heat equation for natural convection in Elmer is correct in the previous sif file, as well as the coupling to solve for the heat transfer in the solid. The issue arises in my model from the mesh. As I investigated further, it became apparent that my mesh quality was less than perfect. Since the flow is also driven by the heat diffusion into the fluid medium, the quality of the boundary layer mesh is of the highest importance. I found that there were some issues with the transition rate in the boundary layer which caused major instabilities both up and down stream of the flow along the "vertical axis" (the direction of the flow, and the direction of the application of gravity, which in my model is the Y-axis). By removing both the sharp external corners, and adjusting the density and thickness of the boundary layer mesh, I was able to successfully simulate the problem using a transient analysis with small time steps. Once the initial time step converged, each further time step converged in around 10 iterations. The model has around 1.6M elements, and took a total of 11.6 hours to run.

The initialization was also key. In order to ensure there was some driving force in the fluid at t=0, I made the solid body initialize at 2ºC warmer than the enveloping fluid, as I found some numerical difficulties occur without it.

I am going to make some additional changes, but I will upload the complete case here as a reference for people in the future.

Also, expert Elmer users, if you see any errors in the methodology or results, please feel free to let me know.

Generally there are limits on the Reynolds and Peclet numbers when you can obtain a steady state solution. Also for transient case if you choose too long timesteps you will filter out the smaller timescales. Sometimes this is what you want, sometimes not. If timesteps become very small Elmer with these settings might not be that efficient. Most CFD codes use velocity and pressure correction schemes that are only conditionally stable but way more economical. Elmer uses monolithic Navier-Stokes which is far better in the elliptic regime.

Just a note for the output: .ep (ElmerPost) saving is not probably needed. Also .vtk is obsolite and .vtu format is recommended.