Fluent 2019版本中加入了表达式功能,本文简单介绍Fluent中的表达式功能。
注:用过CFX就知道这表达式用起来有多么的方便了。Fluent中的表达式与CFX类似。
Fluent表达式语言是一种基于Python的解释式语言,利用表达式可以:
-
指定与时间、迭代次数、位置和求解变量相关的复杂边界条件和源项。
-
根据时间或迭代指定各种模型和求解器设置。
1 表达式语法
表达式是由值、变量、操作符以及函数调用所组成的字符串,在调用特定的变量值时,表达式会返回其计算得到的值。
例如表达式:Vmax*(5.0*exp(-t-0.3 [s]/2.8 [s]))
1.1 表达式数据类型
表达式的计算结果可以是实数、布尔值、实数场或布尔场。如表达式2*StaticPressure
在计算某一区域时会返回一个实数场,而表达式average(2*StaticPressure, ["inlet"])
会返回一个实数值。
1.2 表达式的值
表达式的值可以是实数(例如1.0 e-3)、整数(例如-10,5,37)、布尔值(true或false)或数量。数量是带有单位的实数。
数量的语法为<数字>[<单位>]
,如2324.0 [Pa kg^-3 s]
。数量单位基于CFX。
1.3 表达式操作符及函数
表达式包含众多的操作符及函数,如下表所示。
注:向量可以使用诸如
.x
,.y
形式引用其分量,向量的模可以使用.mag
后缀来引用
2 表达式数据源
表达式的数据主要有四个来源:场变量、求解变量、科学常量、别名。
Fluent的场变量非常多,可参阅用户文档5.5节。
2.1 求解变量
求解变量主要包括:
2.2 科学常数
可以应用常规的科学常数,如表所示。
2.3 别名
利用别名变量引用一些常用的参数。
3 创建并使用表达式
有两种方法可以在ANSYS Fluent中创建表达式:
-
方法1:直接在应用表达式的位置中创建表达式。
-
方法2:创建一个可在多个位置重用的命名表达式。
3.1 直接应用表达式
在一些参数指定的对话框中可以直接使用表达式进行参数指定。
如在边界条件对话框中使用表达式定义边界条件,可以采用以下方式:
-
打开边界设置对话框
-
如下图所示,点击参数右侧的下拉按钮,选择expression
-
在文本框中输入表达式
也可以点击右侧按钮打开表达式编辑对话框,在其中编辑表达式,如下图所示。
表达式也可以直接用在TUI中,如下图所示。
3.2 定义命名的表达式
直接应用的方式虽然简单方便,但是同一个表达式不便于多次调用。在Fluent中可以定义有名字的表达式,这样可以在不同的场合中调用。
可采用以下方式定义表达式:
-
右键选择模型树节点Setup > Expressions,点击弹出菜单项New…打开表达式定义对话框
如图所示定义对话框。若要使用表达式,可如下图所示调用。
注:
正在使用的表达式无法被删除
用户可以通过TUI命令define/named-expressions创建或修改表达式
表达式必须保证量纲 一致
4 保存和导入表达式
命名的表达式可以被保存,也可导入已经保存好的表达式文件。如下图所示,右键选择模型树节点Named Expressions,弹出菜单项中可以选择Export to File保存表达式,也可以选择Import From File…导入已有的表达式。
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册