姜 濤,羅馬吉,向梁山,宋秀萍
(1.武漢理工大學汽車工程學院,湖北 武漢430070;2.勝利油田勝動集團,山東 東營257000)
計算流體動力學(computational fluid dynamics,CFD)技術(shù)在與流動有關(guān)的工程中得到越來越廣泛的應(yīng)用[1-2],為產(chǎn)品的開發(fā)和優(yōu)化設(shè)計做出了巨大貢獻。而傳統(tǒng)的CFD技術(shù)在滿足更高的設(shè)計要求和更低的設(shè)計周期方面,面臨著極大的挑戰(zhàn)。為了縮短產(chǎn)品設(shè)計及研發(fā)周期,提高CFD工作的效率和質(zhì)量,對于CFD分析流程自動化的研究孕育而生,并受到越來越多的重視。
國外對CFD流程自動化的研究做了大量工作,取得了較大進展,并在實踐中得到了很好的應(yīng)用。如美國MOBERG等[3]利用三維CFD技術(shù)對軸向多級GT壓縮機葉片進行了自動化仿真,提高了壓縮機優(yōu)化設(shè)計的效率;IDAHOSA等[4]利用集成的CFD/MD系統(tǒng),實現(xiàn)了風機葉片自動化優(yōu)化設(shè)計;SZEMA等[5]開發(fā)了一種基于空氣動力學的自動優(yōu)化設(shè)計工具,利用它能夠自動創(chuàng)建幾何模型、生成面網(wǎng)格和體網(wǎng)格,并對某型運輸機機翼進行了優(yōu)化設(shè)計,得到了很好的效果。國內(nèi)對于CFD流程自動化的研究較少,尚處于起步階段。閻超等[6]成功開發(fā)了基于Visual Basic和Fortran語言的混合編程的完全界面化、自動化的戰(zhàn)術(shù)導彈先進CFD系統(tǒng)平臺,并得到成功的運用。
近年來,CFD方法已經(jīng)成為發(fā)動機氣道設(shè)計分析和優(yōu)化不可缺少的重要技術(shù),而氣道CFD分析流程自動化,也逐漸成為業(yè)界關(guān)心的問題。筆者根據(jù)成熟的發(fā)動機氣道CFD分析流程,基于CFD分析軟件Star-ccm+和Java編程語言,提出了一種實現(xiàn)發(fā)動機氣道CFD分析流程自動化的方案。
采用CFD技術(shù)對發(fā)動機進氣道流動特性進行計算分析,不僅可以獲得進氣道、氣門和氣缸的結(jié)構(gòu)參數(shù)及其相對位置對流動特性的影響,而且可以得到其內(nèi)部流場的大量信息。近年來,CFD技術(shù)在發(fā)動機氣道分析方面得到了越來越廣泛的研究與應(yīng)用。例如,羅馬吉等[7]采用三維數(shù)值模擬的方法對某摩托車發(fā)動機進氣過程的氣體流動進行了瞬態(tài)模擬;吳浩[8]利用UG和Fire軟件研究了螺旋進氣道主要結(jié)構(gòu)參數(shù)對氣道性能的影響;李明海等[9]利用數(shù)值模擬對螺旋進氣道結(jié)構(gòu)參數(shù)進行優(yōu)化,并提出了改進措施。根據(jù)目前發(fā)動機氣道CFD分析文獻可以總結(jié)出發(fā)動機氣道CFD分析基本流程包括:幾何模型文件導入及表面處理;表面網(wǎng)格和體網(wǎng)格劃分;模擬計算參數(shù)的設(shè)定,包括壁面條件的設(shè)定、進出口邊界條件的設(shè)定和物理模型的選擇;求解的設(shè)置及計算和計算結(jié)果的處理。
發(fā)動機氣道CFD分析流程自動化開發(fā)工具要求具有強大的CFD仿真分析功能,利用它能夠完成氣道CFD分析的整個流程,并得到與試驗值相符的結(jié)果。同時,要求能夠用于二次開發(fā),擁有API接口,并且有工具或方法使它能夠與某類匯編語言方便地結(jié)合在一起。筆者選用CFD軟件Star-ccm+和Java語言作為實現(xiàn)發(fā)動機氣道CFD分析流程自動化的工具。
CFD分析軟件Star-ccm+是CD-adapco集團推出的新一代CFD軟件,采用最先進的連續(xù)介質(zhì)力學算法,并與卓越的現(xiàn)代軟件工程技術(shù)結(jié)合在一起,擁有出色的性能、精度和高可靠性。Star-ccm+具有三大特點:一是功能強大(幾何模型導入和表面處理、網(wǎng)格生成和邊界條件設(shè)定、計算求解和后處理);二是采用最新的計算方法(基于面的求解器、分離求解器和耦合求解器);三是開放性強(具有 API接口,可以讀取多種CAD模型數(shù)據(jù),包括 CATIA V4/V5、Pro/ENGINEER、Unigraphics NX、SolidWorks、Autodesk Inventor文件)[10]。Star- ccm+ 的這些特點,使其在計算機輔助分析、設(shè)計和仿真中得到了廣泛的應(yīng)用。
Star-ccm+采用Java語言編寫的跨平臺用戶界面,允許用戶使用Java語言編寫程序,通過API接口進行Star-ccm+二次平臺開發(fā),因此,可以用于CFD流程自動化開發(fā)。目前使用的是Star-ccm+4.02。
Java語言是一種易學易用的匯編語言,廣泛用于嵌入式開發(fā)、網(wǎng)絡(luò)應(yīng)用軟件和企業(yè)管理軟件開發(fā)等領(lǐng)域。NetBeans和Eclipse是兩款基于Java的、開放源代碼的可擴展開發(fā)平臺,用戶可以根據(jù)需求自行開發(fā)相應(yīng)功能,編寫自己需要的用戶界面(GUI)。這樣,通過 Star-ccm+提供的API接口,就可以調(diào)用由Java語言編寫的宏文件,實現(xiàn)Star-ccm+功能用戶界面的操作,實現(xiàn)CFD分析流程的自動化和界面化。
計算流體軟件Star-ccm+與用戶界面面板之間的數(shù)據(jù)交換,是氣道CFD分析流程自動化開發(fā)需要解決的關(guān)鍵問題。用戶只面向窗口式的用戶界面進行操作即可完成分析的相應(yīng)流程,但是進行數(shù)據(jù)處理和計算工作的是應(yīng)用層,即Starccm+,用戶界面層與應(yīng)用層之間需要交互式完成分析工作,兩者之間的數(shù)據(jù)能否實現(xiàn)順利交換,直接決定著該平臺能否成功。
GUI層與應(yīng)用層之間的數(shù)據(jù)交換,可以通過在主函數(shù)和面板窗口源文件函數(shù)中添加必要的程序語言,來實現(xiàn)主函數(shù)與窗口源文件函數(shù)之間的鏈接。GUI的Java程序不僅包含用戶界面組件程序語言,而且還有實現(xiàn)各個操作和功能的方法程序。通過方法程序,就可以直接讀取到Starccm+進行氣道CFD分析的各個類庫,并利用Star-ccm+完成從網(wǎng)格劃分到求解全過程。
從CFD應(yīng)用程序Star-ccm+中獲取到實現(xiàn)CFD分析功能的方法是在Star-ccm+進行CFD分析過程中,實現(xiàn)某種功能的程序語言代碼。方法的獲取主要包括以下兩部分:
(1)錄制Star-ccm+進行CFD分析的宏文件。CFD分析的宏文件包括用戶在Star-ccm+中進行CFD分析的操作代碼和流程代碼。利用Star-ccm+軟件可以直接進行宏文件的錄制。
(2)抽取宏文件中的變量和方法。從宏文件中抽取的變量是Star-ccm+進行CFD分析所需要的參數(shù)(如參考溫度、參考壓力和速度值等)。抽取的方法是Star-ccm+進行CFD分析時的操作(如模型導入、網(wǎng)格劃分和保存文件等)程序代碼。方法由多條語句組成,并且含有一個或多個局部變量。在Java工作平臺完成宏文件中變量和方法的抽取。
窗口式用戶界面是CFD分析流程自動化平臺的重要組成部分,是在Java工作平臺Eclipse上完成的,包括以下3個步驟:
(1)窗口式用戶界面的設(shè)計。窗口式用戶界面是面向使用者的界面,使用者進行CFD分析時,只需要借助該界面,通過鼠標和鍵盤輸入必要的數(shù)據(jù),就可完成CFD分析的整個流程。窗口式用戶界面簡潔,操作方便,降低了工程技術(shù)人員對CFD相關(guān)知識的要求。用戶界面源程序包括主程序和面板窗口源程序。
(2)窗口式用戶界面功能的實現(xiàn)。窗口式用戶界面制作完畢,就需要對面板中的按鈕添加從運用程序Star-ccm+中提取的事件和方法。這樣每進行一次按鈕操作,就可以觸發(fā)相應(yīng)的事件和方法。
(3)用戶界面與Star-ccm+接口程序編寫。用戶界面和Star-ccm+接口程序用于實現(xiàn)使用者在用戶界面的操作,能夠調(diào)用到Star-ccm+宏文件中定義的類庫和方法,并讓軟件能夠識別這些類庫和方法。通過編寫用戶界面和Star-ccm+接口程序?qū)崿F(xiàn)Star-ccm+與用戶界面面板之間的數(shù)據(jù)交換。在用戶界面主程序中寫入下列語句完成對操作方法的調(diào)用:
在窗口面板源程序中通過寫入下列語句完成對Star-ccm+類庫的調(diào)用:通過上述3個步驟可完成窗口式用戶界面設(shè)計及功能的實現(xiàn)。
方法程序和窗口式用戶界面程序編寫完成以后,就可以實現(xiàn)流程的自動化過程。在Star-ccm+軟件中,通過運行宏文件的方式,運行與GUI相關(guān)聯(lián)的主函數(shù),就會自動彈出窗口式用戶界面,按照提示操作,可完成CFD分析流程自動化。CFD流程自動化數(shù)據(jù)傳輸過程如圖1所示。
圖1 數(shù)據(jù)傳輸過程
根據(jù)筆者提出的發(fā)動機氣道CFD流程自動化方案,以CD-adapco集團開發(fā)的CFD分析軟件Star-ccm+和Java工作平臺Eclipse為開發(fā)工具,成功開發(fā)了簡單的氣道CFD自動化分析平臺,平臺界面如圖2所示。該平臺能夠完成氣道CFD分析的整個流程,包括模型導入、網(wǎng)格劃分、邊界條件設(shè)定及計算、可視化截面設(shè)計、圖形輸出和參數(shù)分析整個過程。使得工程師從簡單重復(fù)性的氣道CFD分析工作中解脫出來,把更多的精力投入到發(fā)動機性能改進和新產(chǎn)品開發(fā)之中。
筆者提出了一種實現(xiàn)發(fā)動機氣道CFD分析流程自動化的方法,介紹了CFD分析軟件Starccm+和Java匯編語言在實現(xiàn)整個流程中的應(yīng)用情況和步驟,并開發(fā)了簡單的氣道CFD自動化分析平臺。氣道CFD自動化分析平臺的開發(fā),可以較大地降低使用人員對計算流體力學專業(yè)知識的要求,提高工作效率。它在節(jié)省研制經(jīng)費、縮短仿真周期等方面具有重要意義,使計算機輔助工程分析能夠更好地指導產(chǎn)品的改進和研發(fā)。
[1]謝玲玲,陳順懷.應(yīng)用FLUENT軟件優(yōu)化船舶阻力性能[J].華中科技大學學報:自然科學版,2009,37(6):101-103.
[2]吳 民生,段文廣.計算流體動力學(CFD)在流體機械領(lǐng)域的應(yīng)用[J].裝備制造技術(shù),2008(12):36-37.
[3]MOBERG L,GUIDATIG,SAVIC S.Automated blade optimization and 3D CFD analysis for an axial multistage GT compressor redesign[C]//2006 ASME 51st Turbo Expo.New York:American Institute of Chemical Engineers,2006:327 -334.
[4] I DAHOSA U,GOLUBEV V V,BALABANOV V.An automated optimal design of a fan blade using an integrated CFD/MDO computer environment[C]//11th AIAA/ISSMO Multidisciplinary Analysis and Optimization Conference.Washington:American Institute of Aeronautics and Astronautics Inc,2006:509-525.
[5]SZEMA K Y,LIU Z N,RAMARKRISHNAN S V,et al.Automated unstructured grid CFD tool for aerodynamic design optimization of airfoils and wings[C]//43rd AIAA Aerospace Sciences Meeting and Exhibit.Washington:American Institute of Aeronautics and Astronautics Inc,2005:2099-2108.
[6]閻超,張立新,李亭鶴,等.界面化、自動化的戰(zhàn)術(shù)導彈CFD系統(tǒng)平臺[J].北京航空航天大學學報,2003,29(5):424 -427.
[7]羅馬吉,黃震,蔣炎坤,等.進氣門布置對汽油機進氣過程的影響[J].華中科技大學學報:自然科學版,2004,32(2):74 -76.
[8]吳浩.柴油機螺旋進氣道結(jié)構(gòu)參數(shù)對氣道性能的影響及其優(yōu)化設(shè)計[D].武漢:華中科技大學圖書館,2006.
[9]李明海,王磊,崔洪江.基于數(shù)值模擬的螺旋進氣道結(jié)構(gòu)優(yōu)化[J].內(nèi)燃機車,2009,424(6):16 -21.
[10]西迪阿特信息科技(上海)有限公司.Star-ccm+概述[M/OL].[2011 -11 -13].http://www.cdaj- china.com/product/show.aspx?CID=723390690 14638592&ID=7.