龐宇飛,盧風(fēng)順,劉 楊,陳 波,江 雄,齊 龍,陳 杰,謝冬香,張紅紅
(中國(guó)空氣動(dòng)力研究與發(fā)展中心,綿陽 621000)
網(wǎng)格生成技術(shù)的研究最早可以追溯到1966年,Winslow 通過求解拉普拉斯方程[1]對(duì)三角形網(wǎng)格進(jìn)行了數(shù)值構(gòu)造。該技術(shù)一直受到研究人員的廣泛關(guān)注,誕生了許多相關(guān)的學(xué)術(shù)研究成果[2-4]。在計(jì)算流體力學(xué)領(lǐng)域,模擬流體物理特性時(shí)通常需要離散計(jì)算空間的網(wǎng)格作為輸入條件。針對(duì)復(fù)雜幾何外形生成網(wǎng)格通常是非常困難且耗時(shí)的,這極大地影響了在航空航天領(lǐng)域和其他行業(yè)中仿真的效率。
根據(jù)拓?fù)浣Y(jié)構(gòu),網(wǎng)格可以劃分為結(jié)構(gòu)網(wǎng)格和非結(jié)構(gòu)網(wǎng)格。結(jié)構(gòu)網(wǎng)格的生成通常比非結(jié)構(gòu)網(wǎng)格需要更多的人工干預(yù),在復(fù)雜外形情況下的生成時(shí)間是以周而不是小時(shí)來衡量的[5]。盡管生成速度較低,但結(jié)構(gòu)網(wǎng)格憑借邊界層模擬準(zhǔn)確、計(jì)算效率高等優(yōu)勢(shì)在計(jì)算流體力學(xué)領(lǐng)域仍然具有廣泛的應(yīng)用場(chǎng)景。為解決結(jié)構(gòu)網(wǎng)格生成速度慢的問題,本文研發(fā)了一款具有友好圖形用戶界面(GUI)的交互式結(jié)構(gòu)網(wǎng)格生成軟件——網(wǎng)格之星(NNW-GridStar),以減輕結(jié)構(gòu)網(wǎng)格生成中的痛點(diǎn)。該軟件支持附面層網(wǎng)格自動(dòng)生成,也能加快空間網(wǎng)格的生成,從而大幅度提升網(wǎng)格生成的效率。
本文第一部分介紹結(jié)構(gòu)網(wǎng)格生成軟件的相關(guān)工作;第二部分詳細(xì)介紹網(wǎng)格之星的軟件設(shè)計(jì);第三部分展示了幾個(gè)關(guān)鍵功能模塊的實(shí)現(xiàn);第四部分從網(wǎng)格生成速度和網(wǎng)格質(zhì)量?jī)蓚€(gè)方面比較了網(wǎng)格之星和兩個(gè)商業(yè)軟件,并描述其在CFD 模擬中的應(yīng)用;第五部分總結(jié)并展望未來工作。
Schneiders[9]維護(hù)了一個(gè)網(wǎng)格生成軟件列表,其中包含大約100個(gè)公開的網(wǎng)格生成工具和60款商業(yè)網(wǎng)格生成軟件。在此僅列出其中支持三維結(jié)構(gòu)網(wǎng)格生成的一部分軟件。
CGT[10]是一個(gè)軟件包,其中包含用于Chimera重疊網(wǎng)格方法的各種預(yù)處理和后處理工具。CGT 中的工具包括曲面網(wǎng)格生成工具、體積網(wǎng)格生成工具、網(wǎng)格實(shí)用程序、配置自動(dòng)化腳本、實(shí)用程序腳本和后處理工具。
MegaCads[11]是具有一些簡(jiǎn)單CAD 功能的交互式網(wǎng)格生成系統(tǒng)。用戶能夠基于形狀的簡(jiǎn)單表示來構(gòu)建塊的邊界,創(chuàng)建表面網(wǎng)格并用網(wǎng)格填充空間。該工具能夠?yàn)楦呃字Z數(shù)流動(dòng)生成結(jié)構(gòu)多塊網(wǎng)格,但沒有任何自動(dòng)生成功能。
Overture[12-13]是專為解決結(jié)構(gòu)網(wǎng)格或結(jié)構(gòu)網(wǎng)格集合上的問題而設(shè)計(jì)的,可以使用曲線網(wǎng)格、自適應(yīng)網(wǎng)格細(xì)化和復(fù)合重疊網(wǎng)格方法來表示相關(guān)問題。這些問題可以通過名為Ogen[14]的重疊網(wǎng)格生成器生成。
關(guān)于這些網(wǎng)格生成工具,本文得到以下觀察結(jié)果:1)與非結(jié)構(gòu)網(wǎng)格生成工具相比,結(jié)構(gòu)網(wǎng)格生成工具受到的關(guān)注較少,列出的網(wǎng)格生成器中只有約20%可以處理結(jié)構(gòu)網(wǎng)格。2)大多數(shù)工具不支持交互式網(wǎng)格生成,并且通常針對(duì)特定類型的構(gòu)型進(jìn)行自定義;3)在列出的結(jié)構(gòu)網(wǎng)格生成工具中幾乎找不到自動(dòng)生成功能,這極大地影響了網(wǎng)格生成速度。
本小節(jié)將簡(jiǎn)單介紹幾款能夠支持三維結(jié)構(gòu)網(wǎng)格生成的主流商業(yè)軟件。
Pointwise[7]是一款靈活、健壯、可靠的網(wǎng)格生成軟件,可提供高水平的自動(dòng)化網(wǎng)格生成。自1984年以來,該軟件一直在不斷打磨結(jié)構(gòu)四邊形和六面體網(wǎng)格劃分技術(shù),以生成高質(zhì)量的網(wǎng)格,并可以很好地控制光滑性、正交性和網(wǎng)格分布。目前,Pointwise公司致力于推動(dòng)混合技術(shù),已決定不開發(fā)結(jié)構(gòu)網(wǎng)格生成部分。
ICEM CFD 是一款計(jì)算前處理軟件,包括幾何創(chuàng)建、網(wǎng)格劃分、前處理?xiàng)l件設(shè)置等功能。它擁有強(qiáng)大的CAD 模型修復(fù)能力,對(duì)CAD 模型的完整性要求較低。ICEM 能夠快速自動(dòng)生成六面體為主的網(wǎng)格,對(duì)幾何尺寸改變后的幾何模型可以自動(dòng)重劃分網(wǎng)格,在CFD 網(wǎng)格生成領(lǐng)域有一定優(yōu)勢(shì)。
Grid Pro[15]的開發(fā)旨在滿足美國(guó)宇航局格倫研究中心對(duì)高質(zhì)量網(wǎng)格的要求。與傳統(tǒng)的網(wǎng)格劃分算法不同,Grid Pro更專注于自動(dòng)化和魯棒性,但并不會(huì)損失網(wǎng)格質(zhì)量。它可以自動(dòng)識(shí)別網(wǎng)格塊的樣式,并對(duì)樣式進(jìn)行必要的調(diào)整,以獲得更好的正交性和光滑性。Grid Pro已被廣泛應(yīng)用于渦輪機(jī)械、航空航天等不同領(lǐng)域。
ANSYS Meshing[8]是一款具有智能化、自動(dòng)化和高性能的通用產(chǎn)品,能夠?yàn)楦呔?、高效率的多物理?chǎng)求解提供最適用的網(wǎng)格。用戶可以為模型中所有零件的特定分析生成非常適合的網(wǎng)格。另外,該軟件能夠自動(dòng)啟動(dòng)并行處理功能,可減少等待網(wǎng)格生成的時(shí)間。
通過對(duì)上述有關(guān)商業(yè)軟件的介紹,可以得到以下觀察結(jié)果:1)只有少數(shù)商業(yè)軟件支持多塊對(duì)接結(jié)構(gòu)網(wǎng)格的生成,這些網(wǎng)格通常用于復(fù)雜構(gòu)型的高精度CFD 仿真;2)盡管有些軟件可以針對(duì)特定構(gòu)型執(zhí)行自動(dòng)生成,但商用軟件自動(dòng)生成結(jié)構(gòu)網(wǎng)格的功能還是比較缺乏的。
本節(jié)將詳細(xì)介紹網(wǎng)格之星的軟件設(shè)計(jì)。首先介紹設(shè)計(jì)原則,然后闡述軟件的分層體系結(jié)構(gòu),最后給出此軟件使用的核心數(shù)據(jù)結(jié)構(gòu)。
(1)模塊化設(shè)計(jì)。模塊化設(shè)計(jì)取決于模塊之間接口定義的簡(jiǎn)單性和抽象性,它帶來了許多好處:1)可能只需要更改整個(gè)系統(tǒng)的一個(gè)模塊即可滿足未來的需求;2)系統(tǒng)可以由團(tuán)隊(duì)成員同時(shí)獨(dú)立開發(fā)和維護(hù);3)使用第三方創(chuàng)建或優(yōu)化的基本方法和工具更為方便。
(2)易用性。在軟件工程中,易用性衡量的是有效性、效率和滿意度。為了提高易用性,應(yīng)用程序應(yīng)該擁有一個(gè)友好的用戶界面和較短的學(xué)習(xí)曲線,并且只需要較少的時(shí)間來完成特定的任務(wù)。
網(wǎng)格之星的軟件體系結(jié)構(gòu)詳見前期工作[5],從完整性角度考慮,在此僅對(duì)其作簡(jiǎn)要介紹。如圖1 所示,該軟件基于網(wǎng)格生成公共基礎(chǔ)庫(kù)研制,可運(yùn)行在個(gè)人計(jì)算機(jī)和工作站上。在公共基礎(chǔ)庫(kù)之上,軟件按照傳統(tǒng)的MVC 框架模式劃分為三層,即表現(xiàn)層、應(yīng)用層和數(shù)據(jù)層。

圖1 網(wǎng)格之星的軟件架構(gòu)Fig.1 The software architecture of NNW-GridStar
表現(xiàn)層主要提供用戶界面顯示及交互功能,根據(jù)用戶輸入條件調(diào)用應(yīng)用層提供的服務(wù),將返回的數(shù)據(jù)以一定方式顯示給用戶。該層是軟件中處理數(shù)據(jù)顯示的部分,也是用戶看到并與之交互的界面。在表現(xiàn)層中并沒有真正的處理發(fā)生,不管是哪種數(shù)據(jù),只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。
應(yīng)用層包含了文件處理、數(shù)模處理、網(wǎng)格線操作、網(wǎng)格面操作、網(wǎng)格塊操作、網(wǎng)格質(zhì)量檢測(cè)、網(wǎng)格質(zhì)量?jī)?yōu)化、可視化與交互等組件,分別封裝了針對(duì)文件、數(shù)模以及網(wǎng)格的各種應(yīng)用程序接口(API)。該層銜接表現(xiàn)層和數(shù)據(jù)層,各種功能控制器通過提供的功能接口來調(diào)用數(shù)據(jù)。該層的存在使得界面開發(fā)人員無需了解復(fù)雜的底層功能實(shí)現(xiàn),可以清晰地界定出工作交接面。將各種功能接口抽象封裝之后,其它衍生軟件可以非常方便地調(diào)用結(jié)構(gòu)網(wǎng)格內(nèi)核,大大提高了軟件研制的效率。
數(shù)據(jù)層用于數(shù)據(jù)存儲(chǔ)、維護(hù)和管理功能,主要存儲(chǔ)了配置數(shù)據(jù)、數(shù)模數(shù)據(jù)、網(wǎng)格數(shù)據(jù)和可視化數(shù)據(jù)。配置數(shù)據(jù)用于對(duì)軟件的配置,主要是軟件操作運(yùn)行過程中的參數(shù);數(shù)模數(shù)據(jù)用于數(shù)模處理組件,是數(shù)模本身;網(wǎng)格數(shù)據(jù)用于網(wǎng)格生成、網(wǎng)格質(zhì)量檢測(cè)、網(wǎng)格質(zhì)量?jī)?yōu)化等組件,包括導(dǎo)入和通過各功能組件生成的網(wǎng)格;可視化數(shù)據(jù)主要指可視化過程中的中間數(shù)據(jù),用于顯示和交互。
圖2展示了軟件中利用四個(gè)物理實(shí)體來表示結(jié)構(gòu)網(wǎng)格,即網(wǎng)格端點(diǎn)(EndPoint)、網(wǎng)格線(Connector)、網(wǎng)格面(Domain)和網(wǎng)格塊(Block)。

圖2 軟件中使用的網(wǎng)格物理實(shí)體[5]Fig.2 Mesh entities utilized in NNW-GridStar[5]
2.3.1 多對(duì)多關(guān)系解耦
End Point是一個(gè)特殊的網(wǎng)格端點(diǎn),表示一個(gè)特定Connector的起點(diǎn)或終點(diǎn)。每個(gè)Connector都有兩個(gè)EndPoint,而每個(gè)End Point又可能關(guān)聯(lián)多條Connector。Domain由四個(gè)或更多Connector構(gòu)成,并形成二維封閉空間,而一條Connector一般會(huì)關(guān)聯(lián)兩個(gè)以上的Domain。Block位于數(shù)據(jù)結(jié)構(gòu)層次結(jié)構(gòu)的頂部,并由至少六個(gè)Domain形成三維封閉空間,大部分Domain也會(huì)關(guān)聯(lián)兩個(gè)Block??梢钥闯?四個(gè)物理實(shí)體之間存在復(fù)雜的多對(duì)多關(guān)系。因此,引入了五個(gè)邏輯實(shí)體(即Capstone、Range、Edge、Region以及Face)來解耦多對(duì)多關(guān)系[5]。
2.3.2 網(wǎng)格對(duì)象數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)層中最重要的是網(wǎng)格數(shù)據(jù),也是數(shù)據(jù)結(jié)構(gòu)中最復(fù)雜的部分。為了將結(jié)構(gòu)網(wǎng)格點(diǎn)、線、面、體之間層層關(guān)聯(lián)的復(fù)雜關(guān)系拆解為方便人機(jī)交互處理和控制的結(jié)構(gòu),在物理實(shí)體之外增加了GPoint、Capstone、Range、Edge、Region、Face等邏輯實(shí)體,將結(jié)構(gòu)網(wǎng)格復(fù)雜的多對(duì)多關(guān)系拆解為若干多對(duì)一關(guān)系,有效降低了結(jié)構(gòu)網(wǎng)格模塊的數(shù)據(jù)復(fù)雜度。網(wǎng)格實(shí)體之間的相互關(guān)系中最主要的是Domain與Block 之間的關(guān)系和Connector與Domain之間的關(guān)系。
(1)Domain與Block之間的關(guān)系
如圖3所示,Domain和Block之間的關(guān)系可以分為三種。1)Block與邏輯實(shí)體Face之間的構(gòu)成關(guān)系。每個(gè)Block由六個(gè)Face組成,這些Face不能單獨(dú)存在,應(yīng)附加到物理實(shí)體Block 上。某些特定Block利用這些Face來確定封閉的三維空間。2)邏輯實(shí)體Face和Region之間的組成關(guān)系。每個(gè)Face都有一定數(shù)量的Region,每個(gè)Region都有一個(gè)屬性記錄整個(gè)Face 的左下和右上位置。3)Region 和Domain之間的構(gòu)成關(guān)系。每個(gè)Region都封裝一個(gè)Domain,并利用屬性記錄Region 如何組裝到特定Block的特定Face中。
(2)Connector和Domain之間的關(guān)系
如圖3所示,Connector和Domain之間的關(guān)系也可以分為三種。1)Domain和邏輯實(shí)體Edge之間的組成關(guān)系。每個(gè)Domain都由四個(gè)Edge組成,并且邏輯實(shí)體Edge始終將自身附加到一個(gè)Domain上。2)Edge和Range之間的聚合關(guān)系。一條Edge可以包含多個(gè)Range,每個(gè)Range都有一個(gè)屬性來說明其在Edge中的起始位置。3)Range和Connector之間的構(gòu)成關(guān)系。作為邏輯實(shí)體,Range將一個(gè)Connector包裹起來并使其成為Edge的一部分。

圖3 網(wǎng)格實(shí)體之間的相互關(guān)系Fig.3 The relationship between mesh entities
圖4 給出了軟件的GUI布局,可分為三個(gè)部分:頂部包含功能強(qiáng)大的功能區(qū)樣式按鈕,可分為四組——網(wǎng)格線、網(wǎng)格面、網(wǎng)格塊和輔助按鈕;左側(cè)是一個(gè)名為TreeList的樹結(jié)構(gòu),其中列出了所有網(wǎng)格對(duì)象元素并提供了對(duì)它們的便捷控制;右側(cè)是主窗口,用戶可以在其中交互地操作和查看網(wǎng)格的每個(gè)細(xì)節(jié)。

圖4 軟件界面布局Fig.4 The GUI layout of NNW-GridStar
網(wǎng)格之星在滿足基本功能情況下,提供部分自動(dòng)化程度較高的網(wǎng)格生成加速技術(shù)。本節(jié)將介紹軟件特色的功能,包括附面層推進(jìn)、空間網(wǎng)格快速生成、網(wǎng)格分布快速調(diào)整、破損數(shù)模網(wǎng)格優(yōu)化等。這些技術(shù)能夠縮短網(wǎng)格生成周期,顯著提高軟件的可用性。
本章后續(xù)內(nèi)容主要對(duì)軟件關(guān)鍵功能進(jìn)行概述,相關(guān)算法理論已在前期工作[20]中進(jìn)行了詳細(xì)描述,在此不再贅述。
在多塊結(jié)構(gòu)網(wǎng)格中,附面層的質(zhì)量顯著影響復(fù)雜幾何外形CFD 仿真的精度。因此,網(wǎng)格生成工程師通常必須花費(fèi)大量時(shí)間來調(diào)整附面層網(wǎng)格,以獲得更好的質(zhì)量。為了解決該問題,在前期工作[5]中提出了一種自動(dòng)附面層網(wǎng)格生成方法,在此僅介紹附面層推進(jìn)的基本思路。
非結(jié)構(gòu)網(wǎng)格通常采用前沿推進(jìn)方法[16-17]或其變體來自動(dòng)生成網(wǎng)格元素。而網(wǎng)格之星軟件采用一種由外而內(nèi)的網(wǎng)格構(gòu)造生成策略。首先,從作為輸入的表面網(wǎng)格中提取所有必要的幾何特征;其次,基于幾何特征構(gòu)造附面層的網(wǎng)格框架;最后,附面層網(wǎng)格是在所創(chuàng)建的網(wǎng)格框架的約束范圍內(nèi)通過超限性插值[6]操作生成的。
圖5給出了自動(dòng)生成的F6附面層網(wǎng)格的示例。附面層網(wǎng)格的框架如圖5(a)所示。由于表面網(wǎng)格具有64個(gè)Domain,因此最終的附面層網(wǎng)格具有64個(gè)Block,如圖5(b)所示。

圖5 自動(dòng)生成F6的附面層網(wǎng)格Fig.5 Automatic generation of boundary-layer mesh for F6
該附面層推進(jìn)方法[5]能降低整個(gè)網(wǎng)格生成周期大約30%的時(shí)間。
對(duì)于空間網(wǎng)格,網(wǎng)格之星研發(fā)以下加速技術(shù)來生成空間網(wǎng)格。
3.2.1 網(wǎng)格塊自動(dòng)補(bǔ)齊
塊裝配是在生成空間網(wǎng)格期間經(jīng)常使用的操作。它通常至少需要六個(gè)面來形成一個(gè)封閉的三維空間,然后將它們組裝為一個(gè)塊。當(dāng)生成用于復(fù)雜構(gòu)型的網(wǎng)格時(shí),很難從數(shù)百個(gè)甚至數(shù)千個(gè)網(wǎng)格元素中選擇所需的面。為了減輕用戶的工作量,網(wǎng)格之星軟件提供了一些方式,即使只有一個(gè)面也可以構(gòu)建網(wǎng)格塊。為了便于說明,將一個(gè)塊的六個(gè)面命名為底部、頂部、左側(cè)、右側(cè)、正面和背面。
圖6描繪了基于一個(gè)(底部)面的快速塊裝配。用戶觸發(fā)快速塊裝配的功能時(shí)會(huì)創(chuàng)建一個(gè)初始?jí)K框架,然后通過交互方式將其拉到所需的位置。軟件還提供了幾個(gè)預(yù)定義的方向,可以指導(dǎo)控制點(diǎn)的移動(dòng)軌跡。當(dāng)用戶確認(rèn)塊框的形狀和位置時(shí),軟件會(huì)構(gòu)建其他五個(gè)面,然后自動(dòng)將它們組裝成一個(gè)塊。

圖6 快速塊裝配技術(shù)示意圖Fig.6 Sketch of the rapid block assembly
同樣,軟件還支持具有兩個(gè)到五個(gè)裝配面的快速塊裝配。
3.2.2 多塊拉伸技術(shù)
在構(gòu)建空間網(wǎng)格時(shí),用戶經(jīng)常會(huì)遇到需要基于多個(gè)相鄰面生成多個(gè)塊的情況。如果通過選擇單個(gè)面來逐個(gè)裝配塊,那么即使使用第3.2.1節(jié)中提出的加速技術(shù),也將非常繁瑣且效率低下。
本軟件提供了一種稱為“多塊拉伸”(MBS)的新穎技術(shù)來解決該問題。給定如圖7(a)所示的一組相鄰面,可以在以下步驟中執(zhí)行MBS:1)基于10個(gè)端點(diǎn)生成10條支持線,每條支持線幾乎垂直于相關(guān)面;2)完成拉伸塊的網(wǎng)格框架;3)拉伸塊自動(dòng)裝配,每個(gè)塊對(duì)應(yīng)一個(gè)基礎(chǔ)面;4)在新生成的塊之間執(zhí)行合并操作,以減少塊的數(shù)量并消除外部網(wǎng)格塊的復(fù)雜性。圖7(b)展示了在基礎(chǔ)面上采用MBS技術(shù)后的最終單個(gè)塊。頂面僅包含一個(gè)面,在面的數(shù)量上比底面少很多,可以為改進(jìn)網(wǎng)格質(zhì)量帶來很大便利。

圖7 多塊拉伸技術(shù)示意圖Fig.7 Sketch of multiblock stretching
3.2.3 O 型塊拉伸技術(shù)
圖8(a)描繪了在多塊網(wǎng)格生成中使用的密封O形拓?fù)洹J褂?.2.1 和3.2.2 小 節(jié)中介紹的加 速 技術(shù),用戶可以快速生成五個(gè)塊。由于O 型拓?fù)湮鍌€(gè)面的復(fù)雜性不能在外部隱藏,因此整個(gè)網(wǎng)格的復(fù)雜性仍然相對(duì)較大。
為了解決該問題,本軟件提出了一種O 型塊拉伸(OTBS)技術(shù)。圖8(b)顯示了O 拉伸塊的網(wǎng)格框架。注意,在網(wǎng)格框架內(nèi)可以生成六個(gè)塊。除了從參考面直接拉伸的五個(gè)塊外,還會(huì)生成一個(gè)額外的塊來密封拉伸塊的頂部。如圖8(c)所示,頂部?jī)H包含一個(gè)面,因此參考面的復(fù)雜O 拓?fù)湟褟耐獠侩[藏。利用提出的OTBS技術(shù),用戶可以降低網(wǎng)格的復(fù)雜度,這可以為網(wǎng)格修改帶來很大的便利。

圖8 O 型塊拉伸技術(shù)示意圖Fig.8 Sketch of the O-type block stretching
繪制網(wǎng)格時(shí),調(diào)整網(wǎng)格點(diǎn)數(shù)、網(wǎng)格分布是控制網(wǎng)格質(zhì)量的重要環(huán)節(jié),能否快速修改網(wǎng)格分布對(duì)網(wǎng)格生成效率有重要影響。在常規(guī)網(wǎng)格軟件中,當(dāng)修改網(wǎng)格節(jié)點(diǎn)數(shù)時(shí),網(wǎng)格點(diǎn)數(shù)無法對(duì)應(yīng),導(dǎo)致網(wǎng)格修改失敗。而如果手動(dòng)點(diǎn)擊每條網(wǎng)格線進(jìn)行調(diào)整,則會(huì)很浪費(fèi)時(shí)間。因此,可采用快速修改網(wǎng)格分布的方法:當(dāng)修改一條網(wǎng)格線的點(diǎn)數(shù)時(shí),與之對(duì)應(yīng)的網(wǎng)格線也隨之改變。如圖9所示,當(dāng)修改彈體上面的網(wǎng)格點(diǎn)數(shù)時(shí),關(guān)聯(lián)的線進(jìn)行傳遞,從而快速調(diào)整網(wǎng)格分布,減輕了工程人員的負(fù)擔(dān)。
網(wǎng)格線批量修改算法的基本思想是:首先,遍歷所有的網(wǎng)格面,通過對(duì)比其相鄰邊所包含網(wǎng)格線的情況,確定全局的虛擬分割位置;然后,建立若干條虛擬分割路徑,確保路徑上的所有虛擬網(wǎng)格線具有相同的點(diǎn)數(shù);最后,采用遞歸算法提取一條虛擬分割路徑,然后將所有虛擬網(wǎng)格線的點(diǎn)數(shù)修改為目標(biāo)點(diǎn)數(shù)。

圖9 快速調(diào)整網(wǎng)格分布Fig.9 Fast adjustment of mesh distribution
不同的系統(tǒng)之間傳遞CAD 數(shù)據(jù)時(shí),會(huì)因?yàn)楦飨到y(tǒng)的底層實(shí)現(xiàn)不同和公差定義的不一致產(chǎn)生誤差或信息的丟失,導(dǎo)致數(shù)??p隙多、零碎,甚至缺面的情況。用戶在此數(shù)模上繪制網(wǎng)格時(shí)需先進(jìn)行模型修復(fù)工作,模型修復(fù)過程主要靠手工修復(fù)或半自動(dòng)算法,這也是目前商業(yè)系統(tǒng)的技術(shù)水平現(xiàn)狀。
為了解決該問題,本軟件提供了一種破損數(shù)模網(wǎng)格優(yōu)化技術(shù)。圖10(a)顯示了在破損數(shù)模上繪制網(wǎng)格線的效果圖。該技術(shù)利用初始繪制的先驗(yàn)網(wǎng)格線位置信息,篩選出錯(cuò)誤區(qū)間段,并構(gòu)造一條可替換原有錯(cuò)誤區(qū)間段的新線段,實(shí)現(xiàn)跨域縫隙生成完整、平滑的網(wǎng)格線。圖10(b)則顯示了在破損數(shù)模上繪制好網(wǎng)格面后,在上面投影的效果。利用網(wǎng)格雙向網(wǎng)格線上交點(diǎn)投影先驗(yàn)信息,檢測(cè)縫隙存在位置,采用雙向插值修補(bǔ)縫隙投影點(diǎn),可以生成貼合幾何的光滑網(wǎng)格。

圖10 破損數(shù)模網(wǎng)格優(yōu)化Fig.10 Mesh optimization of dirty model
本節(jié)分別從功能、生成效率和網(wǎng)格質(zhì)量等方面將網(wǎng)格之星與主流商業(yè)軟件進(jìn)行了對(duì)比分析,并列舉了應(yīng)用場(chǎng)景。
表1列出了網(wǎng)格生成時(shí)通常使用的18 個(gè)功能點(diǎn),并對(duì)網(wǎng)格之星和Pointwise(18.2R1版本)進(jìn)行了比較。

表1 網(wǎng)格之星與Pointwise的功能對(duì)比[20]Table 1 Functionality comparison between NNW-GridStar and Pointwise[20]
在CAD 模塊中,兩者都部分支持通用幾何構(gòu)造和幾何修改,但在檢查水密性方面,Pointwise優(yōu)于網(wǎng)格之星,因?yàn)楹笳呱胁恢С炙?duì)于表面網(wǎng)格,這兩款軟件都完全支持7個(gè)基本功能。對(duì)于輔助功能,兩者都支持網(wǎng)格檢查、數(shù)據(jù)聚類、邊界條件設(shè)置和視圖控制。對(duì)于空間網(wǎng)格,表1比較了三種功能:快速塊裝配、自動(dòng)附面層生成和塊合并/分割。可以看出,對(duì)于前兩種功能,本軟件的性能優(yōu)于Pointwise。這是由于Pointwise可以通過沿法向拉伸來快速生成一個(gè)塊,但是不能基于多個(gè)域生成多個(gè)塊。相反,本軟件擁有第3.3節(jié)中介紹的幾種加速技術(shù),并且支持自動(dòng)生成整個(gè)附面層網(wǎng)格。
為了驗(yàn)證網(wǎng)格之星的生成效率和所生成的網(wǎng)格的質(zhì)量,軟件開發(fā)團(tuán)隊(duì)邀請(qǐng)了本單位的27名工程師針對(duì)特定數(shù)模進(jìn)行網(wǎng)格生成。這些工程師都是網(wǎng)格生成方面的專業(yè)人士,他們被分為三個(gè)九人組,分別使用網(wǎng)格之星、Pointwise和ICEM。如圖11 所示,數(shù)模為四舵導(dǎo)彈,其舵呈X 形分布。數(shù)模已經(jīng)過預(yù)處理,無需對(duì)其進(jìn)行編輯。表2給出了所生成網(wǎng)格的信息以及生成時(shí)間(每個(gè)小組成員的平均間)??梢钥闯?本軟件的生成時(shí)間只有7.35小時(shí),是三款軟件中耗時(shí)最短的。

圖11 不同軟件生成的網(wǎng)格[20]Fig.11 Meshes generated by different software[20]

表2 網(wǎng)格生成時(shí)間對(duì)比Table 2 The comparison of mesh generation time
與ICEM 不同,網(wǎng)格之星和Pointwise都遵循自下而上的策略來構(gòu)造網(wǎng)格并逐漸生成網(wǎng)格實(shí)體。借助第3.1節(jié)中介紹的自動(dòng)附面層網(wǎng)格生成方法和第3.2節(jié)中提出的加速技術(shù),對(duì)于典型的飛機(jī)構(gòu)型,本軟件可以比Pointwise更快地生成多塊結(jié)構(gòu)網(wǎng)格。至于ICEM,必須開展更為廣泛而詳細(xì)的實(shí)驗(yàn)才能恰當(dāng)做出對(duì)比。
網(wǎng)格檢查是檢查網(wǎng)格質(zhì)量的有效工具。表3列出了五個(gè)質(zhì)量度量,即正偏斜、負(fù)偏斜以及I、J 和K方向上的三個(gè)最大長(zhǎng)度比??梢钥闯?一方面,由于缺少網(wǎng)格光滑功能,本軟件生成的網(wǎng)格具有最大的正偏值;另一方面,所有這三個(gè)網(wǎng)格都具有相似的最大長(zhǎng)度比,表明三款軟件所生成的網(wǎng)格質(zhì)量相當(dāng)。

表3 網(wǎng)格質(zhì)量對(duì)比[20]Table 3 The comparison of mesh qualities[20]
為了進(jìn)一步驗(yàn)證由本軟件生成的網(wǎng)格的質(zhì)量,使用單位PMB3D 求解器對(duì)所生成的網(wǎng)格進(jìn)行了CFD數(shù)值仿真[18]。測(cè)試條件如下:高度為10 km,馬赫數(shù)為3.5,側(cè)滑角為0°,迎角介于-6°~8°之間,間隔為2°。假定為完全湍流并使用k-ω 湍流模型[19]。圖12給出了計(jì)算結(jié)果的對(duì)比。圖12(a)描繪了升力系數(shù)(CL);圖12(b)描繪了俯仰力矩系數(shù)(Cm);圖12(c)描繪了阻力系數(shù)(CD)。可以看出,網(wǎng)格之星的結(jié)果與另兩款軟件的結(jié)果非常吻合,表明該軟件可以生成與Pointwise和ICEM 等主流商業(yè)軟件相媲美的多塊結(jié)構(gòu)網(wǎng)格。


圖12 計(jì)算結(jié)果的對(duì)比[20]Fig.12 The comparison of computational results[20]
網(wǎng)格之星在中國(guó)空氣動(dòng)力研究與發(fā)展中心CARDC內(nèi)部發(fā)布之后,已經(jīng)生成了數(shù)百個(gè)結(jié)構(gòu)多塊網(wǎng)格用于CFD 仿真模擬。本節(jié)選擇四種應(yīng)用場(chǎng)景并進(jìn)一步驗(yàn)證軟件的可用性。以下所有CFD 仿真結(jié)果均使用PMB3D 求解器[18]計(jì)算而得。

圖13 在Harrington共軸剛性旋翼中的應(yīng)用[20]Fig.13 The application in Harrington coaxial rigid rotor[20]
圖13 (a)展示了本軟件在Harrington共軸剛性旋翼中的應(yīng)用。生成的網(wǎng)格約有6 236萬網(wǎng)格點(diǎn),并由兩部分組成:圍繞旋翼生成的槳葉子網(wǎng)格和靜止的背景網(wǎng)格。為了保證網(wǎng)格在槳葉端部能保持良好的正交性及物面間距,該槳葉子網(wǎng)格采用了C-O 型拓?fù)浣Y(jié)構(gòu),單個(gè)槳葉的網(wǎng)格量為309萬,四片槳葉網(wǎng)格量為1236萬。圖13(b)展示了計(jì)算條件為旋翼轉(zhuǎn)速62.824 rad/s、槳尖馬赫數(shù)0.352、槳尖雷諾數(shù)3.5×106下的渦量分布??刂品匠虨閁RANS方程,對(duì)流項(xiàng)離散采用Roe通量差分分裂方法,采用雙時(shí)間步方法,每個(gè)真實(shí)時(shí)間步槳葉在周向運(yùn)動(dòng)1.5°,湍流模型為兩方程K-Omiga SST 模型。
圖14展示了本軟件在模擬飛行器部件中的應(yīng)用。如圖14(a)所示,對(duì)于整個(gè)構(gòu)型,生成了一個(gè)包含188萬個(gè)網(wǎng)格點(diǎn)的網(wǎng)格。第一層網(wǎng)格距離物面的距離為8 mm。數(shù)值模擬中采用隱式LUSGS方法迭代求解URANS 方程,并采用雙時(shí)間步方法。如圖14(b)顯示了飛行器部件的壓力云圖,馬赫數(shù)為0.8,迎角為2.5°,側(cè)滑角為0°。

圖14 在飛行器部件中的應(yīng)用Fig.14 The application in aircraft components
圖15 (a)描繪了DLR-F6翼身組合體構(gòu)型加短艙構(gòu)型。網(wǎng)格量為約330萬。網(wǎng)格拓?fù)銱-O 型,機(jī)身、機(jī)翼及短艙均用“O”型網(wǎng)格包裹,精細(xì)布置網(wǎng)格點(diǎn),并對(duì)附面層網(wǎng)格進(jìn)行加密。網(wǎng)格坐標(biāo)X 方向?yàn)檠亓飨?Y 方向沿展向垂直視圖向外,Z 方向垂直向上,符合右手法則。控制方程為RANS方程,對(duì)流項(xiàng)離散采用Roe通量差分分裂方法,湍流模型為兩方程K-Omiga SST 模型,為了加速流場(chǎng)收斂,計(jì)算采用了三重W 循環(huán)的多重網(wǎng)格方法。圖15(b)給出了DLR-F6 的壓力云圖。計(jì)算條件如下:馬赫數(shù)為0.75,迎角1.7°,側(cè)滑角0°。

圖15 在模擬飛行器中的應(yīng)用Fig.15 The application in simulating DLR-F6
圖16 顯示了本軟件在航天模型試驗(yàn)飛行器中的應(yīng)用。圖16(a)是生成的網(wǎng)格,約530萬個(gè)網(wǎng)格點(diǎn);圖16(b)展示了壓力云圖。模擬條件為馬赫數(shù)5,迎角3°和側(cè)滑角0°。為了精確捕獲附面層附近的流動(dòng),將壁面和第一層網(wǎng)格之間的間隔長(zhǎng)度設(shè)為35 mm,并在該距離內(nèi)分布30個(gè)網(wǎng)格點(diǎn)。尾部上采用了O 型網(wǎng)格,在此基礎(chǔ)上再向空間拓展。為了消除奇軸,在頭部采用H 型網(wǎng)格單獨(dú)生成一塊。

圖16 在航天模型試驗(yàn)飛行器的應(yīng)用Fig.16 The application in space aircraft
以上四個(gè)由網(wǎng)格之星生成的網(wǎng)格都獲得了流動(dòng)特性符合空氣動(dòng)力學(xué)原理的仿真結(jié)果,驗(yàn)證了該軟件生成的網(wǎng)格質(zhì)量滿足實(shí)際CFD 仿真的要求。所選的四種模型涵蓋了航空航天行業(yè)的大多數(shù)應(yīng)用場(chǎng)景,因此可以認(rèn)為網(wǎng)格之星軟件能夠滿足CFD 仿真領(lǐng)域的結(jié)構(gòu)網(wǎng)格生成需求。
為了提高網(wǎng)格生成速度,本文實(shí)現(xiàn)了一款名為網(wǎng)格之星(NNW-GridStar)的通用型結(jié)構(gòu)網(wǎng)格生成軟件。該軟件支持自動(dòng)附面層網(wǎng)格生成,并提供了三種技術(shù)來加快空間網(wǎng)格的生成。實(shí)驗(yàn)結(jié)果表明:該軟件具有出色的生成速度,并且可以生成高質(zhì)量的網(wǎng)格。
目前,網(wǎng)格之星已在中國(guó)空氣動(dòng)力學(xué)研究與發(fā)展中心(CARDC)官網(wǎng)對(duì)外發(fā)布,已有80余家科研院所下載使用,得到了一致好評(píng)。
未來的工作包括以下幾個(gè)方面:1)空間網(wǎng)格的自動(dòng)化會(huì)進(jìn)一步加強(qiáng);2)支持大規(guī)模網(wǎng)格生成的并行版本正在開發(fā)中;3)支持非結(jié)構(gòu)網(wǎng)格生成的版本正在開發(fā)中。
致謝:這項(xiàng)工作得到了國(guó)家數(shù)值風(fēng)洞工程和預(yù)研通用技術(shù)項(xiàng)目(41406030201)的資助。對(duì)于黃尚坤、潘艷、劉遠(yuǎn)超、胡月凡、鮑鑫彪、雷勇強(qiáng)、王毅等在網(wǎng)格生成團(tuán)隊(duì)中的技術(shù)支持深表謝意,感謝西南科技大學(xué)、北京榮泰創(chuàng)想科技有限公司的研發(fā)支持。