
来自: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 [s]/2.8 [s]))。
表达式可以指定与时间、迭代步、位置、求解变量相关的复杂的边界条件和源项,基于时间和迭代步指定不同的模型和求解器设置。同一个表达式对Windows和Linux都适用。
表达式可以取代部分UDF、Scheme、Journal的功能,虽然不能完全取代,但比UDF、scheme更加易学易用,是非常值得学习的一个功能。
表达式的值可以是实数,整数,布尔值或数量。数量是具有量纲的实数。数量格式为 [],例如2324.0 [Pa kg ^ -3 s]。
表达式的计算结果可以是实数,布尔值,实数场或布尔值场。例如,2 * StaticPressure在一个区域上计算时,会返回real field(实数场);而average(2 * 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=[Weight]) ViscousForce([, , …]) Volume([, , …]) VolumeAve(Field, [‘location’]) VolumeInt(Field, [‘location’]) |
三角 |
acos() asin() atan() atan2(, ) cos() sin() tan() |
矢量 |
cross(, ) dot , ) unitVector(, , ) .dir vector(, , , [“unit”]) |
不要在单个表达式中使用多个比较运算符,因为该运算将无法正常工作。 例如,400 [K]> StaticTemperature> 300 [K]将不起作用。要完成此表达式,请使用AND(StaticTemperature> 300 [K],StaticTemperature )。
表达式的数据主要来源有场变量、求解变量、科学常数、别名(Aliases)、profiles。Fluent 后处理场变量的子集可用于表达式。求解变量有当前时间Time、当前时间步Timestep、当前时间步长DeltaTime 和全局迭代次数Iteration。
科学常数,如下表所示。
变量 |
描述 |
值 |
PI |
圆周率Pi |
3.14159265358979323846 |
e |
自然对数的底数e |
2.71828182845904523536 |
R |
气体常数 |
8.314472 [J K^-1 mol^-1] |
avogadro |
阿伏伽德罗常数 |
6.02214199e23 [mol^-1] |
boltzmann |
玻尔兹曼常数 |
1.3806503 [J K^-1] |
clight |
光速 |
2.99792458e8 [m s^-1] |
echarge |
电子电荷 |
1.60217653e-19 [A s] |
g |
重力加速度 |
9.8066502 [m s^-2] |
planck |
普朗克常数 |
6.62606876e-34 [J s] |
stephan |
斯蒂芬–玻尔兹曼常数 |
5.670400e-08 [W m^-2 K^-2] |
mupermo |
磁导率 |
4.0*PI*1.0e-7 [N A^-2] |
epspermo |
介电常数 |
1./(clight*clight*mupermo) |
利用别名可以引用一些常用的参数,如下表所示。
别名 |
变量 |
x |
Position.x |
y |
Position.y |
z |
Position.z |
u |
Velocity.x |
v |
Velocity.y |
w |
Velocity.z |
t |
Time* *在稳态下,时间评估为 0,除非案例在瞬态中运行,然后切换到稳态,在这种情况下,它将评估为瞬态运行的最晚时间。 |
dt |
DeltaTime* *在稳态下,增量时间评估为 0,除非案例在瞬态运行,然后切换到稳态,在这种情况下,它将评估为瞬态运行的最新增量时间。 |
iter |
Global iteration count |
T |
StaticTemperature |
P |
StaticPressure |
mf |
MassFraction |
Amag |
FaceAreaMagnitude |
vol |
CellVolume |
mass |
CellVolume*Density |
可以在表达式中使用profile来指定边界和单元区域条件,用于后处理和归约操作。profile是可以导入到 Fluent 中的表格数据,除了一个或多个因变量列之外,通常还包含 X、Y 和 Z 列(对于空间profile)或时间(对于瞬态profile)。在表达式中使用profile之前,您必须加载一个或多个profile。
profile表达式需要以下输入:profile(‘’, ‘’, frame=‘’)(reference frame参数仅适用于空间profile)。定义profile表达式后,您可以为所需的边界条件或单元域条件字段选择它。
profile表达式示例如图1。
图1 profile表达式
余下内容请见应用技巧| Ansys Fluent边界条件自定义设置(二)——Fluent Expressions(下)。
2015年4月3日: 业界知名CAE&CFD数值仿真软件经销商艾迪捷信息科技(上海)有限公司(IDAJ中国)与美国ANSYS中国公司(ANSYS-China)正式签订ANSYS代理协议。IDAJ中国获得正式授权在中国地区分销ANSYS产品、技术支持及培训服务。
艾迪捷有限公司(IDAJ Co., Ltd简称IDAJ),于1994年成立于日本横滨,是亚太地区更大的仿真技术咨询、综合CAEMBD软件销售和技术服务商之一。IDAJ的业务以软件开发・销售、咨询服务、系统集成为三大支柱,以CFD为核心,广泛覆盖FEA到优化。20年以来,IDAJ为超过1000家公司提供CAE解决方案。特别是在汽车、精密设备、能源、重工及家电行业成绩斐然。IDAJ在日本成功运营后,于1997年正式进入中国市场,成立艾迪捷信息科技(上海)有限公司(简称IDAJ-China)。公司融产品技术、服务于一体,以客户满意,技术创新,员工专业为经营理念,始终致力提供世界领先的数值仿真解决方案及工具,以雄厚的技术力量以及出色的开发能力,赢得广大客户的信任与支持!IDAJ-China经过十余年发展,客户已遍布航空航天、汽车、家电、铁路、电子、船舶、核能等各个领域。IDAJ-China官网:www.idaj.cn
ANSYS公司总部位于美国宾夕法尼亚州匹兹堡,是世界领先的工程仿真软件供应商,40年间为全球各行各业产品研发与优化提供能完全集成多物理场仿真软件工具的通用平台。ANSYS提供综合全面的工程仿真解决方案套件,使用户几乎能访问其设计流程所需的任何领域的工程仿真。从设计理念到最终测试阶段,验证并排除新产品的设计问题,ANSYS软件能够显著加快设计和开发周期,降低成本,洞察新产品性能。ANSYS官网:http://www.ansys.com


