Skip to Main Content

   

Ansys博客

July 9, 2019

Ansys技巧与小窍门:将表达式直接输入到Fluent UI

如果每个仿真都有固定的边界条件和单元区域设置,岂不是很好吗?遗憾的是,世界并不是固定不变的,因此许多工程师都面临着在仿真的某些阶段输入可变设置的挑战。

因此,这里想向您介绍将表达式直接输入到Ansys Fluent用户界面(UI)中的功能。

目前,如果需要指定可变的边界和单元区域条件,Fluent用户必须编写Fluent用户定义函数(UDF)。

UDF很容易变得十分复杂。例如,图1显示了基于函数Energy(t) = 90000*sin(t) [W/m^3]设置正弦波动热源所需的Fluent UDF代码。


图1:基于函数
Energy(t) = 90000*sin(t) [W/m^3]设置正弦波动热源所需的Fluent UDF代码

即使是像图1中的小型UDF,也需要进行大量的过程才能创建。例如,要创建此UDF,工程师需要转换单位、用C语言进行编程并学习Fluent中特定的编程概念。

这些概念包括但不限于:

  • 索引(Fluent UDF的数据结构)
  • 宏命令(如DEFINE_SOURCE)
  • 数据访问宏(如CURRENT_TIME)

即使对于经验丰富的用户而言,这也可能需要一段时间。这就是为什么Fluent UI表达式如此有价值。它们基于采用说明性和解释性语言的表达式,使Fluent用户无需编写、编译和加载UDF,即可让仿真的边界更加灵活。

通过表达式,工程师可以利用数学函数、逻辑运算符、Fluent场变量和其它常见概念的组合来简化复杂边界和单元区域条件的规范。

 

如何在没有UDF的情况下将表达式输入到Fluent UI

UDF虽然功能强大,但要求用户具备一定的编程知识。然而,表达式可以将Fluent丰富的定制功能扩展到更多用户。

回到图1中的波动热源,现在我们可以使用标准数学符号(并整理单位)轻松地将其作为表达式进行输入。如图2所示,表达式(sin(Time/1[s]))*90000[Wm^-3]现在可以直接输入到Fluent UI中。


图2:现在可以通过用户界面使用标准数学符号轻松添加表达式。

编辑器允许工程师在单个界面中命名、定义和描述表达式。然后,可以在多个边界和单元区域条件中使用这个命名的表达式来创建任何所需的表达式组合。


图3:表示正弦波动热源的表达式曲线图
 

在以前的Fluent版本中指定此表达式涉及编写/解释/编译C语言文件、构建UDF并将其关联到边界条件。使用命名的表达式则可以消除这些额外的步骤。

此外,这些表达式可用于定义条件单元区域源项、模型和求解器设置(如重力加速度)。用户也可以直接在边界条件面板中输入表达式。

一系列丰富的数学、三角函数和其它函数可用于定义这些表达式,其中包括:

  • 位置变量(如时间)
  • 场变量(如总温度和螺旋性)
  • 求解器变量(如时间步和迭代)
  • 归约运算(如最小值、最大值、平均值和总和)

此外,布尔表达式也可用于网格自适应的准则、细化和尺寸标准。

如欲了解有关表达式的更多信息,敬请观看网络研讨会回放:直接输入表达式可加快和简化Ansys Fluent仿真