Fluent表达式基础实例解析

1. 表达式介绍

UDF的使用虽然很方便,但入门需要一定的门槛,导致很多同学不敢深入学习。Fluent新的版本提供了表达式Expression功能,能够对UDF进行一定的替代和补充。




注:

a. 表达式功能最重要的一点就是量纲要统一,大部分的表达式出现问题,都是量纲问题

b. 很多时候表达式比UDF还要复杂,与其纠结表达式,不如踏实学习UDF

c. 表达式并不是UDF的简化版本,对于缩减操作,表达式有其独有的优势。




2. 表达式案例

本文通过三个案例简单介绍表达式功能的使用。


2.1 案例1:入口速度随时间变化


这个案例看似非常简单,对于UDF来说确实如此,但对于表达式来说可能就比较麻烦。表达式最麻烦的地方就在于量纲要统一。

让模型的入口速度随时间变化,这里设置速度是时间的三角函数的绝对值。我们需要注意的就是要让表达式的量纲统一,这也是大家使用expression经常出错的地方。





1. 打开Fluent,导入想要设置的case,这里在文章末尾给大家提供了我所使用的case。由于使用到了时间t,因此必须是瞬态




2. 双击Boundary condition,找到需要设置表达式的边界,设置为velocity inlet。




双击in边界,在Velocity Magnitude后的下拉列表后面选择expression





选择expression后,可以直接在Enter Expression输入公式。也可以点击后面的f(x),弹出expression窗口输入公式





3. Expression窗口




简单介绍一下,后面会有文章详细介绍:

①输入公式的文本框

②Functions自带的各种函数,包含条件函数Conditional如if、数学公式Mathematical比如绝对值函数、最大最小值函数等。其中的Reduction函数比较难理解,也比较重要。




③Variables Fluent中所能输出的物理量,包含压力、温度、速度等




④Constants自带的常数,比如PI,气体常数R,自然对数e等




⑤Location 模型中的各种区域,包含边界区域和计算域





4. 输入速度公式




公式中的sin可以直接输入文本sin()表示正弦函数,也可从Functions中选择sin函数。公式中的π需要输入PI或者从Constants中选择PI。


表达式中用t来表示时间,可以直接输入t,也可在Variables中选择t。公式中的绝对值用abs函数表示

按照上面的描述,表达式应该为

abs(sin(200*PI*t))




但按照上述公式输入,会发现下面有报错信息,翻译一下:sin函数参数应该是无量纲的或者是角度单位,但现在的公式单位是时间单位s。


也就是说量纲不对,所以我们需要修改量纲,使sin的参数无量纲。如何修改??其实不管那么多强制修改就可以,有s的单位,除以1s就没有单位了

sin(200*PI*t/1[s])

当然还有很多表达方式,只要能保证满足单位要求即可。

sin(200*PI*t*1[s^-1])

sin(200*PI*1[Hz]*t)

注:

a. 表达式的量纲格式为[Pa kg^-3 s],用中括号括起来,指数用^表示;复合单位,单位和单位直接用空格,用*也可以。

b. 修改公式量纲原则:怎么修改都可以,不需要考虑物理意义,只要满足量纲要求就行


按照上述公式输入后,又提示错误




错误信息:公式单位错误,需要的公式单位使[m s^-1],但给出的公式单位是[]无量纲。


仍然是量纲问题,虽然我们使sin函数满足无量纲的要求了,但速度公式要求的是m/s的单位,因此需要将公式单位改为m/s。还是有多种方式,比如

sin(200*PI*t*1[s^-1])*1[m/s]

sin(200*PI*t*1[s^-1])*1[m*s^-1]

1[m*s^-1]*sin(200*PI*t*1[s^-1])


按照上面的公式输入后,窗口会变成下图






此时不再出现报错信息,同时会出现Primary Independent Variable框,此框用于绘图。Min和max表示自变量的范围,count表示绘图的节点数。



计算验证

把上面的公式输入后,进行计算验证,检测入口速度随时间变化曲线。下面是一个周期的图像








2.2 案例2:壁面温度随x轴变化


上面的例子介绍的比较详细,这个例子当作练习,简单说明。

假设壁面温度和x的函数关系为二次函数

Tw=273+30*x+20*x^2


步骤和案例1相同,这里我们只对输入公式进行说明(涉及到温度,需要打开能量方程)






在wall边界中,勾选Temperature,点击expression,进入到输入公式界面。


公式说明:Tw=273+30*x+20*x^2

a. 公式中的x表示x轴坐标,可以直接输入x,也可以在Variables中选择x坐标





b. 最重要的还是量纲问题,273无量纲,30*x量纲是[m],20*x^2量纲是[m^2]。需要将公式的量纲调整为K。


c. 调整量纲思路:将公式的每一项都变成无量纲,最后统一变成K

(273+30*x/1[m]+20*x^2/1[m^2])*1[K]






导入公式后,初始化。查看wall壁面的温度分布








2.3 案例3:材料密度为压力和温度的函数


认为空气密度是压力和温度的函数,根据理想气体状态方程可得到





其中的R为气体常数,单位为J/(K·mol);M为空气的分子量M=29g/mol


公式说明:

a. 公式中的P和T均为Fluent可以提供的物理量,通过Variables选取即可





b. R为气体常数,如果是自己输入的话,是没有单位的;但是Fluent的Constants提供的R包含了单位J/(K·kmol)。





c. 按照上面物理量的量纲,M=29kg/kmol。最终公式:

AbsolutePressure*29[kg/kmol]/(StaticTemperature*R)


导入公式后可以画出曲线图






回到材料设置界面,单击Change按钮会出现报错信息





信息显示密度表达式不能同时是温度和压力的函数,说明Expression的方式还是有局限性。



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空