Fluent 的二次开发可以使用 scheme 和 UDF。
scheme 基于 fluent 的脚本功能,把 fluent 作为一个解释器,但苦于没有官方的文档,只有山寨版的(原来是德语的,似乎几个月前才出现了英文翻译版,也知道了 scheme 会被 python 取代的小道消息)。
UDF 的话就是制作一些动态库作为 Fluent 的插件,用 C 来实现是最方便直接的。其它语言的话最好嵌套一层 C 作为 插件函数的入口, 然后就可以自由编程。
二次开发的一个问题是调用外部程序时的数据交换,往往无法直接进行,但可以用 IPC 的方法。
1 文件
这是比较简单实用的方法。利用 fluent 的 scheme 命令或 UDF 把结果数据提取到文件,然后由外部程序读取。反向也是一样的。
Flowlab 中就是采用这种方式。
1.1 scheme 文件操作
1.2 UDF
2 socket 或其它 IPC 方法
这些方法都不能直接用 scheme 进行,也许改成 python 后可以用脚本进行吧。但是 C 语言的插件可以提供这些功能,然后用 scheme 或 UDF 调用。
3 环境变量
scheme 中可以用 getenv 和 putenv 来操作环境变量,UDF 也可以。