袁 武 閻 超 于 劍 杜若凡
(北京航空航天大學(xué)國(guó)家計(jì)算流體力學(xué)實(shí)驗(yàn)室,北京100191)
尋點(diǎn)方法是重疊網(wǎng)格[1-6]的關(guān)鍵技術(shù)之一,“尋點(diǎn)”是確定網(wǎng)格點(diǎn)在其他網(wǎng)格中的位置、查找網(wǎng)格貢獻(xiàn)單元的統(tǒng)稱(chēng).由于在重疊網(wǎng)格的生成過(guò)程中需要大量地進(jìn)行“尋點(diǎn)”操作,因而準(zhǔn)確與效率是尋點(diǎn)方法的關(guān)鍵.
常見(jiàn)的尋點(diǎn)方法有遍歷法、Stencil Walk[7]、反變換(Inverse Map)[8]、ADT(Alternating Digital Tree)搜索[9-10]等.其中,ADT 搜索方法用笛卡兒坐標(biāo)下的包圍盒(min,max)對(duì)物體進(jìn)行特征描述,由包圍盒是否相交來(lái)判斷物體的相交關(guān)系.由于包圍盒相交關(guān)系的判斷非常簡(jiǎn)單,因此,ADT方法效率很高,且特別適合對(duì)幾何不規(guī)則目標(biāo)進(jìn)行搜索.
本文提出了一種直接在格心網(wǎng)格下操作、基于虛網(wǎng)格概念的ADT搜索方法,能有效提高尋點(diǎn)方法的效率和可靠性,并通過(guò)數(shù)值算例對(duì)新方法進(jìn)行了驗(yàn)證.
目前,基于格心網(wǎng)格的有限體積法在CFD(Computational Fluid Dynamics)中應(yīng)用廣泛.在格心網(wǎng)格的尋點(diǎn)問(wèn)題中,由于網(wǎng)格分區(qū)的關(guān)系,在分區(qū)邊界上,格心網(wǎng)格單元跨越多個(gè)子區(qū),單元頂點(diǎn)位于不同子區(qū)內(nèi),難以給出格心網(wǎng)格單元的唯一位置標(biāo)識(shí),格心網(wǎng)格單元在邏輯空間上不封閉,這給ADT樹(shù)的建立帶來(lái)不便.一種解決辦法[11]是,仍然借用格點(diǎn)網(wǎng)格生成ADT樹(shù),然后找到P點(diǎn)的格點(diǎn)貢獻(xiàn)單元,以該格點(diǎn)網(wǎng)格為頂點(diǎn)的格心網(wǎng)格必然比較靠近P點(diǎn),再結(jié)合Stencil Walk方法,在附近找到真正的格心貢獻(xiàn)單元,但Stencil Walk方法存在局部收斂性要求,若初始位置單元不合理,Stencil walk方法有可能收斂不到合理貢獻(xiàn)單元而導(dǎo)致尋點(diǎn)失敗.
另一種思想就是直接在格心網(wǎng)格下進(jìn)行ADT搜索,搜索結(jié)果是可能的格心貢獻(xiàn)單元集合,再利用點(diǎn)面位置關(guān)系對(duì)結(jié)果列表進(jìn)行逐一判斷,即得到合理貢獻(xiàn)單元.不同于格點(diǎn)網(wǎng)格下搜索結(jié)果是解的附近某位置,格心網(wǎng)格下搜索結(jié)果是一個(gè)包含解的集合,故可以完全摒棄不穩(wěn)定的Stencil Walk方法,直接對(duì)搜索結(jié)果列表進(jìn)行遍歷,有效提高了尋點(diǎn)方法的可靠性.
格心網(wǎng)格下建立ADT樹(shù)的關(guān)鍵是使搜索空間完整封閉,問(wèn)題描述如圖1所示,本文圖例均以實(shí)線(xiàn)表示格點(diǎn)網(wǎng)格線(xiàn),虛線(xiàn)表示格心網(wǎng)格線(xiàn).在分區(qū)邊界上,格心單元跨越多個(gè)子區(qū),邏輯坐標(biāo)不連續(xù),無(wú)法直接組織ADT樹(shù),導(dǎo)致格心單元搜索區(qū)域在計(jì)算域內(nèi)不完整,不能正確搜索落入分區(qū)邊界附近的點(diǎn),如圖中點(diǎn)P.若在原網(wǎng)格系統(tǒng)下封閉格心區(qū)域,數(shù)據(jù)結(jié)構(gòu)復(fù)雜,且對(duì)各種分區(qū)邊界處理十分繁瑣.文獻(xiàn)[12]采用面、線(xiàn)、點(diǎn)順序延拓的方法,重構(gòu)分區(qū)邊界的插值關(guān)系,但該方法只解決了完全封閉的計(jì)算域內(nèi)部拓?fù)洌瑢?duì)延拓部分沒(méi)有形成理論描述.
圖1 各子區(qū)格心單元覆蓋區(qū)域(虛線(xiàn)圍成陰影)
本文借鑒CFD計(jì)算格式對(duì)邊界處理的方法,引入虛網(wǎng)格的思想,較好解決了格心網(wǎng)格下ADT樹(shù)封閉問(wèn)題.虛網(wǎng)格由計(jì)算域內(nèi)格心網(wǎng)格向外擴(kuò)展得到,圖2是二維的虛網(wǎng)格示意,與圖1情況比較,虛網(wǎng)格在分區(qū)邊界的擴(kuò)展,填補(bǔ)了原格心單元各子區(qū)之間的“空白地帶”,確保搜索空間內(nèi)部完整封閉.除分區(qū)邊界外,其余類(lèi)型邊界也擴(kuò)展了虛網(wǎng)格,使虛網(wǎng)格單元的實(shí)際覆蓋面積大于計(jì)算域,在下文中將介紹,非分區(qū)邊界虛網(wǎng)格不作為有效貢獻(xiàn)單元,僅在重疊過(guò)程中臨時(shí)使用.
圖2 二維虛網(wǎng)格示意
虛網(wǎng)格中包含邊界條件信息,如由遠(yuǎn)場(chǎng)邊界外推的虛網(wǎng)格記為“遠(yuǎn)場(chǎng)”,其余亦然.對(duì)邊界搭接的角點(diǎn),如圖2中點(diǎn)(0,JN),同時(shí)在遠(yuǎn)場(chǎng)和對(duì)稱(chēng)面上,則不標(biāo)記邊界屬性.邊界附近尋點(diǎn)結(jié)果包含明確的邊界信息,對(duì)重疊過(guò)程中正確處理尋點(diǎn)結(jié)果有重要意義,如挖洞結(jié)束時(shí),洞面點(diǎn)P1可能落在壁面和第1層格心網(wǎng)格之間,傳統(tǒng)方法搜索結(jié)果是無(wú)貢獻(xiàn)單元,且無(wú)具體信息,程序無(wú)法區(qū)分P1點(diǎn)與遠(yuǎn)場(chǎng)外P2點(diǎn),可能錯(cuò)誤地解讀為洞邊界已遠(yuǎn)離物面,使重疊出錯(cuò).由本文方法在計(jì)算域中(尤指邊界處格心域小于計(jì)算域的情況)均能直接找到頂點(diǎn)含虛網(wǎng)格的貢獻(xiàn)單元,狀態(tài)由虛網(wǎng)格邊界屬性確定,為重疊過(guò)程中正確處理尋點(diǎn)結(jié)果提供有效信息.
使用Stencil Walk方法尋點(diǎn)時(shí),網(wǎng)格點(diǎn)在單一邊界附近有時(shí)也能提供邊界信息,但位于多個(gè)邊界搭接處時(shí),Stencil Walk方法由初始位置出發(fā),到第1個(gè)邊界處,不論是否找到貢獻(xiàn)單元都會(huì)停止移動(dòng),并記錄停止處單一邊界信息.如圖2中點(diǎn)P4,Stencil Walk方法搜索結(jié)果是無(wú)貢獻(xiàn)單元,邊界信息可能是“遠(yuǎn)場(chǎng)”附近,也可能是“對(duì)稱(chēng)面”附近,由移動(dòng)過(guò)程不可預(yù)測(cè)地決定.而在重疊過(guò)程中,遠(yuǎn)場(chǎng)和對(duì)稱(chēng)面附近尋點(diǎn)結(jié)果意義是不同的.因此,Stencil Walk在邊界附近尋點(diǎn)存在隱患,可能存在合理貢獻(xiàn)單元但因邊界約束而無(wú)法正確查找,或者如前所述無(wú)法提供尋點(diǎn)結(jié)果的正確邊界信息.使用本文方法時(shí),P4點(diǎn)可以直接找到頂點(diǎn)含虛網(wǎng)格的貢獻(xiàn)單元,虛網(wǎng)格包含“遠(yuǎn)場(chǎng)”和“對(duì)稱(chēng)面”信息.
明確的邊界定義使計(jì)算虛網(wǎng)格物理坐標(biāo)時(shí)可以根據(jù)其邊界屬性相應(yīng)處理.遠(yuǎn)場(chǎng)、壁面和對(duì)稱(chēng)面等非分區(qū)邊界,虛網(wǎng)格不作為有效貢獻(xiàn)單元,無(wú)需計(jì)算準(zhǔn)確的位置信息,可以直接由內(nèi)層網(wǎng)格線(xiàn)性外插獲得.一些情況下外插的網(wǎng)格可能出現(xiàn)扭曲或變形,由于ADT方法對(duì)包圍盒搜索,只關(guān)注目標(biāo)物理坐標(biāo)上下限值,與結(jié)構(gòu)的幾何細(xì)節(jié)無(wú)關(guān),故虛網(wǎng)格的扭曲或變形對(duì)ADT的搜索結(jié)果沒(méi)有影響.
分區(qū)邊界附近計(jì)算跨區(qū)單元頂點(diǎn)是建立格心網(wǎng)格ADT搜索體系的難點(diǎn).在兩個(gè)子區(qū)對(duì)接的簡(jiǎn)單情況下,若虛網(wǎng)格有對(duì)應(yīng)的實(shí)網(wǎng)格(相鄰分區(qū)第1層格心網(wǎng)格),則使用該實(shí)網(wǎng)格位置信息以構(gòu)成有效貢獻(xiàn)單元,且在重疊過(guò)程中虛網(wǎng)格屬性始終指向該實(shí)網(wǎng)格.
多個(gè)子區(qū)連接時(shí),格心單元跨越多個(gè)子區(qū),搜索單元頂點(diǎn)十分繁瑣,虛網(wǎng)格的定義較大簡(jiǎn)化了處理方法.分兩種情況討論:
1)圖3a所示計(jì)算域內(nèi)部有子區(qū)緊密連接時(shí),由P1搜索對(duì)角線(xiàn)頂點(diǎn)P4,從P1出發(fā),沿P1—P2—P3—P4或 P1—P5—P6—P4或其他任一條路徑(共有6種最短路徑)通過(guò)穿越分區(qū)邊界搜索相鄰實(shí)網(wǎng)格,均能獲得頂點(diǎn)P4的正確信息;
2)(二維示意可參考圖2中CELL1單元)如圖3b所示,跨區(qū)格心單元有非分區(qū)邊界頂點(diǎn)P6,此時(shí)沿P1—P5—P6—P4搜索,由于P6和P4邏輯坐標(biāo)沒(méi)有關(guān)聯(lián),搜索將中斷,只有沿特定路線(xiàn)如P1—P2—P3—P4,才能正確獲得頂點(diǎn)P4信息.
搜索路徑的選擇與算法有關(guān),但對(duì)不同的拓?fù)淝闆r和分區(qū)邏輯坐標(biāo)順序不同,執(zhí)行時(shí)有較大的不確定性.一種做法是對(duì)所有可能的路徑都進(jìn)行分析,判斷跨區(qū)單元的虛網(wǎng)格頂點(diǎn)是否有對(duì)應(yīng)的實(shí)網(wǎng)格,但這顯然不是一種好的做法.由本文方法對(duì)虛網(wǎng)格的定義,注意到頂點(diǎn)含非分區(qū)邊界虛網(wǎng)格的格心單元不是有效貢獻(xiàn)單元,該單元只使用邊界信息,不需要準(zhǔn)確的位置信息.因此在搜索路徑中,若出現(xiàn)非分區(qū)邊界,跨區(qū)單元的該頂點(diǎn)可由線(xiàn)性插值近似獲得,無(wú)需嚴(yán)謹(jǐn)尋找或有的對(duì)應(yīng)實(shí)網(wǎng)格,有效簡(jiǎn)化了復(fù)雜分區(qū)邊界上跨區(qū)單元頂點(diǎn)搜索的算法.
圖3 邊界上搜索跨區(qū)單元頂點(diǎn)
本文方法的一個(gè)重要應(yīng)用是可以在對(duì)稱(chēng)邊界上進(jìn)行尋點(diǎn),擴(kuò)展了可處理的邊界類(lèi)型.
先討論傳統(tǒng)方法處理對(duì)稱(chēng)邊界遇到的困難,圖4是半模彈身在背景網(wǎng)格中的截面示意,模型中包括壁面、遠(yuǎn)場(chǎng)和公共的對(duì)稱(chēng)面邊界.對(duì)于格點(diǎn)系統(tǒng),彈身網(wǎng)格和背景網(wǎng)格在對(duì)稱(chēng)邊界上重合,格點(diǎn)單元均有效覆蓋半??臻g.但在格心系統(tǒng)中,由于對(duì)稱(chēng)面附近網(wǎng)格尺寸不同,兩物體對(duì)稱(chēng)面格心網(wǎng)格線(xiàn)相貫,彈身格心單元的實(shí)際覆蓋區(qū)域小于背景網(wǎng)格,即意味背景網(wǎng)格在對(duì)稱(chēng)面附近部分網(wǎng)格落在彈身網(wǎng)格域外,傳統(tǒng)方法尋點(diǎn)將找不到貢獻(xiàn)單元,不能作為插值點(diǎn)使用,如圖中格心網(wǎng)格線(xiàn)IS1上端位于彈身遠(yuǎn)場(chǎng)外,是正常點(diǎn),IS1下端被彈身物面挖去,是洞內(nèi)點(diǎn),而中間沒(méi)有可作重疊邊界的有效插值點(diǎn),將導(dǎo)致計(jì)算中流場(chǎng)信息錯(cuò)誤地在洞外區(qū)域和洞內(nèi)區(qū)域傳遞,使計(jì)算結(jié)果錯(cuò)誤甚至發(fā)散.
圖4 半模彈身在背景網(wǎng)格中示意
圖4所示情況只是對(duì)稱(chēng)面尋點(diǎn)的一種,對(duì)多個(gè)物體重疊,或者對(duì)稱(chēng)面附近網(wǎng)格相對(duì)關(guān)系變化大時(shí),問(wèn)題更加復(fù)雜,但原因均是各物體格心單元覆蓋的半模空間不完整,使對(duì)稱(chēng)面附近ADT搜索區(qū)域有缺失,導(dǎo)致部分網(wǎng)格不能相互找點(diǎn).虛網(wǎng)格的引入解決了上述問(wèn)題,圖5是按本文方法擴(kuò)展后的網(wǎng)格體系示意,在彈身和背景網(wǎng)格對(duì)稱(chēng)面上各外推一層虛網(wǎng)格,由虛網(wǎng)格和實(shí)網(wǎng)格組成的單元集合完整地覆蓋了半??臻g,使對(duì)稱(chēng)面附近任一實(shí)網(wǎng)格均能搜索到貢獻(xiàn)單元.貢獻(xiàn)單元頂點(diǎn)中或包含虛網(wǎng)格,程序中作如下處理:
1)網(wǎng)格重疊過(guò)程中,只使用貢獻(xiàn)單元中實(shí)網(wǎng)格屬性作為洞邊界移動(dòng)的判據(jù),虛網(wǎng)格提供確保ADT搜索成功的完整空間;
2)重疊結(jié)束后建立插值邊界,若貢獻(xiàn)單元頂點(diǎn)含虛網(wǎng)格,則置換為相鄰的實(shí)網(wǎng)格單元,以與求解器匹配,此時(shí)插值點(diǎn)在實(shí)網(wǎng)格單元外部,插值系數(shù)在(0,1)區(qū)間外,但一般情況下對(duì)稱(chēng)面附近網(wǎng)格匹配較好時(shí),插值系數(shù)溢出很少.
圖5 半模彈身在背景網(wǎng)格中的虛網(wǎng)格擴(kuò)展
與對(duì)稱(chēng)面尋點(diǎn)類(lèi)似,若有兩個(gè)邊界面貼合在一起,傳統(tǒng)方法的處理也存在尋點(diǎn)失敗的問(wèn)題.圖6a是超音速來(lái)流條件下,彈身前體在背景網(wǎng)格中示意,模型中有公共的后場(chǎng)面,與上例類(lèi)似的是后場(chǎng)上格點(diǎn)網(wǎng)格共面,格心網(wǎng)格位置交錯(cuò),使后場(chǎng)附近尋點(diǎn)搜索空間不完整.本文方法處理時(shí),給后場(chǎng)網(wǎng)格面建立新的邊界類(lèi)型“patch”,表示有網(wǎng)格面在此處貼合.圖6b是擴(kuò)展后的網(wǎng)格體系,虛網(wǎng)格由相鄰實(shí)網(wǎng)格線(xiàn)性外推,用于封閉搜索空間,使尋點(diǎn)在后場(chǎng)附近能有效執(zhí)行.程序中對(duì)頂點(diǎn)含“patch”虛網(wǎng)格的貢獻(xiàn)單元處理與對(duì)稱(chēng)面情況一致.
圖6 前體在背景網(wǎng)格中的網(wǎng)格示意
本文發(fā)展的尋點(diǎn)方法已在 MI-GRID[11,13-14]中得到應(yīng)用.MI-GRID是北航閻超課題組研制的重疊網(wǎng)格軟件,從2000年開(kāi)始研制,目前仍在不斷改進(jìn)和發(fā)展.該重疊網(wǎng)格軟件計(jì)算效率高、可靠性好,先后參與了國(guó)內(nèi)多個(gè)航空航天型號(hào)研制工作,包括復(fù)雜外形飛行器、子母彈拋撒、助推級(jí)分離、折疊翼打開(kāi)等項(xiàng)目,得到了有效考核.
為驗(yàn)證本文發(fā)展的方法,對(duì)美國(guó)大力神四號(hào)(TitanⅣ)大型捆綁式運(yùn)載火箭的超音速繞流問(wèn)題[15]進(jìn)行數(shù)值模擬研究,計(jì)算條件為:M∞=1.6,ReL=1.1 ×107,α =0°.分別生成芯級(jí)和助推級(jí)的半模計(jì)算網(wǎng)格,網(wǎng)格數(shù)目為190萬(wàn)和40萬(wàn).算例在配置INTEL CORE2 Q8200,2 GB內(nèi)存的微機(jī)上運(yùn)行,經(jīng)測(cè)試,格點(diǎn)搜索法和格心搜索法生成ADT樹(shù)所需存儲(chǔ)開(kāi)銷(xiāo)相當(dāng),但格點(diǎn)法在查找中需執(zhí)行大量Stencil Walk操作,故執(zhí)行時(shí)間要稍多于格心法.
圖7是TitanⅣ運(yùn)載火箭半模模型示意,模型中包括公共的對(duì)稱(chēng)面和后場(chǎng)patch面.圖8是重疊結(jié)果,在對(duì)稱(chēng)面和patch面上重疊邊界整齊、重疊形式合理,說(shuō)明本文方法在復(fù)雜邊界條件下能正確應(yīng)用.
圖7 半模模型的邊界類(lèi)型
圖9是火箭芯級(jí)中心線(xiàn)上的壓力分布與實(shí)驗(yàn)的比較,計(jì)算結(jié)果與實(shí)驗(yàn)值吻合較好.因?yàn)樵陲L(fēng)洞實(shí)驗(yàn)中,芯級(jí)與助推級(jí)間存在連接機(jī)構(gòu),導(dǎo)致實(shí)驗(yàn)的峰值點(diǎn)略高.
圖8 半模模型重疊網(wǎng)格示意
圖9 芯級(jí)中心線(xiàn)壓力分布
本文提出了一種直接在格心網(wǎng)格下操作、基于虛網(wǎng)格邊界的ADT搜索方法,研究結(jié)果表明:
1)通過(guò)擴(kuò)展虛網(wǎng)格,使格心網(wǎng)格覆蓋區(qū)域完整封閉,成功實(shí)現(xiàn)格心網(wǎng)格下的ADT數(shù)據(jù)結(jié)構(gòu).與格點(diǎn)搜索法相比,格心搜索法直接給出貢獻(xiàn)單元可能的解集,再進(jìn)行局部遍歷,完全摒棄了不穩(wěn)定的Stencil Walk方法,有效提高了尋點(diǎn)方法的可靠性.
2)虛網(wǎng)格邊界的定義使尋點(diǎn)在邊界附近的處理更為靈活,可以準(zhǔn)確給出邊界附近貢獻(xiàn)單元的有效信息,同時(shí),有效簡(jiǎn)化了虛網(wǎng)格系統(tǒng)的構(gòu)建,尤其是簡(jiǎn)化了各種復(fù)雜拓?fù)湎路謪^(qū)邊界附近跨區(qū)單元頂點(diǎn)的搜索算法.
3)虛網(wǎng)格的重要應(yīng)用是擴(kuò)展了重疊邊界類(lèi)型,傳統(tǒng)方法處理對(duì)稱(chēng)面時(shí)存在理論缺陷,新方法創(chuàng)建的搜索集合能完整覆蓋網(wǎng)格空間,解決了對(duì)稱(chēng)面重疊問(wèn)題.
References)
[1]Steger J L,Dougherty F C,Benek J A.A Chimera grid scheme[C]//ASME Mini-Symposium on Advances in Grid Generation.Houston:[s.n.],1982:59 -69
[2]Ralph W N,Jeffrey P S.A summary of the 2004 overset symposium on composite grids and solution technology[R].AIAA-2005-921,2005
[3]Sudharsun Jagannathan.A methodology for assembling overset generalized grids[D].Mississippi:Mississippi Computational Engineering in the College of Engineering,Mississippi State University,2004
[4]Sogers S E,Suhs N E,Dietz W E.PEGSUS 5:an automated preprocessor for overset-grid computational fluid dynamics[J].AIAA Journal,2003,41(6):1037 -1045
[5]Prewitt N C,Belk D M,Shyy W.Parallel computing of overset grids for aerodynamic problems with moving grids[M].Gainesville:[s.n.],1999:117 -172
[6]Morgan P E,Visbal M R.Chimera-based parallelization of an implicit Navier-Stokes solver with applications[R].AIAA-2001-1088,2001
[7]Belk D M,Maple R C.Automated assembly of structured grids for moving body problems[R].AIAA-95-1680-CP,1995
[8]Meaking R L.A new method for establishing intergrid communication among systems of overset grids[R].AIAA-91-1586,1991
[9]Bonet J,Peraire J.An alternating digital tree(ADT)algorithm for 3D geometric searching and inter-section problems[J].International Journal for Numerical Methods in Engineering,1991,31(1):1-17
[10]Spinetti R L,Jolly B A.Time-accurate numerical simulation of GBU-38s separating from the B-1B aircraft with various ejector forces,store properties,and load-out configurations[R].AIAA-2008-187,2008
[11]李亭鶴.重疊網(wǎng)格自動(dòng)生成方法研究[D].北京:北京航空航天大學(xué)航空科學(xué)與工程學(xué)院,2004 Li Tinghe.Investigation of chimera grid au-tomatic generation algorithm[D].Beijing:School of Aeronautic Science and Engineering,Beihang University,2004(in Chinese)
[12]王建濤.直升機(jī)旋翼前緣下垂控制動(dòng)態(tài)失速數(shù)值模擬研究[D].綿陽(yáng):中國(guó)空氣動(dòng)力研究與發(fā)展中心研究生部,2008 Wang Jiantao.Numerical simulation of dynamic stall control on helicopter rotor wings with variable droop leading edge method[D].Mianyang:Graduate School,China Aerodynamics Research and Development Center,2008(in Chinese)
[13]閻超.計(jì)算流體力學(xué)方法及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006:200-220 Yan Chao.The methodology and application of computational fluid dynamics[M].Beijing:Beihang University Press,2006:200-220(in Chinese)
[14]范晶晶.復(fù)雜重疊網(wǎng)格方法研究及多體運(yùn)動(dòng)的非定常流動(dòng)模擬[D].北京:北京航空航天大學(xué)航空科學(xué)與工程學(xué)院,2010 Fan Jingjing.Enhancement of complex overset grid assembly and numerical simulation of unsteady multi-body movement[D].Beijing:School of Aeronautic Science and Engineering,Beihang University,2010(in Chinese)
[15]Stephen Taylor,Johnson C T.Launch-vehicle simulations using a concurrent,implicit Navier-Stokes solver[R].AIAA-95-0223,1995