Fluent表达式详解

什么是Fluent Expressions?

  • 是一种基于Python的解释型的声明式语言
  • 功能
    • 指定与时间、迭代步、位置、求解变量相关的复杂的边界条件和源项
    • 基于时间和迭代步指定不同的模型和求解器设置
  • 由数值、变量、操作符、函数组成的可以返回一定值的字符串
    • Vmax(5.0exp(t-0.3[s]/2.8[s])
    • 返回的数据类型可以是数字、场、布尔值
      • 2 * StaticPressure; 当它在一个域上进行计算时, 它返回域 (Zone) 的场
      • average (2 * staticPressure, ["inlet"]); 返回一个具体的实数值
  • 表达式的值可以是一个实数、整数、布尔数或Quantities
  • Quantities是一个带有量纲的实数。[]
    • 例如:23.0[Pa Kg^-3s]
    • 需要进行单位的指定

单位的指定

-数据的量纲用单位或单位的组合 定义。例如:

  • 质量的单位可以是: [kg], [g], [lb]
  • 压力的单位可以是: [atm], [ \left[\mathrm{m}^{\wedge}-2\right],[\mathrm{Pa}]
  • 单位字符串的形式一般为 [multiplier| unit|^power]
    • multiplier是一个倍乘数, 例如: mega, pico, centi等
    • unit是单位, 例如: k g, m, J ,等
    • power是指数 -整个单位字符串必须用方括号包围, [...]。

-单位的声明需服从如下规则:

  • 必须包含一个或多个unit
  • 独立的unit必须用一个或多个空格分割
  • multiplier和power不是必需的
  • 可以使用缩写形式的multiplier。n(nano), \mu (micro), c(centi), k(kilo), m(milli), \mathrm{M}( mega), G(giga)
  • Power以^代替。不支持使用/,所以必须使用负指数,如 [kg \left.\mathrm{m}^{\wedge}-3\right] 。但是, 可以使用/unit, 如 \mathrm{m} / \mathrm{s}
  • 不能以量纲术语 (例如:mass, length, time, temperature, angle) 给定单位。但\mathrm{Pa} 和J可以接受
  • 单位字符串大小写敏感。例如Kg和KG是无效的

单位的验证

  • 如输入单位与物理量所需的单位不一致, 软件会弹出对话框进行提示
  • Fluent会自动验证表达式的单位并给出警告
    • 例如: 1 [cm] + TotalPressure
    • Fluent会给出警告。因为二者单位不一致
    • 例外: 缺失括弧有可能不报警。例如: Area(["inlet"]) vs Area["inlet"]
  • Fluent允许同一个表达式内使用不同的单位系统
    • 例如: 1 [atm] + 200[\mathrm{~Pa}]

操作符、数值和函数

  • 操作符


  • 条件运算
  • 数值
    • 表达式内的数值可以是实数、整形数、布尔值或Quantities
  • 双曲函数、数学函数、归约、三角函数
  • 矢量的分量可通过后缀. x, . y, . z 获得, 模可以后缀.mag获得 -IF语句
    • IF( , <true_value > , <false_value > )

表达式创建

  • 直接创建


  • 生成Named Experssions


  • 表达式相关条件(Contest Specification)指定
    • 在多组分/多相系统中,大量的值是与组分/相相关的
    • 例如:MassFracion(species="co2",phase="smoke")

案例1:抛物线型进口速度分布

  • 定义Named Expression为 umax =0.2[\mathrm{~m} / \mathrm{s}] ,表示进口周线上最大速度
  • 定义 Named Expression为 Radius =\operatorname{sqrt}\left(\right. Area \left.\left(\left[{ }^{\prime} i^{\prime \prime}\right]\right)\right) / \mathrm{PI} ,表示管径
  • 定义 Named Expression为 radius =\operatorname{sqrt}\left(x^{* } 2+z^{ *} 2\right) ,表示当地半径
  • 定义 Named Expression为 uprofile =\operatorname{umax}^{*}(1- (radius/Radius) * * 2 )
  • 将uprofile指定为进口速度

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

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

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

* 公司名称:

姓名不为空

手机不正确

公司不为空