Fluent的表达式应用

1 简介

    在CFD仿真中,难免会涉及到各类变量,例如随温度变化的流体粘度、随时间变化的入口流量等。这类变量很多时候都需要使用函数关系式表示。

在FLUENT中,有三种方式处理变量:

  • 表达式(Expression)。表达式是Fluent内置的功能,相对直观简单,更加易学易用。于此同时,表达式存储在Fluent的CAS文件中,不需要其他文件
  • UDF(User-Defined Function,用户自定义函数)。UDF是C语言代码,可应用于所有需要指定的参数,也支持所有C语言支持的数学运算,但其编写和读取较表达式方法更复杂。UDF代码保存在C语言代码文件中,独立于Fluent的CAS文件。
  • Profile(目前无公认翻译,根据其内容和作用,可译为数据表)。数据表中存储着物理量随空间坐标和时间的变化关系,功能上仅适用于定义边界条件和计算域参数,不能处理其他问题(材料属性、时间步长、物理机理等)。数据表保存在独立的表格文件中,可使用Excel等软件读取和编辑。

相较而言,采用表达式的主要优点在于:

  • 定义方式简单明了,且可视化
  • 不引入额外文件,方便管理
  • 兼容性强,Fluent版本升级和操作系统环境改变后无需额外处理

表达式是一个显函数,显式地表示了自变量和对应的因变量之间的关系。其基本定义方式为:A=f(B, C, D…),其中A为因变量,B、C、D等为对A的数值有影响的自变量。在Fluent中,自变量可以为空间坐标、物理时间、几何参数、流场物理量等多种类型。表达式的函数计算,包括数学计算(四则运算、指数运算、三角函数、数理统计函数等)和逻辑运算(IF、AND、OR等逻辑条件)。

关于表达式的自变量含义和运算函数详细的语法结构,可参考Fluent帮助文档。

表达式语法和Excel中函数运算几乎相同,学习门槛几乎为0。

2 应用

2.1 直接使用表达式

    对于很多参数,其数值设置页面下拉菜单都有表达式选项。这些参数的设置可以直接输入表达式进行设置。

    入口速度选择如图所示的表达式选项:

Fluent的表达式应用_第1张图片

点击f(x)按钮,打开表达式编辑页面输入表达式。当输入的表达式正确,软件会对数值进行计算或根据函数的计算关系进行绘图。

Fluent的表达式应用_第2张图片

根据表达式计算的数值 

Fluent的表达式应用_第3张图片

 基于表达式的函数关系绘制曲线

2.2 命名表达式(Named Expression)

对于一些常用但是编写很复杂的表达式,Fluent中可以使用命名表达式的方式将其进行封装,直接进行调用即可。

    如图所示,在界面上鼠标右键,点击新建一个命名表达式。

Fluent的表达式应用_第4张图片

 

    在弹出的界面上,输入待封装的函数,并对函数进行命名。其界面和表达式编写规范和直接输入表达式相同。

Fluent的表达式应用_第5张图片

 

在需要调用的地方,可直接作为已封装函数进行调用,无需额外的编写处理。

Fluent的表达式应用_第6张图片

 

2.3 表达式中单位制的处理

    表达式可以支持多种单位类型,程序后台会自动且强制地转换为国际单位制。如下图,km/h 也是速度单位,可以被正确的使用,求解过程中会自动转换为基于 m/s 的数值。

Fluent的表达式应用_第7张图片

 

实际运用中,难免会碰到三角、指数等难以评估量纲的函数关系,量纲问题会提示错误。如下图,使用表达式方法定义流体粘度,粘度和应变率之间满足关系y=x^(-0.52),表达式报错。原因在于,应变率单位为 1/s,如图输入的表达式运算结果的量纲不是粘度单位 Pa*s。

Fluent的表达式应用_第8张图片

 

对此,可以先对输入的物理量进行无量纲化处理,变成 (StrainRate/1[s^-1]),最后对无量纲的指数运算结果乘以 1 [Pa s],以加入量纲。

Fluent的表达式应用_第9张图片

 

2.4 获取结果数据

某些仿真数据是物理量之间的函数运算,例如机翼升阻比、阀门压力损失等。可在report definiton中采用表达式方法获取这类数据。

Fluent的表达式应用_第10张图片

 创建过程中,可调用其他已设置的report definition。如下图所示的升阻比数据,其中升力和阻力均是已设置的report definition,类似于命名表达式一样,可直接进行调用。

Fluent的表达式应用_第11张图片

 

你可能感兴趣的:(ANSYS,ansys)