Thermal flow boundary treatment using Neumann/Dirichlet boundary conditions

Questions and remarks about code_saturne usage
Forum rules
Please read the forum usage recommendations before posting.
Post Reply
yang
Posts: 16
Joined: Thu Jul 14, 2022 3:39 pm

Thermal flow boundary treatment using Neumann/Dirichlet boundary conditions

Post by yang »

Hi team,

I am doing a thermal flow simulation as shown in the below figure using code_saturne V7.0.2. The high temperature boundary is on the left face to simulate the natural convection process in the side-open cavity. All boundary conditions are shown in the figure, where is dimensionaless temperature , . I set one grid in the third direction with periodic boundary condition. [Paper:https://doi.org/10.1016/j.applthermaleng.2022.119613]

I used a subroutine file to simulate buoyancy force, which was validated by natural convection in a closed cavity. Besides, to enforce these boundary conditions, I used another subroutine file and attached here. Code_Saturne velocity/temperature fields look unreasonable. Could you have a look the subroutine file? Thanks!

Best wishes
Yang
Attachments
cs_user_boundary_conditions.f90
(7.08 KiB) Downloaded 73 times
geometry.png
velocity.png
Yvan Fournier
Posts: 4168
Joined: Mon Feb 20, 2012 3:25 pm

Re: Thermal flow boundary treatment using Neumann/Dirichlet boundary conditions

Post by Yvan Fournier »

Hello,

I see you have used different BC types (Dirichlet or Neumann) for different velocity components, and I doubt this will work.
I am not sure which BC type will be used, but the processing of the user-defined BC conditions into the coefa/coefb values described in the theoretical documentation involves a coupled logic, and the uncoupled velocity solver was removed from the code quite a few years ago. So the rule is to avoid any definition you could not also express if you were to rotate your coordinate axes. In the developement version for sure, only one BC type can be used fo the velocity.

So I recommend first expressing the BC's a a condition on the velocity vecrtor rather than individual components. In the case, you can probably also do it with the GUI, possibly with user-defined expressions.

Best regards,

Yvan
Post Reply