解释型UDF及其局限性

Fluent中的UDF可以通过编译或解释的方式加载运行。Fluent 内置了解释器,因此采用解释方式加裁 UDF,无需额外安装其他程序。但如果需要编译UDF,则需要配合第三方编译工具来实现,官方推荐 UDF 编译工具为 Microsoft Visual Stucio。

解释型 UDF

解释型UDF 不需要额外的编译器,利用Fluent 软件自身即可解释源代码。在解释过程中,UDF 源代码被C 预处理器解释成中间的独立于计算机体系之外的机器代码。之后在调用 UDF 的过程中,这些被解释器生成的机器代码将在内部仿真器或解释器上被执行。
当然,这种以解释的方式运行无可避免地会损失计算性能。但是以解释方式运行的 UDF有个好处:其可以不加修改地在不同体系的计算机、不同的操作系统以及不同的Fluent版本中运行。
当 UDF 的计算性能很重要时,建议以编译的形式运行 UDF。所有解释型 UDF 都可以以编译的方式被 Fluent 加载。
在UDF 被解释后保存cas 文件,之后再打开 cas 文件时,UIDF 能够直接被加载,而无需重新解释。

解释型 UDF 的局限性

解释型 UDF 的优势是一次解释,到处可以执行,能够跨平台、跨架构、跨操作系统、跨版本。但是解释型UDF也存在其局限性,主要体现在:

① 无法使用 goto 语句;
②只支持 ANSI-C 语法;
③ 不支持直接数据结构引用 (direct data structure references);
④不支持局部结构声明;
⑤ 不支持联合体;
⑥ 不支持指向函数的指针;
⑦ 不支持函数数组。

在访问 Fluent 求解器数据的方式上解释型 UDF 也有限制。解释型 UDF 不能直接访问存储在Fluent 结构中的数据。它们只能通过使用 Fluent 提供的宏间接地访问这些数据。另一方面,编译型 UDF 没有任何C编程语言或其他求解器数据结构的限制。

                                                                       ——来源《ANSYS Fluent二次开发指南》胡坤 编著

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值