1 问题描述
本案例利用UDF指定壁面温度分布。案例模型如图所示。
入口为空气,温度为 300 K,上壁面为绝热,下壁面温度与X坐标相关,描述为:
下壁面温度分布采用UDF进行指定:
#include "udf.h"
#define PI 3.141592654
DEFINE PROFILE(temperature profile, thread, position) { real r[3]; real x; face t f; begin_f_loop(f, thread) { F CENTROID(r,f,thread); x = r[0]; F PROFILE(f, thread, position) = 300.+100.*sin(PI*x/0.005); } end_f_loop(f, thread) }
2 读取网格
-
利用菜单File → Read → Mesh读取网格文件
网格如下图所示。
3 开启能量方程
-
右键选择模型树节点Setup > Models > Energy,选择弹出菜单项On
4 编译UDF
本案例的UDF可以采用解释或编译的方式运行。这里采用解释的方式加载。
-
右键选择模型树节点Parameters & Customization > User Defined Funcitons,选择菜单项Interpreted…
-
在弹出的对话框中点击按钮Browse…,选择UDF源文件wallprof.c,点击Interpret解释源文件
5 边界条件设置
5.1 wall-1设置
设置底部壁面温度分布。
-
右键选择模型树节点Boundary Conditions > wall-1
-
切换到Thermal标签页,选择Temperature,设置温度为前文解释得到的UDF,如下图中标志2所示
-
点击OK按钮关闭对话框
5.2 设置速度入口
-
右键选择模型树节点Boundary Conditions > velocity-inlet-1
-
在弹出的对话框中设置Velocity Magnitude为1 m/s
-
点击OK按钮关闭对话框
6 设置残差
降低收敛残差至1e-5。
-
右键选择模型树节点Solution > Monitors > Residual
-
在弹出的对话框中,设置除energy外,其他物理量残差为1e-5
7 初始化
-
右键选择模型树节点Solution > Initialization,选择弹出菜单Initialize进行初始化
8 计算求解
-
鼠标双击模型树节点Solution > Run Calculation
-
右侧面板中设置Number of Iterations为200
-
点击按钮Calculate进行计算
大约计算60多步达到收敛。收敛残差如下图所示。
9 温度场分布
-
右键点击模型树节点Result > Graphics > Contours,选择弹出菜单Edit…
-
在弹出的对话框中,设置Contours of为Temperature及Static Temperature
-
点击Display按钮显示温度分布
显示温度如下图所示。
10 显示底部面温度分布
以曲线形式显示底部面上温度沿X轴分布。
-
右键点击模型树节点Results > Plots > XY Plot,选择弹出菜单Edit…
-
在弹出的对话框中,设置Y Axis Function为Temperature及Static Temperature
-
选择Surfaces列表项为Wall-1
-
点击按钮Save/Plot按钮显示曲线
显示的曲线分布如下图所示。
本案例文件可以在这里自取:【链接:http://pan.baidu.com/s/1geZ3kwb 密码:pyfe】,小伙伴们不妨自己动手尝试一番。
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册