劉煒 陳立平 丁建完
摘要:
Modelica技術(shù)難以仿真動(dòng)態(tài)特性在空間上非定常分布的流動(dòng)、傳熱和燃燒等復(fù)雜問(wèn)題,因此提出一種基于MWorks與FLUENT的協(xié)同仿真方法,設(shè)計(jì)協(xié)同仿真的耦合方式、數(shù)據(jù)交換機(jī)制和仿真架構(gòu),利用Modelica外部函數(shù)、MWorks仿真用戶接口和FLUENT UDF編寫協(xié)同仿真程序.以某單向閥為研究對(duì)象對(duì)此協(xié)同仿真方法的有效性進(jìn)行驗(yàn)證.所提出的方法可實(shí)現(xiàn)Modelica技術(shù)與CFD技術(shù)的優(yōu)勢(shì)互補(bǔ),能夠?yàn)槎囝I(lǐng)域系統(tǒng)仿真提供新的解決方法.
關(guān)鍵詞:
多領(lǐng)域系統(tǒng)仿真; 協(xié)同仿真; 動(dòng)態(tài)特性; Modelica; MWorks; FLUENT
中圖分類號(hào): TP391.9
文獻(xiàn)標(biāo)志碼: B
Abstract:
Modelica can hardly simulate the complex issues such as fluid flow, heat transfer, combustion, etc., in which the system behaviors are distributed in space unsteadily. To solve the problem, a method of cosimulation between MWorks and FLUENT is proposed. The coupling mode, data exchange scheme and simulation architecture are designed for cosimulation. The cosimulation program is implemented using Modelica external function, MWorks simulation user interfaces and FLUENT UDF. The cosimulation method is verified by a simulation example of check valve. The complementary advantages of Modelica and CFD technique are implemented by the method, which is a new method for multidomain system simulation.
Key words:
multidomain system simulation; cosimulation; dynamic characteristics; Modelica; MWorks; FLUENT
0引言
隨著科學(xué)技術(shù)和工程實(shí)踐的發(fā)展,現(xiàn)代產(chǎn)品系統(tǒng)日益復(fù)雜,其研發(fā)難度不斷增加.仿真技術(shù)作為產(chǎn)品研發(fā)設(shè)計(jì)的支撐工具和方法,能夠有效降低研發(fā)成本,提高產(chǎn)品性能,縮短研發(fā)周期.系統(tǒng)涉及多個(gè)學(xué)科領(lǐng)域的耦合交互是產(chǎn)品復(fù)雜性的主要表現(xiàn)之一.[1]現(xiàn)有的大部分仿真平臺(tái)適合特定學(xué)科的仿真,對(duì)多領(lǐng)域耦合系統(tǒng)仿真的支持不足,逐漸無(wú)法勝任復(fù)雜產(chǎn)品整體動(dòng)態(tài)性能的快速協(xié)同仿真.[2]目前,Modelica已成為全球多領(lǐng)域統(tǒng)一建模語(yǔ)言的標(biāo)準(zhǔn)[3],是未來(lái)的發(fā)展趨勢(shì),可為復(fù)雜多領(lǐng)域耦合系統(tǒng)的仿真提供有效的解決方案.MWorks是完全支持Modelica的多領(lǐng)域工程系統(tǒng)建模仿真平臺(tái),提供從可視化建模、仿真計(jì)算到結(jié)果分析、優(yōu)化的完整功能.[4]
Modelica技術(shù)適合系統(tǒng)級(jí)動(dòng)態(tài)特性和控制器性能的仿真,其模型為零維集中參數(shù)模型和離散數(shù)目很少的一維模型[5],難以仿真行為屬性在空間上非定常分布的復(fù)雜問(wèn)題.隨著CFD技術(shù)的發(fā)展,F(xiàn)LUENT等商用CFD軟件可以很好地模擬流動(dòng)、傳熱和燃燒等涉及流場(chǎng)的問(wèn)題.Modelica技術(shù)和CFD各有優(yōu)勢(shì),因此開(kāi)展Modelica模型與FLUENT的協(xié)同仿真,實(shí)現(xiàn)兩者仿真能力的互補(bǔ),能夠?yàn)槎囝I(lǐng)域系統(tǒng)的仿真提供有效的新手段.文獻(xiàn)[6]開(kāi)展Modelica技術(shù)與FLUENT軟件的協(xié)同仿真研究,利用MWorks與MATLAB/SIMULINK的軟件接口,導(dǎo)出SFunction模塊,然后在SIMULINK中通過(guò)編寫額外的SFunction模型實(shí)現(xiàn)與FLUENT的通信.此方法間接依賴MATLAB/SIMULINK軟件,不能充分地發(fā)揮Modelica技術(shù)的優(yōu)勢(shì),且步驟繁多,效率較低.本文研究MWorks直接與FLUENT協(xié)同仿真的理論和實(shí)現(xiàn)方法.
1協(xié)同仿真的實(shí)現(xiàn)基礎(chǔ)
1.1Modelica外部函數(shù)和對(duì)象
Modelica模型除可以調(diào)用Modelica語(yǔ)言編寫的函數(shù)外,還可以調(diào)用其他語(yǔ)言編寫的函數(shù),目前支持C和FORTRAN 77.這些語(yǔ)言編寫的函數(shù)稱為外部函數(shù)[3],其結(jié)構(gòu)見(jiàn)圖1.外部函數(shù)接口支持許多高級(jí)的特征,例如使用C語(yǔ)言實(shí)現(xiàn)需要的功能,可極大擴(kuò)展Modelica的仿真能力.
1.3FLUENT用戶自定義函數(shù)
FLUENT是目前可用的、功能強(qiáng)大的CFD軟件工具,能夠讓用戶更深入、更快速地優(yōu)化產(chǎn)品性能.FLUENT內(nèi)置豐富的、經(jīng)充分驗(yàn)證過(guò)的模擬流動(dòng)、湍流、熱傳導(dǎo)和工業(yè)應(yīng)用相互作用所需的物理建模模塊,能為廣泛的CFD和多物理場(chǎng)應(yīng)用提供快速、精確的結(jié)果.FLUENT用戶自定義函數(shù)(UserDefined Function, UDF)是可以被FLUENT求解器動(dòng)態(tài)加載的C語(yǔ)言函數(shù).UDF大大地增強(qiáng)FLUENT的標(biāo)準(zhǔn)功能,能夠自定義邊界條件、介質(zhì)屬性、反應(yīng)率、源項(xiàng)和擴(kuò)散率等,調(diào)整迭代中的計(jì)算值,在迭代開(kāi)始、結(jié)束時(shí)或異步讀寫求解器的數(shù)據(jù)和執(zhí)行特定的操作,擴(kuò)展和增強(qiáng)現(xiàn)有的數(shù)學(xué)模型.UDF讓FLUENT通過(guò)C語(yǔ)言程序?qū)崿F(xiàn)與外界的交互.
2協(xié)同仿真的方案設(shè)計(jì)
2.1仿真系統(tǒng)的耦合方式
協(xié)同仿真往往包含2個(gè)或以上的在不同仿真軟件工具中建模的子系統(tǒng)模型,見(jiàn)圖3.模型S1在軟件工具T1中建模,模型S2在軟件工具T2中建模,他們由不同的控制方程表達(dá),但是模型S1和S2具有共同的變量x和y,不能分開(kāi)求解.
協(xié)同仿真的實(shí)現(xiàn)通常有2種耦合方式:一種是將所有不同仿真工具的模型集成到同一個(gè)仿真環(huán)境中,聯(lián)立求解控制方程,即模型的耦合,稱為強(qiáng)耦合;另一種是將每個(gè)子系統(tǒng)模型在各自的求解器中求解,求解器之間交換所需的變量值,即求解器的耦合,稱為弱耦合.弱耦合的一種交錯(cuò)求解流程見(jiàn)圖4.
Modelica模型與FLUENT模型相差甚遠(yuǎn),難以將其方程轉(zhuǎn)換到同一個(gè)仿真環(huán)境中.本文選擇弱耦合的方式實(shí)現(xiàn)MWorks和FLUENT的協(xié)同仿真.2次數(shù)據(jù)交換時(shí)刻的間隔稱為通信步長(zhǎng).在單步求解時(shí),由于通信步長(zhǎng)和積分步長(zhǎng)不一致,或者某些算法在積分步長(zhǎng)內(nèi)的多次計(jì)算需要,很可能出現(xiàn)在非數(shù)據(jù)交換時(shí)刻對(duì)輸入數(shù)據(jù)進(jìn)行取值.在數(shù)據(jù)交換時(shí)刻,求解器會(huì)直接采用輸入值,而在非數(shù)據(jù)交換時(shí)刻,求解器會(huì)近似取值,這樣給仿真帶來(lái)偏差.協(xié)同仿真首先推薦采用定步長(zhǎng)算法,保持通信步長(zhǎng)與積分步長(zhǎng)一致,或通信步長(zhǎng)是積分步長(zhǎng)的倍數(shù);若采用變步長(zhǎng)算法,應(yīng)控制積分步長(zhǎng)不大于通訊步長(zhǎng),有利于消除偏差.
2.2數(shù)據(jù)交換方式
數(shù)據(jù)交換是實(shí)現(xiàn)MWorks與FLUENT協(xié)同仿真的關(guān)鍵步驟,根據(jù)MWorks和FLUENT的擴(kuò)展編程功能,可以通過(guò)3種方式實(shí)現(xiàn)數(shù)據(jù)通信.第一種是利用MWorks的仿真用戶接口與FLUENT訪問(wèn)求解器數(shù)據(jù)的UDF宏,直接進(jìn)行通信;第二種是讓MWorks的外部函數(shù)與FLUENT的求解器訪問(wèn)共享的文件或內(nèi)存實(shí)現(xiàn)通信;第三種是將網(wǎng)絡(luò)通信的服務(wù)器端和客戶端嵌入到MWorks的外部函數(shù)和FLUENT的UDF中,利用網(wǎng)絡(luò)通信協(xié)議的發(fā)送和接收實(shí)現(xiàn)通信.3種數(shù)據(jù)交換方式見(jiàn)圖5.應(yīng)該根據(jù)仿真需求選擇合適的方式.本文考慮簡(jiǎn)易性和交換速度,第一種交換方式是最佳選擇.
2.3協(xié)同仿真的架構(gòu)和流程
根據(jù)MWorks和FLUENT仿真的運(yùn)行機(jī)制,確定以FLUENT為主控端、MWorks為從屬端的主從模式架構(gòu),見(jiàn)圖6.模型構(gòu)建和仿真準(zhǔn)備工作完成后,整個(gè)仿真過(guò)程在FLUENT中執(zhí)行.
分別在MWorks和FLUENT中構(gòu)建對(duì)應(yīng)的子系統(tǒng)模型,并確定耦合的子系統(tǒng)和變量.在MWorks中將Modelica模型轉(zhuǎn)換為包含模型和求解器的動(dòng)態(tài)鏈接庫(kù).編寫FLUENT的UDF程序,主要內(nèi)容有壓力、流量、作用力的計(jì)算函數(shù),并在對(duì)應(yīng)的宏中調(diào)用,包括:在DEFINE_PROFILE中定義CFD模型的邊界條件;在DEFINE_ON_DEMAND中加載MWorks的dll;實(shí)例化、初始化和終止MWorks仿真模型;在DEFINE_EXECUTE_AT_END中實(shí)現(xiàn)數(shù)據(jù)的交換和MWorks求解器的運(yùn)行控制;控制動(dòng)網(wǎng)格、調(diào)整求解和定義介質(zhì)屬性的相關(guān)宏等.最后,將UDF源代碼編譯,加載到FLUENT中,將所有的宏綁定到對(duì)應(yīng)的執(zhí)行節(jié)點(diǎn).至此,仿真前期的準(zhǔn)備任務(wù)已經(jīng)完成.
仿真階段MWorks和FLUENT的協(xié)同仿真流程見(jiàn)圖7.
先初始化FLUENT模型,然后執(zhí)行DEFINE_ON_DEMAND宏,加載、實(shí)例化、初始化MWorks模型.設(shè)置FLUENT求解的相關(guān)參數(shù),開(kāi)始迭代求解.每當(dāng)FLUENT完成一個(gè)時(shí)間步長(zhǎng)的計(jì)算,進(jìn)行一次數(shù)據(jù)交換,同時(shí)MWorks求解器也向前推進(jìn)相同步長(zhǎng)的計(jì)算.當(dāng)計(jì)算到達(dá)仿真結(jié)束時(shí)刻時(shí),F(xiàn)LUENT求解完成.最后,執(zhí)行DEFINE_ON_DEMAND宏,終止和卸載MWorks模型.
3協(xié)同仿真案例分析
為驗(yàn)證MWorks與FLUENT協(xié)同仿真的有效性,以一個(gè)單向閥為例進(jìn)行仿真分析.單向閥的入口和出口壓力變化、閥芯運(yùn)動(dòng)和彈簧力在MWorks中建模,而單向閥內(nèi)介質(zhì)的流動(dòng)和液體壓力在FLUENT中建模.MWorks模型將端口壓力、閥芯位移傳給FLUENT模型,F(xiàn)LUENT模型將端口流量和液壓力傳給MWorks模型.單向閥的幾何和網(wǎng)格模型見(jiàn)圖8,邊界條件和閥芯移動(dòng)的動(dòng)網(wǎng)格由UDF設(shè)置,同時(shí)要計(jì)算閥芯受到的液壓力和端口的流量,傳遞給MWorks.
單向閥在MWorks中的Modelica模型見(jiàn)圖9.用于協(xié)同仿真的模型與普通模型相對(duì),增加接口適配模型和協(xié)同仿真數(shù)據(jù)傳遞模型.接口適配模型是將Modelica的非因果連接器轉(zhuǎn)換為輸入、輸出變量,協(xié)同仿真數(shù)據(jù)傳遞模型包含交互變量、外部函數(shù)等,實(shí)現(xiàn)Modelica模型與外界交互的功能.
將Modelica模型轉(zhuǎn)換為dll后,在FLUENT中執(zhí)行協(xié)同仿真.單向閥在進(jìn)出口壓力的作用下打開(kāi)再關(guān)閉,閥芯的運(yùn)動(dòng)位移見(jiàn)圖10.結(jié)果表明協(xié)同仿真能夠很好地模擬單向閥的動(dòng)態(tài)特性.
4結(jié)束語(yǔ)
針對(duì)Modelica技術(shù)難以仿真行為屬性在空間上非定常分布的流動(dòng)、傳熱和燃燒等復(fù)雜問(wèn)題,提出MWorks與FLUENT協(xié)同仿真的基本方法.本文的研究結(jié)論主要有以下幾點(diǎn):(1)Modelica外部函數(shù)、MWorks仿真用戶接口和FLUENT UDF是實(shí)現(xiàn)協(xié)同仿真的基礎(chǔ);(2)設(shè)計(jì)協(xié)同仿真的耦合方式、數(shù)據(jù)交換機(jī)制和架構(gòu)及流程,編寫協(xié)同仿真程序;(3)以單向閥仿真案例驗(yàn)證協(xié)同仿真方法的有效性.
本研究為多領(lǐng)域系統(tǒng)的仿真提供有效的新思路和解決方法.
參考文獻(xiàn):
[1]王克明, 熊光楞. 復(fù)雜產(chǎn)品的協(xié)同設(shè)計(jì)與仿真[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2003, 9(S1): 1519. DOI: 10.3969/j.issn.10065911.2003.z1.004.
WANG K M, XIONG G L. Cooperative design and simulation for complex product[J]. Computer Integrated Manufacturing Systems, 2003, 9(S1): 1519. DOI: 10.3969/j.issn.10065911.2003.z1.004.
[2]周凡利. 工程系統(tǒng)多領(lǐng)域統(tǒng)一模型編譯映射與仿真求解研究[D]. 武漢: 華中科技大學(xué), 2011.
[3]FRITZSON P. Principles of object oriented modeling and simulation with Modelica 3.3: A cyberphysical approach[M]. New Jersey: John Wiley & Sons, 2014.
[4]ZHOU F L, CHEN L P, WU Y Z, et al. MWorks: a modern IDE for modeling and simulation of multi domain physical systems based on Modelica[C]// Proceedings of the 5th International Modelica Conference. Vienna, 2006: 725731.
[5]劉煒, 陳立平, 朱明清. 分布參數(shù)熱流體系統(tǒng)的面向?qū)ο蠼Q芯縖J]. 計(jì)算機(jī)仿真, 2015, 32(11): 229233. DOI: 10.3969/j.issn.10069348.2015.11.052.
LIU W, CHEN L P, ZHU M Q. Objectoriented modeling for distribution parameter thermofluid system[J]. Computer Simulation, 2015, 32(11): 229233. DOI: 10.3969/j.issn.10069348.2015.11.052.
[6]趙建軍, 駱雪芹. 基于Modelica技術(shù)與FLUENT的氣浮運(yùn)動(dòng)平臺(tái)聯(lián)合仿真[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2014(5): 9699. DOI: 10.13462/j.cnki.mmtamt.2014.05.024.
ZHAO J J, LUO X Q. Cosimulation of ultraprecision motion stage based on Modelica and FLUENT[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2014(5): 9699. DOI: 10.13462/j.cnki.mmtamt.2014.05.024.
[7]丁建完. 陳述式仿真模型相容性分析與約簡(jiǎn)方法研究[D]. 武漢: 華中科技大學(xué), 2006.
(編輯武曉英)