Ansys Fluent边界条件自定义设置(二) ——Fluent Expressions(上)

AJ-China CAE人必读的公众号       IDAJ中国

来自:IDAJ中国Ansys技术团队 徐淑君

更多资料/视频:产品专栏/Ansys

随着仿真工况的日益复杂,在数值模拟中经常会遇到一些无法在界面上直接赋值的边界条件,比如按一定空间位置排列,随时间变化,或和某个变量相关等等。越来越多的工程师希望对边界条件进行自定义设置。

Ansys Fluent中有以下几种自定义边界条件的方法:

– 利用profile文件赋值

– 采用Fluent Expressions定义

– 编写UDF

今天,我们来了解一下如何采用Fluent Expressions定义边界条件。

 

2019版本开始,Fluent中加入了和CFX中的表达式功能类似的“Fluent Expression Language”(表达式语言)。它是一种基于Python的解释型的声明式语言,是由数值、变量、运算符、函数组成的可以返回一定值的字符串,例如,Vmax*(5.0*exp(-t-0.3 /2.8 ))

表达式可以指定与时间、迭代步、位置、求解变量相关的复杂的边界条件和源项,基于时间和迭代步指定不同的模型和求解器设置。同一个表达式对WindowsLinux都适用。

表达式可以取代部分UDFSchemeJournal的功能,虽然不能完全取代,但比UDFscheme更加易学易用,是非常值得学习的一个功能。 

表达式的值可以是实数,整数,布尔值或数量。数量是具有量纲的实数。数量格式为 [],例如2324.0

表达式的计算结果可以是实数,布尔值,实数场或布尔值场。例如,2 * StaticPressure在一个区域上计算时,会返回real field(实数场);而average2 * StaticPressure[inlet])返回的是一个实数值。

表达式包含很多运算符和函数,如下表所示。

描述

函数

运算符

+, -, *, /, ** (power), ^ (power), >, >=, 

传统

AND(, , …)

IF(, , )

NOT()

OR(, , …)

XOR()

双曲线

acosh()

asinh()

atanh()

cosh()

sinh()

tanh()

数学

abs()

*besselJ(n**, )

*besselY(n**, )

ceil()

exp()

floor()

gradient()

log()

log10()

max(, , …)

min(,, …)

mod(, )

normalize(,[,…])

round()

sqrt()

step()

trunc()

*besselJ 是第一类贝塞尔函数,besselY 是第二类贝塞尔函数。

**n 必须是“double”类型的常量。

归约

Area([, , …])

AreaAve(Field, [‘location’])

AreaInt(Field, [‘location’])

*Average(, [, , …], Weight= )

Centroid([‘location’])

Count([‘location’])

CountIf(Boolean_Expr, [‘location’])

Force ([‘location’], …)

MassAve(Field,[‘location’])

MassFlow([‘location’])

MassFlowAve(Field, [‘location’])

MassFlowAveAbs(Field, [‘location’])

MassFlowInt(Field, [‘inelt1’], [‘inlet2’])

MassInt(Field, [‘location’])

Maximum(, [, , …])

Minimum(, [, , …])

Moment(, [‘location’])

PressureForce([‘location’], …)

*Sum(, [, , …], Weight= )

SumIf( Field, Boolean_Expr, [‘location’], Weight=)

ViscousForce([, , …])

Volume([, , …])

VolumeAve(Field, [‘location’])

VolumeInt(Field, [‘location’])

三角

acos()

asin()

atan()

atan2(, )

cos()

sin()

tan()

矢量

cross(, )

dot , )

unitVector(, , )

.dir

vector(, , , [“unit”])

 

不要在单个表达式中使用多个比较运算符,因为该运算将无法正常工作。 例如,400 > StaticTemperature> 300 将不起作用。要完成此表达式,请使用ANDStaticTemperature> 300 StaticTemperature )。

 

表达式的数据主要来源有场变量、求解变量、科学常数、别名(Aliases)、profilesFluent 后处理场变量的子集可用于表达式。求解变量有当前时间Time、当前时间步Timestep、当前时间步长DeltaTime 和全局迭代次数Iteration

科学常数,如下表所示。

变量

描述

PI

圆周率Pi

3.14159265358979323846

e

来源:艾迪捷信息科技(上海)有限公司

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年11月1日
下一篇 2022年11月1日

相关推荐

发表回复

登录后才能评论