读者提问:

在Polyflow后处理中可以编辑类似这种带有判断式的公式吗?假设X是变量,诸如温度,速度之类的。
If(x < 10) Q = 2x else Q = 1

问题解答:

在CFD Post中可以使用if条件语句进行上述操作。
if语句的使用格式如下:if( cond_expr, true_expr, false_expr )其中:
  • cond_expr:用于进行测试的逻辑表达式。

  • true_expr:当逻辑表达式为真时所执行的数学运算表达式。

  • false_expr:当逻辑表达式为假时所执行的数学运算表达式。

    需要注意的是,true_exp以及false_expr表达式无论逻辑表达式是真还是假时均单独运算。其结果是条件表达式在这样的表达式if( x>0, 1/x, 1.0)中不能避免除零错误,当x=0时,而无论x>0的条件是否满足表达式1/x也会执行。


在CFD Post中X已经用作几何变量,这里需要回避。首先新建一个Expression,Name为x1,Definition中输入
3
然后新建一个Expression,Name为Q,Definition中输入
if(x1<10 , 2*x1, 1)
Q的值显示为6,如图所示。

93967e5c0bc9cee6a8247bf0b55eb8d1.png

同理,将表达式x1的值修改为10,则表达式Q的值变化为1。如果将变量为速度VELOCITIES或其他变量,需要注意单位设置,如下所述。
if(VELOCITIES<10 [mm s^-1], 2*VELOCITIES,1 [mm s^-1])
表达式Q后续也可以定义一个新的变量,用于后处理变量场的可视化。
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐