首页/文章/ 详情

利用Ima进行Fluent UDF辅助编程

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家
平台推荐
内容稀缺
20小时前浏览9

鹅厂的Ima是一个知识库工具,我们可以将各种类型的文档放入Ima,然后借助大模型实现文档内容的搜索、总结,并能够根据文档内容实现AI推理等功能。Fluent UDF是基于C语言的程序代码,其在C语言基础上对一些专属于Fluent的程序功能进行了封装,用户需要在封装后的框架体系下进行编程设计。

Fluent UDF的框架源代码是闭源的,我们只能看到头文件暴露出来的各种宏与函数的声明形式,却无法了解到那些功能函数和宏的内部具体实现,因此在编写Fluent UDF程序时,UDF手册是必不可少的指导性文档。在编写UDF代码的过程中,查找UDF手册是基本操作。

然而AI大模型时代,此类操作行为可以在很大程度上被AI取代。首先,目前的AI大模型属于语言模型,天然优势就是和文档文字打交道,其搜索和理解文档的效率远高于人类。其次,目前较多的AI大模型针对编程进行了特别的训练,在程序编制及调试方面可靠性相比以前有了极大的提升。因此,利用AI大模型进行Fluent UDF程序编写也就有了可能。

现在摆在面前的有两个问题:

  1. 现在利用AI进行程序编写比较适合于通用性的编程任务,因为AI在这方面训练得比较多,可靠性比较高。然而对于像Fluent UDF这种进行了二次封装的库,由于缺乏有效的训练数据,导致直接利用AI进行Fluent UDF编程可靠性不高(虽然相比较两年前,可靠性有了极大地改善,但总体还是不太高)。

  2. 有效地利用UDF文档作为编程约束,是提高AI编写UDF程序的可靠性的有效途径。其实对于源代码开源的程序库,将源代码作为约束更有效,比如在OpenFOAM源代码的基础上利用AI进行求解器编写就非常有效,最近尝试过,可靠性极高,分分钟就能按要求定制新的求解器。然而Fluent UDF不行,我们能了解的只有UDF文档和一堆头文件,头文件在编写UDF过程中作为代码仓库也很有用,但最重要的还是UDF文档。因此需要有知识库工具能够解析UDF文档给AI模型。(其实个人认为如果能将UDF文档作为训练数据直接训练大模型,可能效果要更好一些,不过这个属于小众领域,估计没人会做)

Ima作为一款知识库工具,可以实现解析UDF文档的功能。同时Ima提供了DeepSeek大模型调用,也能在一定程度上辅助Fluent UDF程序的编写。虽然DeepSeek模型编程能力相对于其他顶流编程大模型来说不咋地,不过技术在发展,相比较两年前,现在的DeepSeek模型也算是神器了。

下面描述几个简单的应用场景。

1 理解与改造现有的UDF代码

对于已有的UDF代码,可以利用大模型实现代码解释和注释。比如下面这个简单的UDF代码。

 #include "udf.h" 
 DEFINE_ADJUST(my_adjust,d)
 {
    Thread *t;
    real sum_diss=0.;
    cell_t c;
    thread_loop_c(t,d)
    {
     begin_c_loop(c,t)
      sum_diss += C_D(c,t)*
      C_VOLUME(c,t);
     end_c_loop(c,t)
    }
    printf("Volume integral of turbulent dissipation: %g\n", sum_diss);
 } 

可以利用Ima进行解读,并让它给程序添加注释,然后直接让Ima添加注释并解释代码,结果如下图所示,简直是完美。如果代码很长,也可以将代码文件上传到ima并进行相同的操作。

我们还可以让Ima将上面的程序代码转换成并行版本。输出如下图所示,简直不要太酸爽。

2 创建新的UDF代码

也可以在Ima中输入需求,然后利用Ima进行Fluent UDF程序代码的编写。下面举了个简单的例子,看结果输出,就说good不good吧,个人觉得还是相当不错的,基本不需要进行任何修改就可以直接用了。


Ima用起来效果还是不错的,不过如果能够将Ima与AI IDE连起来用就更好了,也不知道以后会不会有这种操作。个人觉得随着未来AI性能的不断提高,机器编程终将代替人脑编程,尤其是那帮靠复 制粘贴打天下的码农。



来源:CFD之道
FluentOpenFOAMUDF通用UM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-09-07
最近编辑:20小时前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2649粉丝 12101文章 843课程 27
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈