Outlet BC and time stepping

Questions and remarks about code_saturne usage
Forum rules
Please read the forum usage recommendations before posting.
Post Reply
AdamLarat
Posts: 13
Joined: Fri May 16, 2025 3:30 pm

Outlet BC and time stepping

Post by AdamLarat »

Hello,
I am running a code_saturne simulation where 3 heating bars are embedded within a still air environnement. The only dynamics of the case is elevating air due to buoyancy at the heating bars.
For the Boundary Conditions, I have imposed a wall at the bottom and I wish to let the three (left, right an top) remaining BC free. Thus, I prescribed a "free inlet/outlet" BC at these boundaries but I seem to encounter numerical stability issues, see screenshot attached.
The chessboard instabilities at the external boundaries appear only when the first buoyancy dynamics reaches these boundaries.
Does anyone know how I can overcome this issue:
1) would reducing the time step (time stepping is time varying at the moment) help? Is there any rule for these BC? 
2) would any other BC be more appropriate for this case?
Yvan Fournier
Posts: 4247
Joined: Mon Feb 20, 2012 3:25 pm

Re: Outlet BC and time stepping

Post by Yvan Fournier »

Hello,

It seems you missed the attachment.

In any case, open boundary conditions are the trickiest. Although free inlet/outlet BC's are the correct BC to use, the GUI does not allow defining backflow conditions, so these must sometimes be completed with user-defined functions.

You should check the CFL number, but if you encounter checkerboarding, it is possible that the time step is too small in that area (at least this is what I have sometimes observed). This is possibly related to the fact that the Rhie&Chow filter used in to velocity/pressure coupling has a term proportional to the time step, and loses its efficiency where the CFL is very small.

With a screenshot and a few iterations worth of the run_solver.log I might have better suggestions. If all else fails, padding the mesh to move the BC's farther out (so that recirculations occur in the domain, not at boundaries) may also help.

Regards,

Yvan
AdamLarat
Posts: 13
Joined: Fri May 16, 2025 3:30 pm

Re: Outlet BC and time stepping

Post by AdamLarat »

Thank you Yvan for your fast answer and sorry for the missing attachement. I remember adding it to the post, but I certainly did not go all through.
Here is the screenshot at iteration 700, we can see the plume which has formed at the left heating bar (others have been deactivated), and the instability occuring at the boundaries.
I also attach the run_solver.log file. Let me know if I could provide you with any additional useful information.
Capture d’écran de 2025-08-28 12-40-35.png
run_solver.log
(1.87 MiB) Downloaded 79 times
AdamLarat
Posts: 13
Joined: Fri May 16, 2025 3:30 pm

Re: Outlet BC and time stepping

Post by AdamLarat »

Hi !

I have successfully reduced the amount of instabilities by using "local time stepping" and increasing the reference time step.

This is very unusual to me: in my referential increasing the time step means amplifying the numerical instabilities. Is the time stepping explicit or implicit?

Anyway, the solution looks good until the upper free inlet/outlet BC is somehow clogged by some recirculation which won't go away, even though this greatly accelerates the flow around the heating bars.
The phenomenon is illustrated in the video attached:
BoundaryConditionsClogging.mp4.zip
(320.2 KiB) Downloaded 65 times
My questions are:
1) Do you have any idea how this BC clogging occur and how to overcome it?
2) My goal is to run a coupled simulation with Syrthes, the heat flux at the bars being calculated by Syrthes. For what I have experienced so far, coupling Saturne with Syrthes requires "fixed time stepping". Is it possible to use "local time stepping" during a Syrthes coupled simulation?
3) If the answer is "no", I wonder how I will handle the Saturne BC with the constant time stepping in my coupled simulation. I have tried different constant time steps, varying from small (Δt = 1.0e-4s) to large (Δt = 1.0s) and none provide a correct behavior of the solution.

Thank you very much for your help! :-)
Post Reply