Flowmaster 与Fluent 耦合接口技术研究
2021-06-23刘诗文王嘉瑞
陈 爽 刘诗文 孙 燕 杨 钊 张 骐 王嘉瑞
(中国核动力研究设计院核反应堆系统设计技术重点实验室,四川 成都610213)
在进行系统仿真计算时,全系统的三维仿真由于计算资源、研究周期等因素限制目前还难以实现。综合考虑计算资源、模拟精度和速度要求,降低维度计算是较为常见的一种处理方式[1,2]。而低维度的系统仿真又过于依赖于经验法则,难以捕捉复杂结构的流动特性。因此,通过不同维度模型的耦合计算,实现系统仿真与关键设备三维模拟相结合成为系统仿真计算的一个重要研究方向。
近年来随着模拟仿真技术的发展,越来越多领域的研究人员致力于采用一维和三维耦合分析的思路来解决问题。Wei Li[4]等人开发了三维仿真软件Fluent 和一维热工水力软件RELAP5的耦合接口程序;张宝亮等人[5]采用Boost 和Flowmaster 软件对发动机及其冷却系统的热平衡进行联合仿真以研究整车热管理;Nobuyuki Yomoda[6]等人通过接口软件CFDlink、MPCCI,实现了Flowmaster 和Fluent 联合模拟。国内外诸多学者在一/三维耦合计算领域开展了大量研究,实现了经济、快速分析。本文基于C#平台开发了Flowmaster 和Fluent 的一/三维耦合程序,并通过Y 型管道模型对耦合程序进行了测试验证。
1 耦合接口开发
一三维软件双向耦合,是将两款软件的计算结果分别作为对方的初始或边界条件,并以此进行迭代计算,因此耦合接口程序的开发关键在于实现两者之间的数据交换,要开发Flowmaster 和Fluent 的耦合接口程序,就必须从两款软件各自的特点出发。
1.1 Flowmaster 耦合接口
Flowmaster 拥有出色的自动化功能(包括脚本文件、控制组件、图形用户界面和自动分析)和完备的二次开发接口,脚本文件和控制器组件可实现Flowmaster 模块功能的扩展,图形用户界面和自动化分析可实现Flowmaster 与其他软件连接,以实现自动化的操作和结果分析。而上述功能均可通过C++、C#和VB等计算机语言编写相关程序实现,这是实现Flowmaster 外部控制的基础。本文选用C#作为软件的前台程序开发平台,通过引用特定模块实现对Flowmaster 的自动化操作。
1.2 Fluent 耦合接口
在耦合接口程序开发中,最为便捷的便是使用同一种编程语言实现对所有语句的编写,然而Fluent 不支持C++、C#和VB等编程语言开发。应用Fluent 的脚本功能,通过Scheme 语言编写的代码可实现对Fluent 的二次开发和自动控制,进而完成修改边界条件、控制计算始末和计算结果的输出等操作。因此,本文选用Scheme 语言实现耦合程序对Fluent 的外部控制。
2 Flowmaster/Fluent 耦合程序
以C#作为Flowmaster/Fluent 耦合程序的开发平台,通过相继调用Flowmaster 和Fluent 作为后台服务程序的方式实现一三维耦合计算,耦合程序总结结构框架如图1 所示。Flowmaster 与Fluent 耦合程序在时间步进上采用显式耦合方法,即在每个时间步长内程序间仅进行1 次数据交换,按图1 所示顺序进行,直到整个耦合计算结束。
图1 耦合程序总体结构框架
在实现Flowmaster 和Fluent 外部控制的基础上,通过C#前台完成耦合计算数据的传递工作,整个数据传递过程采用单线程控制方式,数据交换的整体框架如图2 所示。根据Flowmaster和Fluent 的特点可知,C# 对Flowmaster 的自动化操作、Scheme对Fluent 的外部控制均已实现。C#前台可编译可读的Scheme文件,进而控制Fluent 运行计算及结果输出,C# 前台再读取Fluent 输出的txt 格式的结果文件,并将其传递给Flowmaster,从而实现两软件耦合计算数据的传递。
图2 耦合程序数据交换框架
3 耦合程序测试
本文以Y 型管道耦合计算作为耦合程序的验证计算模型,耦合计算模型和Y 型管道三维模型如图3、图4 所示。耦合过程中,Fluent 的入口的流量及温度来自于Flowmaster 压力源(13)的计算数据,并将计算得到的出口压力传递回Flowmaster 流量源(15),进而完成耦合计算。
图3 Flowmaster/Fluent 耦合计算模型
图4 Fluent 计算模型
为了验证系统运行动态变化时数据传递的有效性,在Flowmaster 计算模型的入口采用了随时间变化的压力源,且入口温度随时间变化。Flowmaster 和Fluent 在Y 型管进出口均进行了数据传递,根据计算结果,分别对比传递前后的数据以验证数据传递的有效性。图5 为Flowmaster 向fluent 传递数据过程中的前后数据对比,Flowmaster 压力源(13)和Fluent 入口(mass-in)相互传递的质量流量、总压、温度吻合良好。图6 为Fluent 向Flowmaster 传递数据过程中的前后数据对比,Fluent 出口(p-out1)向Flowmaster 流量源(15)传递流量、总压、温度吻合良好。由此可见,耦合程序有效地完成了Flowmaster 与fluent 之间的数据交换,实现了Flowmaster 与fluent 的一/三维耦合计算。
图5 Y 型管道入口参数变化曲线
图6 Y 型管道出口参数变化曲线
4 结论
本文根据Flowmaster 和Fluent 软件自身特点,通过外部控制程序实现两软件的数据交换,进而建立了Flowmaster/Fluent耦合程序。并利用Y 形管模型进行Flowmaster/Fluent 耦合计算验证,根据计算结果,耦合程序有效地实现了Flowmaster/Fluent的数据交换。