在CFD仿真中,难免会涉及到各类变量,例如随温度变化的流体粘度、随时间变化的入口流量等。这类变量很多时候都需要使用函数关系式表示。
本文将对在Ansys Fluent中如何巧妙使用表达式处理繁多复杂变量展做出详细阐述。
在Fluent中,有三种方式处理变量:
1
表达式(Expression)
表达式是Fluent内置的功能,相对直观简单,更加易学易用。与此同时,表达式存储在Fluent的CAS文件中,不需要其他文件。
2
UDF(User-Defined Function,用户自定义函数)
UDF是C语言代码,可应用于所有需要指定的参数,也支持所有C语言支持的数学运算,但其编写和读取较表达式方法更复杂。UDF代码保存在C语言代码文件中,独立于Fluent的CAS文件。
3
Profile(目前无公认翻译,根据其内容和作用,可译为数据表)
数据表中存储着物理量随空间坐标和时间的变化关系,功能上仅适用于定义边界条件和计算域参数,不能处理其他问题(材料属性、时间步长、物理机理等)。数据表保存在独立的表格文件中,可使用Excel等软件读取和编辑。
相较而言,采用表达式的主要优点在于:
定义方式简单明了,且可视化;
不引入额外文件,方便管理;
兼容性强,Fluent版本升级和操作系统环境改变后无需额外处理;
表达式是一个显函数,显式地表示了自变量和对应的因变量之间的关系。其基本定义方式为:A=f(B, C, D…),其中A为因变量,B、C、D等为对A的数值有影响的自变量。
在Fluent中,自变量可以为空间坐标、物理时间、几何参数、流场物理量等多种类型,具体请参考Fluent帮助文档。
表达式的函数计算,包括数学计算(四则运算、指数运算、三角函数、数理统计函数等)和逻辑运算(IF、AND、OR等逻辑条件)。
1
直接使用表达式
对于很多参数,其数值设置页面下拉菜单都有表达式选项。这些参数的设置可以直接输入表达式进行设置。
入口速度选择如图所示的表达式选项。
2
命名表达式(Named Expression)
对于一些常用但是编写很复杂的表达式,Fluent中可以使用命名表达式的方式将其进行封装,直接进行调用即可。
3
表达式中单位制的处理
表达式中,所有输入和输出数据的单位制均为国际单位制(kg-m-s),所以对于数据单位制、网格尺度等信息需要进行检查,保证单位制的统一。对于非国际单位制的输入,Fluent表达式在运行过程中会自动且强制地转换为国际单位制。
在运用表达式的过程中,Fluent会自动计算所需要的量纲和表达式运算结果量纲是否相同。然而实际运用中,难免会碰到三角、指数等难以评估量纲的函数关系,量纲问题会提示错误。
本文为艾羽科技技术部工程师发布在CSDN的原创文章,遵循CC 4.0 BY-SA版权协议。
https://blog.csdn.net/weixin_44010204/article/details/120038813