陳 爽 劉詩文 孫 燕 楊 釗 張 騏 王嘉瑞
(中國核動力研究設計院核反應堆系統設計技術重點實驗室,四川 成都610213)
在進行系統仿真計算時,全系統的三維仿真由于計算資源、研究周期等因素限制目前還難以實現。綜合考慮計算資源、模擬精度和速度要求,降低維度計算是較為常見的一種處理方式[1,2]。而低維度的系統仿真又過于依賴于經驗法則,難以捕捉復雜結構的流動特性。因此,通過不同維度模型的耦合計算,實現系統仿真與關鍵設備三維模擬相結合成為系統仿真計算的一個重要研究方向。
近年來隨著模擬仿真技術的發展,越來越多領域的研究人員致力于采用一維和三維耦合分析的思路來解決問題。Wei Li[4]等人開發了三維仿真軟件Fluent 和一維熱工水力軟件RELAP5的耦合接口程序;張寶亮等人[5]采用Boost 和Flowmaster 軟件對發動機及其冷卻系統的熱平衡進行聯合仿真以研究整車熱管理;Nobuyuki Yomoda[6]等人通過接口軟件CFDlink、MPCCI,實現了Flowmaster 和Fluent 聯合模擬。國內外諸多學者在一/三維耦合計算領域開展了大量研究,實現了經濟、快速分析。本文基于C#平臺開發了Flowmaster 和Fluent 的一/三維耦合程序,并通過Y 型管道模型對耦合程序進行了測試驗證。
一三維軟件雙向耦合,是將兩款軟件的計算結果分別作為對方的初始或邊界條件,并以此進行迭代計算,因此耦合接口程序的開發關鍵在于實現兩者之間的數據交換,要開發Flowmaster 和Fluent 的耦合接口程序,就必須從兩款軟件各自的特點出發。
Flowmaster 擁有出色的自動化功能(包括腳本文件、控制組件、圖形用戶界面和自動分析)和完備的二次開發接口,腳本文件和控制器組件可實現Flowmaster 模塊功能的擴展,圖形用戶界面和自動化分析可實現Flowmaster 與其他軟件連接,以實現自動化的操作和結果分析。而上述功能均可通過C++、C#和VB等計算機語言編寫相關程序實現,這是實現Flowmaster 外部控制的基礎。本文選用C#作為軟件的前臺程序開發平臺,通過引用特定模塊實現對Flowmaster 的自動化操作。
在耦合接口程序開發中,最為便捷的便是使用同一種編程語言實現對所有語句的編寫,然而Fluent 不支持C++、C#和VB等編程語言開發。應用Fluent 的腳本功能,通過Scheme 語言編寫的代碼可實現對Fluent 的二次開發和自動控制,進而完成修改邊界條件、控制計算始末和計算結果的輸出等操作。因此,本文選用Scheme 語言實現耦合程序對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 耦合程序數據交換框架
本文以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 型管道出口參數變化曲線
本文根據Flowmaster 和Fluent 軟件自身特點,通過外部控制程序實現兩軟件的數據交換,進而建立了Flowmaster/Fluent耦合程序。并利用Y 形管模型進行Flowmaster/Fluent 耦合計算驗證,根據計算結果,耦合程序有效地實現了Flowmaster/Fluent的數據交換。