中國航空工業(yè)集團(tuán)公司沈陽發(fā)動(dòng)機(jī)設(shè)計(jì)研究所 于 霄 周曉菲 康曉恩
重慶大學(xué)動(dòng)力工程學(xué)院 葉 建 武芏茳
為滿足軍用和民用飛行器對其動(dòng)力裝置提出的持續(xù)攀升的性能指標(biāo)要求,過去幾十年間,航空發(fā)動(dòng)機(jī)渦輪部件的進(jìn)口溫度不斷提高[1-2],高溫燃?xì)馊肭洲D(zhuǎn)靜盤腔可能帶來的負(fù)面效應(yīng)也日趨嚴(yán)重,由此導(dǎo)致燃?xì)庵髁骱捅P腔二次流的耦合作用問題受到越來越多研究者的關(guān)注。在研究渦輪部件氣動(dòng)熱力學(xué)的3種基本方法中,數(shù)值模擬手段的重要性不言而喻,而已有的研究表明[3-4]:輪緣間隙附近冷氣和燃?xì)獾膿交爝^程非常復(fù)雜,RANS模擬難以準(zhǔn)確捕捉,URANS結(jié)果與試驗(yàn)更為接近,但仍有很大差距,LES則是準(zhǔn)確預(yù)測該類流動(dòng)的可能選項(xiàng)之一。雖然RANS模擬的預(yù)測精度有限,但從實(shí)踐的角度看,該方法幾乎仍是工程設(shè)計(jì)中可選用的唯一方案,提高RANS對燃?xì)庵髁?盤腔二次流耦合問題的預(yù)測能力仍然有著重要的工程應(yīng)用價(jià)值。盤腔內(nèi)部的二次流動(dòng)與渦輪主流是2種性質(zhì)截然不同的流動(dòng)[5],適用于每種流動(dòng)的“最佳”湍流模型顯然是不同的,但目前已有的耦合模擬幾乎都只用了一個(gè)模型。如果可以針對這類流動(dòng)發(fā)展一個(gè)分區(qū)耦合算法,在主流和二次流區(qū)域分別選擇各自“最佳”的湍流模型,有可能會(huì)提高RANS方法的預(yù)測精度。
構(gòu)建針對燃?xì)庵髁?盤腔二次流的分區(qū)耦合平臺,可以歸結(jié)到復(fù)雜多物理場耦合這一范疇。隨著計(jì)算機(jī)運(yùn)算能力的不斷增強(qiáng)以及人們對工程和科學(xué)問題預(yù)測精度提出的更高要求,越來越多的研究人員認(rèn)識到:大多數(shù)的科學(xué)問題和工程實(shí)際問題往往處于多物理場的復(fù)雜耦合環(huán)境中,此時(shí),單憑某一軟件實(shí)現(xiàn)這類問題的高精度預(yù)測變得越來越困難,解決方案之一即是進(jìn)行多物理場的耦合仿真。但是,目前大多數(shù)的軟件產(chǎn)品還只能處理某一類問題或者只對該類問題具有最佳的預(yù)測精度,要實(shí)現(xiàn)多場耦合,其現(xiàn)實(shí)途徑就是通過某種技術(shù)平臺將多個(gè)軟件產(chǎn)品集成到一起,以期完成復(fù)雜多物理場的耦合模擬。
工業(yè)界的迫切需求,以及該研究方向取得突破可能帶來的巨大收益使得國內(nèi)外研究者,尤其是國外的CAE巨頭開展了大量的相關(guān)工作,并已經(jīng)取得了較為豐碩的成果。歸納起來,現(xiàn)有的耦合平臺大體上可分為3類:(1)商業(yè)化的耦合平臺,如德國SCAI研究中心的MpCCI[6]和美國Ansys公司的Workbench[7]; (2)開源的耦合平臺,如法國研究機(jī)構(gòu)CERFACS 開發(fā)的 OpenPALM[8],美國Sandia國家實(shí)驗(yàn)室開發(fā)的LIME[9]等;(3)基于Python等腳本語言的自編程耦合平臺[10-11]。
要實(shí)現(xiàn)燃?xì)庵髁?盤腔二次流的分區(qū)耦合模擬,上述3類平臺均可以使用,但考慮到編程的靈活性、平臺調(diào)試和修改的方便程度以及計(jì)算的精度和速度等因素,本文采用第三種方案——即基于Python語言構(gòu)建耦合平臺。下文首先從分區(qū)界面的定義、界面的數(shù)據(jù)交換2個(gè)方面進(jìn)行分區(qū)耦合的算法設(shè)計(jì),而后從耦合計(jì)算的執(zhí)行流程、數(shù)據(jù)交換的實(shí)現(xiàn)、Fluent執(zhí)行的自動(dòng)化和整體計(jì)算流程的控制4個(gè)方面介紹了耦合平臺的構(gòu)建。
圖1 高壓渦輪主流和盤腔二次流系統(tǒng)示意圖
對于本文所研究的燃?xì)庵髁?盤腔二次流分區(qū)耦合仿真問題,在構(gòu)建耦合平臺之前,有以下關(guān)鍵問題需要解決:(1)燃?xì)庵髁骱捅P腔二次流作為一個(gè)在空間連續(xù)分布、且有著復(fù)雜相互作用的流體系統(tǒng),分區(qū)的界面應(yīng)如何選?。?(2)確定分區(qū)界面后,在進(jìn)行耦合計(jì)算時(shí),主流區(qū)和二次流區(qū)域如何耦合在一起,這些問題所涉及的內(nèi)容就是分區(qū)耦合的算法設(shè)計(jì),它既是構(gòu)建耦合平臺的前提,也是核心的技術(shù)難點(diǎn)。本文通過分析燃?xì)庵髁骱捅P腔二次流所具有的主要耦合特性,從分區(qū)界面的定義出發(fā),探討合理的界面選取方案;而后討論當(dāng)2個(gè)區(qū)域分別使用不同的湍流模型時(shí),分區(qū)界面應(yīng)交換哪些數(shù)據(jù)、如何進(jìn)行交換,以此實(shí)現(xiàn)高效的耦合。
高壓渦輪主流和盤腔二次流所組成的流動(dòng)系統(tǒng)如圖1所示,其復(fù)雜性主要表現(xiàn)在3個(gè)方面:(1)主流流道和盤腔的幾何結(jié)構(gòu)非常復(fù)雜,導(dǎo)致高質(zhì)量計(jì)算網(wǎng)格的生成難度較大;(2)導(dǎo)葉葉排和動(dòng)葉葉排包括葉盤之間的相對運(yùn)動(dòng),對計(jì)算域的劃分以及算法的選取都提出了特殊的要求;(3)多種因素綜合作用導(dǎo)致流場的流動(dòng)結(jié)構(gòu)非常復(fù)雜。
針對單獨(dú)的主流或盤腔流動(dòng)問題,目前的仿真方案已經(jīng)相對成熟。本文中只考慮穩(wěn)態(tài)定常模擬時(shí),對于單級渦輪,許多商業(yè)軟件均能生成高質(zhì)量的計(jì)算網(wǎng)格,靜子和轉(zhuǎn)子的界面通過摻混面方法實(shí)現(xiàn)流場數(shù)據(jù)的傳遞;對于轉(zhuǎn)靜盤腔,其網(wǎng)格大多數(shù)情況下需要手動(dòng)生成,但計(jì)算中通過設(shè)置恰當(dāng)?shù)谋诿孢吔鐥l件可以模擬轉(zhuǎn)盤的影響。如若將兩者耦合在一起,則需要解決一系列的難題。
首先,耦合計(jì)算域中間存在靜子/轉(zhuǎn)子的摻混面以及主流區(qū)/二次流區(qū)的分界面,這兩個(gè)界面的關(guān)系是什么,其相對位置的選取如何。從摻混面的概念出發(fā),兩個(gè)界面應(yīng)該分開、避免相交,也就是說,盤腔的計(jì)算域只是與轉(zhuǎn)子或者靜子的計(jì)算域存在交接面,而不會(huì)同時(shí)與兩者相交,這意味著盤腔的網(wǎng)格或者與靜子網(wǎng)格固結(jié)在一起不動(dòng),或者和轉(zhuǎn)子網(wǎng)格固結(jié)在一起轉(zhuǎn)動(dòng)。從已有的結(jié)果看,不同研究者選取的方案并不一致,2種方案都有一定的合理性,其選擇也可能與輪緣間隙的軸向相對位置有關(guān)。
其次,燃?xì)庵髁骱捅P腔二次流的分區(qū)界面應(yīng)如何選取?從上一段的分析可知,盤腔計(jì)算域只與靜子或者轉(zhuǎn)子計(jì)算域中的一個(gè)交接,這一問題就簡化為:對于靜子/盤腔網(wǎng)格或者轉(zhuǎn)子/盤腔網(wǎng)格,二者的分界面取在何處。從主流和二次流耦合系統(tǒng)的幾何結(jié)構(gòu)看,2個(gè)大的幾何空間通過一個(gè)狹小的通道——輪緣間隙連接在一起,理論上,分區(qū)界面只能設(shè)定在該區(qū)域,如若不然,界面將可能穿過存在復(fù)雜流動(dòng)結(jié)構(gòu)的主流或二次流區(qū)域,這將給界面數(shù)據(jù)交換帶來大的困難。實(shí)際上,即便在輪緣間隙區(qū),也可能存在著較為復(fù)雜的流動(dòng),但考慮到定常模擬時(shí),該區(qū)域的時(shí)均流動(dòng)相對簡單,因而將分界面取在該處是可行的;至于其具體位置,可取在輪緣間隙區(qū)中部,界面方向則和兩個(gè)壁面盡量垂直。
再次,耦合系統(tǒng)的計(jì)算網(wǎng)格的生成??紤]到通過分區(qū)界面,兩個(gè)區(qū)域需要頻繁地進(jìn)行數(shù)據(jù)交換,為保證數(shù)據(jù)傳遞的精度,最好在界面兩側(cè)使用完全匹配的計(jì)算網(wǎng)格。由此可采用如下的計(jì)算域劃分策略:在主流區(qū)創(chuàng)建一個(gè)和盤腔輪緣間隙匹配的區(qū)域,而后確定分區(qū)界面,在其兩側(cè)生成完全匹配的計(jì)算網(wǎng)格。
基于上述分析,燃?xì)庵髁髋c盤腔二次流分區(qū)界面的定義應(yīng)遵循如下原則:(1)盤腔的網(wǎng)格或者與靜子網(wǎng)格、或者與轉(zhuǎn)子網(wǎng)格固結(jié)在一起,二者的交接面即是主流和二次流的分區(qū)界面,該分區(qū)界面不與靜子/轉(zhuǎn)子的摻混面相交。(2)主流和二次流的分區(qū)界面應(yīng)位于具有最小流通面積的輪緣間隙區(qū)域,界面的朝向與兩側(cè)壁面盡量垂直,保證最小的截面積,通過該界面,流動(dòng)的方向應(yīng)盡量保持一致。(3)分區(qū)界面兩側(cè)的計(jì)算網(wǎng)格應(yīng)保證完全匹配。
從已有的研究可知:在定常雷諾平均模擬中,對于渦輪燃?xì)庵髁?,使用S-A模型的綜合效果最優(yōu),對于盤腔二次流,則推薦SSTk-ω模型,據(jù)此,我們嘗試在主流區(qū)選用S-A模型、二次流區(qū)選用SSTk-ω模型進(jìn)行分區(qū)耦合。
根據(jù)上一小節(jié)的原則定義分區(qū)界面后,就可以考慮界面間的數(shù)據(jù)交換了。理想情況下,為實(shí)現(xiàn)2個(gè)區(qū)域間的強(qiáng)耦合,可以將分區(qū)界面作為一個(gè)“內(nèi)邊界”,2個(gè)區(qū)域使用不同的控制方程分別推進(jìn),每計(jì)算一步,沿著內(nèi)邊界進(jìn)行一次數(shù)據(jù)的交換,交換的數(shù)據(jù)既包括u、v、w、p、ρ、T等基本的流場變量,也包括湍流粘性系數(shù)μt。由于兩側(cè)求解的湍流輸運(yùn)方程不同,還應(yīng)該通過界面重構(gòu)湍流輸運(yùn)量:對于主流區(qū)而言,已知二次流邊界上的μt、k、ω?cái)?shù)值,容易得到S-A模型的輸運(yùn)量,反過來對于二次流區(qū)域而言,已知主流邊界上的μt和,要得到k和ω則較為困難(見圖2)。
圖2 主流和盤腔二次流之間的數(shù)據(jù)交換
實(shí)際的情形與此不同,由于本文選用商業(yè)軟件Fluent作為求解器,我們對其內(nèi)核缺少了解,更無法修改源代碼,兩個(gè)區(qū)域的耦合只能通過基于Python的耦合平臺并結(jié)合Fluent提供的用戶定義函數(shù)UDF實(shí)現(xiàn),顯然,這是一種“松耦合”:兩個(gè)Fluent程序被同時(shí)執(zhí)行,分別計(jì)算主流流動(dòng)和二次流動(dòng),分區(qū)界面是其“外邊界”而非“內(nèi)邊界”,分區(qū)耦合平臺利用UDF重設(shè)邊界條件實(shí)現(xiàn)區(qū)域間的數(shù)據(jù)交換。這樣帶來的問題是:我們無法像強(qiáng)耦合中的內(nèi)邊界一樣在界面交換所有流場數(shù)據(jù),而只能根據(jù)界面處的流動(dòng)情況設(shè)定恰當(dāng)?shù)倪吔鐥l件,并根據(jù)邊條的要求提供部分流場變量,以此實(shí)現(xiàn)界面的數(shù)據(jù)傳遞。
(1)界面處流動(dòng)方向的設(shè)定。
對于在實(shí)際工況運(yùn)行的主流/二次流系統(tǒng)而言,輪緣間隙附近的流動(dòng)異常復(fù)雜,受間隙兩側(cè)當(dāng)?shù)鼐植苛鲃?dòng)參數(shù)的影響,周向不同位置處間隙徑向流動(dòng)的方向很可能是變化的:有的地方從盤腔進(jìn)入主流,有的地方則從主流進(jìn)入盤腔。但在Fluent中,分區(qū)界面作為一個(gè)確定的外部邊界,必須預(yù)先給定邊條的類型,或者是進(jìn)口,或者是出口,其前提就是要明確界面處的流動(dòng)方向。
考慮下述3個(gè)因素,我們將分區(qū)耦合界面的流動(dòng)方向設(shè)定為從盤腔流向主流:盤腔冷氣的主要作用是封住輪緣間隙,防止外部高溫燃?xì)馇秩?,在正常工作狀態(tài)下,盡管沿不同周向位置可能有局部瞬態(tài)的燃?xì)馇秩?,但從平均效果看,盤腔冷氣還是往外流入主流區(qū)的;本文只對耦合系統(tǒng)進(jìn)行定常仿真,由于未計(jì)入非定常效應(yīng),周向局部可能存在的燃?xì)馊肭脂F(xiàn)象被大大弱化,當(dāng)盤腔二次流入口給定的總壓相對較高時(shí),即便存在回流,分區(qū)界面處流動(dòng)的主要方向還是指向燃?xì)庵髁饕粋?cè)的;設(shè)定分區(qū)界面的流動(dòng)方向以后,F(xiàn)luent的計(jì)算依然允許在界面處存在與設(shè)定方向相反的流動(dòng),因而回流的影響可以得到考慮。
(2)界面處流動(dòng)參數(shù)的傳遞。
要到達(dá)主流二次流耦合的效果,必須保證沿著分區(qū)界面流場的質(zhì)量、動(dòng)量和能量守恒,在Fluent中,分區(qū)界面作為一個(gè)“外邊界”,并不能直接交換基本流場變量,而只能進(jìn)行邊界條件的設(shè)定,借助UDF,我們能夠?qū)崿F(xiàn)邊界上每個(gè)網(wǎng)格單元一一對應(yīng)的邊條信息傳遞,待流場迭代收斂后達(dá)到和交換基本流場變量類似的效果,最終保證界面處三大守恒律的滿足。
確定分區(qū)耦合界面的流動(dòng)方向是從盤腔流向主流后,對于盤腔流動(dòng),分區(qū)界面為計(jì)算域出口,設(shè)定壓力出口邊條;對于燃?xì)庵髁鳎謪^(qū)界面為計(jì)算域入口,設(shè)定速度進(jìn)口邊條,具體的設(shè)置如下:對于盤腔流動(dòng),分區(qū)界面處設(shè)定壓力出口邊條,需要主流區(qū)提供的參數(shù)包括背壓、回流總溫和回流的方向向量;對于主流燃?xì)猓謪^(qū)界面設(shè)定為速度進(jìn)口邊條,需要二次流區(qū)提供的參數(shù)包括3個(gè)速度分量,溫度和回流時(shí)的背壓。盡管沿著分區(qū)界面?zhèn)鬟f的邊條參數(shù)是有限的,但這些參數(shù)已經(jīng)保證了計(jì)算結(jié)果的適定性,通過分區(qū)界面?zhèn)鬟f數(shù)據(jù),2個(gè)計(jì)算域反復(fù)迭代直至流場收斂,此時(shí)界面兩側(cè)的流場變量是連續(xù)分布的,也就保證了分區(qū)界面處三大守恒律的滿足。
(3)界面處湍流參數(shù)的傳遞。
通過界面處流動(dòng)參數(shù)的傳遞,保證了沿著分區(qū)界面兩側(cè)流場變量是連續(xù)分布的,分區(qū)界面也滿足質(zhì)量、動(dòng)量、能量三大守恒律,但這并不能保證耦合仿真結(jié)果的預(yù)測精度,其原因在于:對基于雷諾平均的仿真方法而言,湍流模型是決定預(yù)測成敗的關(guān)鍵,僅僅在分區(qū)界面兩側(cè)保證流場變量連續(xù)是遠(yuǎn)遠(yuǎn)不夠的。當(dāng)流動(dòng)從一個(gè)區(qū)域穿過分區(qū)界面流入另一個(gè)區(qū)域時(shí),湍流量也會(huì)隨流進(jìn)入該區(qū)域,即在計(jì)算域入口(或計(jì)算域出口的回流區(qū)),除了需要流動(dòng)參數(shù)的邊界信息外,還應(yīng)該提供湍流參數(shù)的信息。
主流區(qū)和二次流區(qū)域計(jì)算時(shí)使用的湍流模型不同,分別是S-A和SSTk-ω模型,S-A模型求解關(guān)于變量 的一個(gè)輸運(yùn)方程,SSTk-ω模型則求解關(guān)于湍動(dòng)能k和湍流比耗散率ω的兩個(gè)輸運(yùn)方程。無論S-A還是SSTk-ω模型,均是基于Boussinesq的渦粘性假設(shè),顯然,界面湍流參數(shù)的傳遞應(yīng)該滿足這樣的原則:傳遞后沿界面兩側(cè)湍流粘性系數(shù)μt的分布連續(xù)。
基于上述原則,當(dāng)流動(dòng)從盤腔流入主流時(shí),對于主流區(qū)(求解S-A模型)而言,分區(qū)界面的速度進(jìn)口邊條要求二次流區(qū)域(求解SSTk-ω模型)提供一個(gè)湍流參數(shù),這個(gè)參數(shù)可以是修改后的湍流粘性,也可以是湍流粘性比μt/μ。從兩方程模型降為一方程模型,這是很容易實(shí)現(xiàn)的,考慮到UDF中可以直接讀出界面單元的湍流粘性μt和分子粘性μ,這里選用湍流粘性比μt/μ作為傳遞的參數(shù),具體執(zhí)行時(shí),F(xiàn)luent根據(jù)邊界UDF給定的μt/μ反算出湍流粘性,用于輸運(yùn)方程的求解。
當(dāng)流動(dòng)從主流區(qū)回流盤腔,對于二次流區(qū)域(求解SSTk-ω模型)而言,分區(qū)界面的壓力出口邊條要求主流區(qū)(求解S-A模型)提供2個(gè)湍流參數(shù),分別是湍動(dòng)能k和湍流比耗散率ω,這意味著要從一方程模型重構(gòu)二方程模型的參數(shù),其實(shí)現(xiàn)難度很大。該問題可描述為:以保證界面處湍流粘性系數(shù)連續(xù)分布為原則,將湍流粘性系數(shù)μt或湍流粘性比μt/μ作為參數(shù)傳遞(事實(shí)上這也是主流區(qū)的唯一選擇),實(shí)現(xiàn)對界面處湍動(dòng)能k和湍流比耗散率ω的重構(gòu)。事實(shí)上,對于k、ω、ε和μt,我們知道兩個(gè)關(guān)系式:
其中,ρ是密度,經(jīng)驗(yàn)系數(shù),給定μt后,3個(gè)未知量k、ω、ε,2個(gè)方程,無法求解,必須補(bǔ)充1個(gè)關(guān)系式或者給定3個(gè)未知量中的1個(gè)。
由于并不存在一般的準(zhǔn)則,要解決這一問題,必須對界面所在位置——輪緣間隙處的流動(dòng)進(jìn)行具體分析,該流動(dòng)具有2個(gè)主要的特點(diǎn):沿著整個(gè)圓周,輪緣間隙是一個(gè)很窄的狹縫,子午面內(nèi)狹縫的長度有限;輪緣間隙轉(zhuǎn)盤側(cè)相對于間隙靜盤側(cè)以很高的速度運(yùn)動(dòng),該速度遠(yuǎn)遠(yuǎn)大于間隙在子午面內(nèi)的流動(dòng)速度。
據(jù)此,如圖3所示,可以將間隙內(nèi)的流動(dòng)分解為2部分的矢量和,其一是周向的Couette流,一側(cè)平面的速度很大;其二是子午面內(nèi)的Poiseuille流,該流動(dòng)的速度很小。通過輪緣間隙,無論進(jìn)入還是離開盤腔,大部分流體質(zhì)點(diǎn)在子午面內(nèi)運(yùn)動(dòng)的距離很短,但該過程中均沿周向運(yùn)動(dòng)了較長的距離,那么可以認(rèn)為,流體質(zhì)點(diǎn)穿過輪緣間隙的流動(dòng),近似為一個(gè)平面Couette流動(dòng)。
圖3 Couette流和Poiseuille流示意圖
我們將耦合界面設(shè)置在輪緣間隙中間位置,顯然該位置也處于Couette流動(dòng)中部,Couette流是一種相對簡單的剪切流,若流動(dòng)是湍流態(tài),則湍動(dòng)能的生成和耗散近似平衡,更近一步,可以假設(shè)界面處的湍流流動(dòng)處于平衡態(tài),即有如下關(guān)系:
其中,湍動(dòng)能的生成項(xiàng)為:
其中,是速度張量, 是梯度張量。引入Boussinesq的渦粘性模型有:
其中,Sij是張量。由上面的等式可以知道,耗散率ε計(jì)算公式為:
知道ε以后,利用公式(1)、(2)可以算出k、ω。顯然,這些參數(shù)應(yīng)該在主流區(qū)進(jìn)行計(jì)算,而后將k、ω傳遞到二次流區(qū)域。
通過上一節(jié)對分區(qū)耦合算法的研究,我們對如何定義分區(qū)界面,耦合過程中沿分區(qū)界面?zhèn)鬟f哪些數(shù)據(jù)等問題有了較為深刻的理解和認(rèn)識,接下來需要考慮的問題是:如何構(gòu)建分區(qū)耦合平臺以成功實(shí)現(xiàn)燃?xì)庵髁髋c盤腔二次流的耦合仿真。本節(jié)從分析耦合計(jì)算的執(zhí)行流程入手,概括了耦合平臺的2大主要工作,而后分析界面數(shù)據(jù)交換的實(shí)現(xiàn)方法以及Fluent程序的自動(dòng)化執(zhí)行,在此基礎(chǔ)上完成了耦合平臺的流程框圖并介紹了平臺的Python實(shí)現(xiàn)。
設(shè)計(jì)分區(qū)耦合平臺的重要前提之一是要搞清楚分區(qū)耦合過程的執(zhí)行流程,現(xiàn)在設(shè)想人工執(zhí)行這一流程的步驟如下(假設(shè)計(jì)算網(wǎng)格已準(zhǔn)備好):
(1)運(yùn)行Fluent程序A,讀入燃?xì)庵髁鞯挠?jì)算網(wǎng)格,進(jìn)行相關(guān)設(shè)置(湍流模型、邊界條件等等),完成主流流場初始化;再運(yùn)行一個(gè)Fluent程序B,讀入盤腔二次流的計(jì)算網(wǎng)格,進(jìn)行相關(guān)設(shè)置(湍流模型、邊界條件等等),完成二次流流場初始化。
(2)設(shè)定計(jì)算步數(shù),程序A(主流計(jì)算)進(jìn)行指定步數(shù)的迭代求解;設(shè)定計(jì)算步數(shù),程序B(二次流計(jì)算)也同樣進(jìn)行指定步數(shù)的迭代求解。
(3)程序A(主流計(jì)算)輸出分區(qū)界面壓力p,總溫Tt,湍流粘性μt等數(shù)據(jù);程序B(二次流計(jì)算)輸出分區(qū)界面速度分量u、v、w,溫度T以及和μt等數(shù)據(jù)。
(4)處理程序B的輸出數(shù)據(jù),更新程序A(主流計(jì)算)分區(qū)界面的邊界條件;處理程序A的輸出數(shù)據(jù),更新程序B(二次流計(jì)算)分區(qū)界面的邊界條件。
(5)跳轉(zhuǎn)到第(2)步,(2)、(3)、(4)、(5)步順序執(zhí)行。
(6)若流場滿足收斂條件,程序A、程序B分別輸出計(jì)算結(jié)果,而后分別結(jié)束。
從上述步驟容易看出,要通過程序代碼將耦合計(jì)算的執(zhí)行流程自動(dòng)化,耦合平臺的主要工作包括2大部分:
第一是流程的控制,即控制2個(gè)Fluent程序的啟動(dòng),初始化(讀入網(wǎng)格、進(jìn)行相關(guān)的設(shè)置),迭代求解,收斂判定,以及計(jì)算結(jié)果的輸出,程序結(jié)束等等,這一部分的重要問題是保證兩個(gè)軟件的同步,即是說迭代求解快的程序等待迭代求解慢的程序,實(shí)現(xiàn)界面數(shù)據(jù)傳遞的同步。
第二是完成分區(qū)界面的數(shù)據(jù)交換,兩個(gè)Fluent程序分別迭代計(jì)算一定步數(shù)后,沿著分區(qū)界面分別輸出對方程序需要的數(shù)據(jù),對輸出的數(shù)據(jù)進(jìn)行恰當(dāng)?shù)奶幚恚?個(gè)Fluent程序再分別讀入處理后的數(shù)據(jù),更新分區(qū)界面的邊界條件。
通過上一小節(jié)搞清楚了分區(qū)耦合計(jì)算的執(zhí)行流程后,我們首先考慮如何實(shí)現(xiàn)數(shù)據(jù)的交換,因?yàn)橄鄬τ谡w的流程控制而言,它屬于“局部”的問題,對流程依賴不多,可以“獨(dú)立”的解決。
分析發(fā)現(xiàn),無論對于燃?xì)庵髁骰蛘弑P腔二次流動(dòng),耦合計(jì)算過程中,除分區(qū)界面處邊界條件的數(shù)值需要不斷更新外,其他的邊界條件均無需做任何改動(dòng);而界面處邊條的類型并不發(fā)生變化,只是需要更新具體的數(shù)值,并且這些數(shù)值不是單個(gè)的數(shù)據(jù),而是界面上的一組數(shù)據(jù)分布。
利用Fluent的用戶自定義函數(shù)UDF,可以輕松實(shí)現(xiàn)上述更新。圖4給出了耦合邊界數(shù)據(jù)交換的示意圖,燃?xì)庵髁鱂luent程序A以及盤腔二次流Fluent程序B完成一定步數(shù)的迭代后,開始交換數(shù)據(jù),利用 UDF,程序A將界面上的相關(guān)信息輸出到aout.dat文件,程序B則將界面信息輸出到bout.dat文件,基于Python的主控程序讀入aout.dat、bout.dat,按照要求對其中的數(shù)據(jù)進(jìn)行處理,而后分別生成程序B和程序A的輸入文件 bin.dat、ain.dat,接下來同樣利用UDF,程序A和B分別讀入ain.dat和bin.dat,完成界面邊界條件數(shù)據(jù)的更新。這樣就實(shí)現(xiàn)了一次分區(qū)界面的數(shù)據(jù)交換。
圖4 耦合邊界的數(shù)據(jù)交換
一般而言,我們在使用Fluent進(jìn)行仿真工作時(shí),通常會(huì)啟動(dòng)Fluent的圖形用戶界面(簡稱GUI),以便實(shí)現(xiàn)人與程序的實(shí)時(shí)交互。但是,在某些情況下,我們可能對交互性要求不高,只是希望程序能自動(dòng)完成一系列的計(jì)算工作,F(xiàn)luent提供了命令行的運(yùn)行方式,合理利用它很容易實(shí)現(xiàn)程序執(zhí)行的自動(dòng)化。
該過程主要是通過Fluent 的一個(gè)命令集合即進(jìn)程文件(Journal File)實(shí)現(xiàn)的,Journal文件可以重播用戶曾經(jīng)進(jìn)行的所有操作,其創(chuàng)建途徑有2個(gè):一是在用戶進(jìn)入圖形用戶界面后,系統(tǒng)自動(dòng)記錄用戶的操作和命令輸入,自動(dòng)生成進(jìn)程文件;另一個(gè)則是用戶使用文本編輯器直接用Scheme 語言創(chuàng)建進(jìn)程文件。
對于本項(xiàng)目而言,主控程序需要“同時(shí)”反復(fù)調(diào)用2個(gè)Fluent程序,分別進(jìn)行燃?xì)庵髁骱捅P腔二次流的迭代計(jì)算,這一過程中,需要修改的參數(shù)很少,沒有必要也基本上無法調(diào)用Fluent的GUI進(jìn)行相關(guān)設(shè)置。在主控程序執(zhí)行前,我們可以利用Scheme語言分別創(chuàng)建好主流計(jì)算和二次流計(jì)算的Journal文件,然后主控程序分別調(diào)用這2個(gè)文件,進(jìn)行迭代求解,如果有相關(guān)計(jì)算參數(shù)需要修改,則主控程序直接讀入Journal文件進(jìn)行修改再保存即可,這樣就完全實(shí)現(xiàn)了Fluent迭代過程的自動(dòng)化。
通過上述3個(gè)小節(jié)的描述將相關(guān)細(xì)節(jié)討論的比較清楚之后,接下來考慮整體計(jì)算流程的控制,設(shè)想我們用某種工具或語言編寫耦合計(jì)算程序,參考圖5,按照計(jì)算流程該平臺需要完成的主要工作如下:
圖5 耦合平臺的流程框圖
(1)計(jì)算啟動(dòng),平臺初始化,這一階段需要考慮多種情況,是進(jìn)行全新的計(jì)算,還是讀入已有的結(jié)果進(jìn)行續(xù)算?如有需要,主控程序分別讀入主流和二次流計(jì)算的Journal文件,進(jìn)行相關(guān)部分的修改然后存盤。
(2)主控程序調(diào)用Fluent分別執(zhí)行兩個(gè)Journal,進(jìn)行耦合計(jì)算第n次的迭代求解。
(3)主控程序判斷主流和二次流的第n次迭代求解是否均已完成,若都已完成,則分別讀入兩個(gè)程序的輸出文件aout.dat和bout.dat,按照要求對其中的數(shù)據(jù)進(jìn)行處理,再分別輸出兩個(gè)程序的輸入文件bin.dat和ain.dat。
(4)主控程序判斷計(jì)算是否收斂,若已收斂,跳到第(5)步執(zhí)行,否則對兩個(gè)Journal文件進(jìn)行適當(dāng)?shù)男薷模祷氐冢?)步執(zhí)行。
(5)耦合計(jì)算已收斂,將相關(guān)結(jié)果存盤,主控程序結(jié)束。
本文的耦合平臺選用開源的面向?qū)ο蟮腜ython 語言編寫,由于該語言具有良好的可移植性,在避免使用依賴于系統(tǒng)特性的前提下,耦合平臺幾乎無需修改就可以在任何系統(tǒng)操作系統(tǒng)上運(yùn)行。作為一種近似解釋型語言,Python相對于編譯型語言運(yùn)行速度較慢,但耦合平臺要實(shí)現(xiàn)的只是接口和主控功能,在耦合計(jì)算過程中,絕大部分時(shí)間是“被耦合”的Fluent軟件在進(jìn)行計(jì)算,耦合程序真正執(zhí)行的時(shí)間是很短的,因而它執(zhí)行的快慢幾乎不會(huì)影響整體的耦合計(jì)算效率。
為實(shí)現(xiàn)渦輪燃?xì)庵髁骱捅P腔二次流的分區(qū)耦合仿真,本文從分析該耦合系統(tǒng)所具有的主要流動(dòng)特征和耦合特性入手,探討了分區(qū)耦合算法的設(shè)計(jì)及分區(qū)耦合平臺的構(gòu)建,主要結(jié)論如下:
(1)燃?xì)庵髁髋c盤腔二次流分區(qū)界面的定義應(yīng)遵循3個(gè)原則:盤腔的網(wǎng)格與靜子或轉(zhuǎn)子網(wǎng)格固結(jié)在一起,二者的界面不與摻混面相交;分區(qū)界面應(yīng)位于輪緣間隙區(qū)域,通過該界面的流動(dòng)方向盡量保持一致;分區(qū)界面兩側(cè)的計(jì)算網(wǎng)格應(yīng)保證完全匹配。
(2)分區(qū)界面處的流動(dòng)方向設(shè)定為從盤腔指向主流,界面參數(shù)的傳遞結(jié)合UDF通過設(shè)定邊界條件實(shí)現(xiàn),既應(yīng)滿足界面兩側(cè)流場的質(zhì)量、動(dòng)量和能量守恒,也應(yīng)保證湍流粘性系數(shù)的連續(xù)分布。
(3)耦合平臺的2大主要功能包括實(shí)現(xiàn)對計(jì)算流程的控制以及完成分區(qū)界面的數(shù)據(jù)交換,用Python語言搭建平臺,結(jié)合Fluent的UDF功能和命令行執(zhí)行,可以實(shí)現(xiàn)燃?xì)庵髁骱捅P腔二次流分區(qū)耦合仿真提出的全部要求。
[1]Bogard D G, Thole K A. Gas turbine film cooling. Journal of Propulsion and Power,2006, 22: 249-270.
[2]劉大響, 金捷. 21世紀(jì)世界航空動(dòng)力技術(shù)發(fā)展趨勢與展望. 中國工程科學(xué),2004, 6(9): 1-8.
[3]Valencia A G, Dixon J A, Soghe R D,et al. An investigation into numerical analysis alternatives for predicting re-Ingestion in turbine disc rim cavities. ASME Paper GT2012-68592,2012.
[4]Mahoney O, Hills T S D, Chew N J, et al. Large-Eddy Simulation of Rim Seal Ingestion.ASME GT2010-22962, 2010.
[5]Chew J W, Hills N J. Computational fluid dynamics for turbomachinery internal air systems. Phil. Trans. R. Soc. A, 2007, 365: 2587-2611.
[6]Wolf K. MpCCI-The General Code Coupling Interface, LS-DYNA Forum,Frankenthal, 2007.
[7]ANSYS Inc, Workbench User's Guide,Canonsburg:AHSYS Inc, 2013.
[8]Piacentini A, Morel T, The'venin A, et al. Open-PALM: An open source dynamic parallel coupler. Coupled problems, Greece, 2011.
[9]Pawlowski R, Bartlett R, Belcourt N,et al. A Theory Manual for Multi-Physics Code Coupling in LIME//Sandia Technical Report SAND2011-2195. Albuquerque:Sandia National Laboratories, 2011.
[10]Schluter J U, Wu X, Weide E, et al.A python approach to multi-code simulations CHIMPS//Center for Turbulence Research,Annual Research Briefs, 2005:97-110..
[11]Wang P, Zheng Y, Zou Z, et al. A novel multi-fidelity coupled simulation method for flow systems. Chinese Journal of Aeronautics,2013,26(4): 868-875.