一種計(jì)算網(wǎng)格生成方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種計(jì)算網(wǎng)格生成方法及裝置,該方法包括:接收用戶輸入的待模擬區(qū)域的幾何信息;根據(jù)所述幾何信息劃分待模擬區(qū)域,確定劃分的各子區(qū)域的幾何信息和編號(hào);根據(jù)所述各子區(qū)域的編號(hào)依序選取一當(dāng)前子區(qū)域,對(duì)選取的當(dāng)前子區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格生成和挖洞操作,生成當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格和邊界信息;根據(jù)依序生成的各子區(qū)域的網(wǎng)格和邊界信息生成洞體空腔數(shù)據(jù);根據(jù)所述洞體空腔數(shù)據(jù)生成非結(jié)構(gòu)化網(wǎng)格。本發(fā)明將挖洞操作和各個(gè)子區(qū)域結(jié)構(gòu)化網(wǎng)格生成交替進(jìn)行,并根據(jù)子區(qū)域間的相對(duì)位置關(guān)系確定終止“挖洞”操作的合適位置解決現(xiàn)有技術(shù)方案中生成大量不必要網(wǎng)格及冗余重疊區(qū)域的問題,提高處理速度。
【專利說明】一種計(jì)算網(wǎng)格生成方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)處理技術(shù),具體的講是一種計(jì)算網(wǎng)格的生成方法及裝置。【背景技術(shù)】
[0002]網(wǎng)格生成技術(shù)是對(duì)給定區(qū)域進(jìn)行離散并生成計(jì)算網(wǎng)格的方法,而網(wǎng)格的合理設(shè)計(jì)和高質(zhì)量生成是進(jìn)行數(shù)值模擬計(jì)算的前提條件,也是影響后續(xù)數(shù)值計(jì)算效率和計(jì)算結(jié)果精度最主要的決定性因素之一。計(jì)算網(wǎng)格包括:結(jié)構(gòu)化網(wǎng)格和非結(jié)構(gòu)化網(wǎng)格。結(jié)構(gòu)化網(wǎng)格:排列有序、相鄰節(jié)點(diǎn)位置關(guān)系明確的網(wǎng)格,主要為四邊形網(wǎng)格;非結(jié)構(gòu)化網(wǎng)格:排列無序、相鄰節(jié)點(diǎn)位置關(guān)系不明確的網(wǎng)格,主要有非結(jié)構(gòu)化四邊形網(wǎng)格、非結(jié)構(gòu)化三角形網(wǎng)格等。同時(shí)對(duì)網(wǎng)格生成中的基本概念進(jìn)行解釋:挖洞:在結(jié)構(gòu)化網(wǎng)格中通過消除部分重疊網(wǎng)格以制造空白區(qū)域的方法;洞體空腔:經(jīng)過“挖洞”操作后的空白區(qū)域,通常用非結(jié)構(gòu)化網(wǎng)格進(jìn)行填充。
[0003]結(jié)構(gòu)化網(wǎng)格作為最早出現(xiàn)的網(wǎng)格類型,其生成算法簡(jiǎn)單、生成速度快,同時(shí)相鄰網(wǎng)格間的拓?fù)潢P(guān)系明確,在其上能夠方便地實(shí)施高精度、高效率的數(shù)值算法,并且結(jié)構(gòu)化網(wǎng)格很容易生成長(zhǎng)寬比很大的粘性網(wǎng)格,可以精確、高效地計(jì)算模擬邊界層等粘性流動(dòng)問題,因此一直是離散較規(guī)則幾何構(gòu)型的首選網(wǎng)格。但結(jié)構(gòu)化網(wǎng)格自身排列的結(jié)構(gòu)性和有序性大大限制了其對(duì)復(fù)雜幾何構(gòu)型的適應(yīng)能力,對(duì)這類計(jì)算區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格生成通常非常困難,需要進(jìn)行大量的人工操作,嚴(yán)重影響了數(shù)值計(jì)算的效率。
[0004]與結(jié)構(gòu)化網(wǎng)格不同,非結(jié)構(gòu)化網(wǎng)格最大優(yōu)點(diǎn)就是其強(qiáng)大的幾何適應(yīng)能力,由于沒有節(jié)點(diǎn)結(jié)構(gòu)性的限制,因而非結(jié)構(gòu)化網(wǎng)格對(duì)于構(gòu)型復(fù)雜的區(qū)域能夠靈活地進(jìn)行網(wǎng)格生成,也更有利于進(jìn)行網(wǎng)格自適應(yīng)處理來提高物理量變化劇烈區(qū)域的分辨率。但目前對(duì)于復(fù)雜構(gòu)型完全自動(dòng)化的非結(jié)構(gòu)化網(wǎng)格生成和自適應(yīng)調(diào)整技術(shù)仍未能真正實(shí)現(xiàn)。而且非結(jié)構(gòu)化網(wǎng)格排列的無序性不僅使得高階精度的數(shù)值算法較難在其上構(gòu)造和實(shí)施,同時(shí)控制方程的系數(shù)矩陣也難以保證對(duì)角占優(yōu),這無疑會(huì)對(duì)后續(xù)數(shù)值計(jì)算的收斂性產(chǎn)生不利影響。在同樣的物理區(qū)域里,非結(jié)構(gòu)化網(wǎng)格需要的網(wǎng)格數(shù)也比結(jié)構(gòu)化網(wǎng)格要多,尤其對(duì)于粘性流動(dòng)區(qū)域,非結(jié)構(gòu)化網(wǎng)格很難采用類似于結(jié)構(gòu)化網(wǎng)格的大長(zhǎng)寬比網(wǎng)格,為了保證計(jì)算精度和穩(wěn)定性必須在各個(gè)方向都進(jìn)行網(wǎng)格加密,大大增加了計(jì)算資源的消耗和不必要的計(jì)算時(shí)間。
[0005]基于充分發(fā)揮結(jié)構(gòu)化網(wǎng)格和非結(jié)構(gòu)化網(wǎng)格各自優(yōu)點(diǎn)的思想,出現(xiàn)了一系列混合網(wǎng)格生成技術(shù),并在復(fù)雜流動(dòng)計(jì)算、網(wǎng)格自適應(yīng)處理等多個(gè)研究領(lǐng)域中取得了廣泛的應(yīng)用。這些技術(shù)的基本思路是充分利用結(jié)構(gòu)化網(wǎng)格上數(shù)值計(jì)算高精度、高效率和高穩(wěn)定性的特點(diǎn),在流動(dòng)或傳熱邊界附近等速度、溫度梯度大的區(qū)域使用簡(jiǎn)單的結(jié)構(gòu)化網(wǎng)格,然后再利用非結(jié)構(gòu)化網(wǎng)格的幾何靈活性把已生成結(jié)構(gòu)化網(wǎng)格的區(qū)域連接起來,從根本上保證了不同類型網(wǎng)格交界面處的通量守恒,避免了插值誤差?;旌暇W(wǎng)格的生成主要由對(duì)幾何構(gòu)型分區(qū)生成結(jié)構(gòu)化網(wǎng)格、在已生成的結(jié)構(gòu)化網(wǎng)格中“挖洞”和在洞體中生成非結(jié)構(gòu)化網(wǎng)格等幾個(gè)關(guān)鍵模塊組成,其中結(jié)構(gòu)化網(wǎng)格和非結(jié)構(gòu)化網(wǎng)格的生成相對(duì)獨(dú)立,可各自采用不同方法對(duì)相應(yīng)區(qū)域進(jìn)行網(wǎng)格生成,二者通過“挖洞”模塊進(jìn)行過渡連接,并依靠一系列精細(xì)控制的步驟保證計(jì)算區(qū)域被網(wǎng)格完全覆蓋并實(shí)現(xiàn)兩種不同類型網(wǎng)格間的無縫連接。
[0006]現(xiàn)有技術(shù)中,混合網(wǎng)格的生成主要分為三個(gè)部分:一、對(duì)計(jì)算區(qū)域進(jìn)行分區(qū)并對(duì)各個(gè)子區(qū)域分別生成結(jié)構(gòu)化網(wǎng)格;二、對(duì)子區(qū)域結(jié)構(gòu)化網(wǎng)格互相重疊的部分進(jìn)行挖洞操作;三、在洞體空腔中生成非結(jié)構(gòu)化網(wǎng)格填滿整個(gè)計(jì)算區(qū)域。
[0007]對(duì)于第一和第三部分,即分區(qū)生成結(jié)構(gòu)化網(wǎng)格和生成非結(jié)構(gòu)化網(wǎng)格,現(xiàn)有技術(shù)均可以快速地生成高質(zhì)量的網(wǎng)格,因此作為連接兩者的中間環(huán)節(jié),第二部分的“挖洞”操作將直接影響計(jì)算的效率,在這方面現(xiàn)有技術(shù)還存在著一些缺點(diǎn),由于現(xiàn)有技術(shù)方案是在所有子區(qū)域結(jié)構(gòu)化網(wǎng)格生成完畢后才進(jìn)行“挖洞”,并且缺乏有效手段判斷何時(shí)停止“挖洞”操作,所以勢(shì)必要產(chǎn)生大量不必要的結(jié)構(gòu)化網(wǎng)格及冗余的重疊區(qū)域,這不僅會(huì)嚴(yán)重浪費(fèi)計(jì)算機(jī)的內(nèi)存資源,而且由于計(jì)算網(wǎng)格數(shù)量過多,處理速度會(huì)變慢。這就是現(xiàn)有技術(shù)存在的最明顯缺點(diǎn)。
【發(fā)明內(nèi)容】
[0008]本發(fā)明針對(duì)現(xiàn)有混合網(wǎng)格生成技術(shù)處理速度低的缺點(diǎn),通過改進(jìn)挖洞算法來避免產(chǎn)生大量不必要的結(jié)構(gòu)化網(wǎng)格及冗余重疊區(qū)域,提高混合網(wǎng)格的生成速度。
[0009]本發(fā)明實(shí)施例提供了一種計(jì)算網(wǎng)格生成方法,包括:
[0010]步驟1,接收用戶輸入的待模擬區(qū)域的幾何信息;
[0011 ] 步驟2,根據(jù)所述幾何信息劃分所述待模擬區(qū)域,確定劃分的各子區(qū)域的幾何信息和編號(hào);
[0012]步驟3,根據(jù)所述各子區(qū)域的編號(hào)依序選取一當(dāng)前子區(qū)域,對(duì)選取的當(dāng)前子區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格生成和挖洞操作,生成當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格和邊界信息;
[0013]步驟4,根據(jù)依序生成的各子區(qū)域的結(jié)構(gòu)化網(wǎng)格和邊界信息生成洞體空腔數(shù)據(jù);
[0014]步驟5,根據(jù)所述洞體空腔數(shù)據(jù)生成非結(jié)構(gòu)化網(wǎng)格。
[0015]此外,本發(fā)明還公開了一種計(jì)算網(wǎng)格生成裝置,包括:
[0016]接收模塊,用于接收用戶輸入的待模擬區(qū)域的幾何信息;
[0017]分區(qū)模塊,用于根據(jù)所述幾何信息劃分所述待模擬區(qū)域,確定劃分的各子區(qū)域的幾何信息和編號(hào);
[0018]結(jié)構(gòu)化網(wǎng)格生成及挖洞模塊,用于根據(jù)所述各子區(qū)域的編號(hào)依序選取一當(dāng)前子區(qū)域,對(duì)選取的當(dāng)前子區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格生成和挖洞操作,生成當(dāng)前子區(qū)域的網(wǎng)格和邊界
信息;
[0019]洞體空腔數(shù)據(jù)生成模塊,用于根據(jù)依序生成的各子區(qū)域的網(wǎng)格和邊界信息生成洞體空腔數(shù)據(jù);
[0020]非結(jié)構(gòu)化網(wǎng)格生成模塊,用于根據(jù)所述洞體空腔數(shù)據(jù)生成非結(jié)構(gòu)化網(wǎng)格。
[0021]本發(fā)明將挖洞操作和各個(gè)子區(qū)域結(jié)構(gòu)化網(wǎng)格生成交替進(jìn)行,對(duì)洞體空腔進(jìn)行動(dòng)態(tài)擴(kuò)展,并根據(jù)子區(qū)域間的相對(duì)位置關(guān)系確定終止“挖洞”操作的合適位置,由于單次挖洞操作消除的網(wǎng)格都不計(jì)入下次挖洞操作的計(jì)算范圍內(nèi),因而解決了現(xiàn)有技術(shù)方案中生成大量不必要網(wǎng)格及冗余重疊區(qū)域的問題,同時(shí)挖洞操作又能在適當(dāng)時(shí)刻終止,所以本發(fā)明能大幅減少計(jì)算量,提高處理速度,快速生成高質(zhì)量的混合網(wǎng)格。
[0022]為讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附圖式,作詳細(xì)說明如下。
【專利附圖】
【附圖說明】
[0023]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0024]圖1為本發(fā)明一種計(jì)算網(wǎng)格生成方法的流程圖;
[0025]圖2為本發(fā)明一實(shí)施例在對(duì)選取的當(dāng)前子區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格生成和挖洞操作的流程圖;
[0026]圖3為本發(fā)明一實(shí)施例的流程圖;
[0027]圖4為本發(fā)明實(shí)施例中進(jìn)行挖洞操作的流程圖;
[0028]圖5為本發(fā)明一實(shí)施例對(duì)一多連通區(qū)域進(jìn)行挖洞操作的各階段示意圖;
[0029]圖6為本發(fā)明公開的計(jì)算網(wǎng)格生成裝置的流程圖。
【具體實(shí)施方式】
[0030]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0031]如圖1所示,為本發(fā)明一種計(jì)算網(wǎng)格生成方法的流程圖,包括:
[0032]步驟S101,接收用戶輸入的待模擬區(qū)域的幾何信息;
[0033]步驟S102,根據(jù)所述幾何信息劃分所述待模擬區(qū)域,確定劃分的各子區(qū)域的幾何信息和編號(hào);幾何信息包括:子區(qū)域數(shù)量,關(guān)鍵節(jié)點(diǎn)的坐標(biāo)信息及關(guān)鍵節(jié)點(diǎn)間的連接關(guān)系,描述區(qū)域邊界形狀的幾何函數(shù)等。
[0034]步驟S103,根據(jù)所述各子區(qū)域的編號(hào)依序選取一當(dāng)前子區(qū)域,對(duì)選取的當(dāng)前子區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格生成和挖洞操作,生成當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格和邊界信息;
[0035]步驟S104,根據(jù)依序生成的各子區(qū)域的結(jié)構(gòu)化網(wǎng)格和邊界信息生成洞體空腔數(shù)據(jù);
[0036]步驟S105,根據(jù)所述洞體空腔數(shù)據(jù)生成非結(jié)構(gòu)化網(wǎng)格。本步驟中,根據(jù)所述洞體空腔數(shù)據(jù)確定非結(jié)構(gòu)化網(wǎng)格的初始生成邊界;根據(jù)確定的初始生成邊界生成非結(jié)構(gòu)化網(wǎng)格。
[0037]其中,步驟S102確定劃分的各子區(qū)域的幾何信息和編號(hào)后,根據(jù)所述各子區(qū)域的幾何信息和編號(hào)確定各子區(qū)域相對(duì)位置;根據(jù)確定的各子區(qū)域的相對(duì)位置確定挖洞操作的終止位置。
[0038]根據(jù)確定的挖洞操作的終止位置,如圖2所示,在對(duì)選取的當(dāng)前子區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格生成和挖洞操作中還可以包括:
[0039]步驟S201,生成背景結(jié)構(gòu)化網(wǎng)格;
[0040]步驟S202,根據(jù)選取的當(dāng)前子區(qū)域的幾何信息進(jìn)行結(jié)構(gòu)化網(wǎng)格生成,并確定當(dāng)前子區(qū)域網(wǎng)格的邊界信息;[0041]步驟S203,對(duì)當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格和背景網(wǎng)格重疊的網(wǎng)格進(jìn)行挖洞操作;
[0042]步驟S204,根據(jù)所述的終止位置判斷當(dāng)前子區(qū)域網(wǎng)格的邊界到達(dá)終止位置,進(jìn)行下一子區(qū)域的結(jié)構(gòu)化網(wǎng)格生成及挖洞操作。
[0043]本發(fā)明公開的方法其具體實(shí)現(xiàn)方式通過計(jì)算機(jī)程序?qū)崿F(xiàn),如圖3所示,本實(shí)施例通過計(jì)算機(jī)程序中的虛擬模塊結(jié)合如下步驟實(shí)現(xiàn):
[0044]步驟S301:輸入計(jì)算區(qū)域幾何信息并進(jìn)行分區(qū);通過“輸入模塊”接收用戶輸入的計(jì)算區(qū)域幾何信息,并根據(jù)這些信息對(duì)區(qū)域進(jìn)行劃分;根據(jù)關(guān)鍵節(jié)點(diǎn)及節(jié)點(diǎn)間的連接關(guān)系確定各個(gè)子區(qū)域的連通性及其所包含的節(jié)點(diǎn)編號(hào),并且根據(jù)各個(gè)邊界形狀的幾何函數(shù)確定后續(xù)生成結(jié)構(gòu)化網(wǎng)格的算法,完成區(qū)域的劃分操作,得到各子區(qū)域的編號(hào),將各子區(qū)域的幾何信息和編號(hào)傳遞給下一個(gè)模塊。
[0045]步驟S302:確定各子區(qū)域間相對(duì)位置關(guān)系;“確定各子區(qū)域間相對(duì)位置關(guān)系模塊”接收“輸入模塊”傳遞來的各子區(qū)域幾何信息和編號(hào),確定各子區(qū)域間的相對(duì)位置和后續(xù)挖洞操作的終止位置,實(shí)際上確定各自區(qū)域間的相對(duì)位置和后續(xù)挖洞操作的終止位置是在步驟S303中背景結(jié)構(gòu)化網(wǎng)格生成完畢后進(jìn)行的,具體操作步驟為:在對(duì)各個(gè)子區(qū)域生成結(jié)構(gòu)化網(wǎng)格前,可以在背景結(jié)構(gòu)化網(wǎng)格上確定包圍各個(gè)子區(qū)域最外邊沿的結(jié)構(gòu)化網(wǎng)格列數(shù)和行數(shù),對(duì)相鄰的子區(qū)域通常取兩者所夾區(qū)域中線位置的行數(shù)和列數(shù)作為后續(xù)挖洞操作的終止位置,當(dāng)進(jìn)行挖洞操作時(shí)如果洞體空腔最外邊沿的行數(shù)或列數(shù)到達(dá)終止位置即停止當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格生成及挖洞操作,將這些數(shù)據(jù)傳遞給“結(jié)構(gòu)化網(wǎng)格生成模塊”和“挖洞模塊”。
[0046]現(xiàn)有技術(shù)方案缺乏有效終止挖洞操作的手段,而本發(fā)明則通過步驟2確定后續(xù)挖洞操作的終止位置,之后能夠在合適的時(shí)機(jī)終止挖洞操作,減少計(jì)算量,提高處理速度。根據(jù)各個(gè)子區(qū)域的相對(duì)位置關(guān)系,選取中間位置作為后續(xù)“挖洞”操作的終止位置。本發(fā)明實(shí)施例中在對(duì)單個(gè)子區(qū)域進(jìn)行挖洞時(shí),子區(qū)域的結(jié)構(gòu)化網(wǎng)格每生成一層即進(jìn)行挖洞操作,隨著結(jié)構(gòu)化網(wǎng)格的不斷推進(jìn),逐步擴(kuò)大洞體的范圍,并在推進(jìn)的過程中隨時(shí)更新當(dāng)前洞體的邊界,當(dāng)?shù)竭_(dá)終止位置時(shí)即停止當(dāng)前子區(qū)域結(jié)構(gòu)化網(wǎng)格的生成,轉(zhuǎn)而處理下一個(gè)內(nèi)部子區(qū)域。這樣做能夠有效地避免不必要的挖洞操作,及時(shí)終止進(jìn)程,提高處理速度。
[0047]步驟S303:各子區(qū)域依次生成結(jié)構(gòu)化網(wǎng)格;“結(jié)構(gòu)化網(wǎng)格生成模塊”接收處理后的子區(qū)域幾何信息,首先生成背景結(jié)構(gòu)化網(wǎng)格,之后按照編號(hào)對(duì)子區(qū)域依次進(jìn)行結(jié)構(gòu)化網(wǎng)格生成,每生成一層網(wǎng)格就將當(dāng)前子區(qū)域生成的網(wǎng)格及邊界信息記錄下來,把數(shù)據(jù)傳遞給“挖洞模塊”;
[0048]步驟S304:依序?qū)ι傻母髯訁^(qū)域的結(jié)構(gòu)化網(wǎng)格進(jìn)行挖洞操作;“挖洞模塊”接收當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格生成信息后進(jìn)行挖洞操作,如采用隱式挖洞法;
[0049]如圖4所示,步驟S304進(jìn)行挖洞操作具體包括如下步驟:
[0050]步驟S401,消除背景結(jié)構(gòu)化網(wǎng)格中與當(dāng)前子區(qū)域生成網(wǎng)格重疊的網(wǎng)格;
[0051]步驟S402,更新背景結(jié)構(gòu)化網(wǎng)格中剩余網(wǎng)格的數(shù)據(jù);
[0052]步驟S403,檢測(cè)當(dāng)前網(wǎng)格邊界是否到達(dá)前述的挖洞操作的終止位置;
[0053]若否,則執(zhí)行步驟S404,將更新后的背景結(jié)構(gòu)化網(wǎng)格數(shù)據(jù)返回步驟3中的“結(jié)構(gòu)化網(wǎng)格生成模塊”,進(jìn)行當(dāng)前子區(qū)域的下一層結(jié)構(gòu)化網(wǎng)格的生成;
[0054]若是,則執(zhí)行步驟S405,轉(zhuǎn)入下一個(gè)子區(qū)域的結(jié)構(gòu)化網(wǎng)格生成,即返回步驟3中,按編號(hào)依序進(jìn)行下一子區(qū)域的結(jié)構(gòu)化網(wǎng)格生成和挖洞操作。
[0055]步驟S305,判斷所有子區(qū)域結(jié)構(gòu)化網(wǎng)格生成是否完畢;
[0056]判斷是,即當(dāng)所有子區(qū)域的結(jié)構(gòu)化網(wǎng)格都生成完畢后,將當(dāng)前所有的結(jié)構(gòu)化網(wǎng)格信息數(shù)據(jù)及最終的洞體空腔數(shù)據(jù)傳遞給“非結(jié)構(gòu)化網(wǎng)格生成模塊”。
[0057]現(xiàn)有技術(shù)方案中采用的是等所有子區(qū)域結(jié)構(gòu)化網(wǎng)格全部生成完畢后再統(tǒng)一進(jìn)行挖洞操作,即步驟3和步驟4之間不存在循環(huán)交替進(jìn)行的流程,而本發(fā)明是將挖洞操作和各個(gè)子區(qū)域結(jié)構(gòu)化網(wǎng)格生成交替進(jìn)行,對(duì)洞體空腔進(jìn)行動(dòng)態(tài)擴(kuò)展。由于每一個(gè)子區(qū)域生成完結(jié)構(gòu)化網(wǎng)格后都緊接著進(jìn)行挖洞操作,每次挖洞都會(huì)消除一部分背景結(jié)構(gòu)化網(wǎng)格,而消除的這部分網(wǎng)格將不計(jì)入下次挖洞操作的計(jì)算范圍內(nèi),這樣就能夠最大限度地避免重疊區(qū)域帶來的重復(fù)計(jì)算問題,從而提高網(wǎng)格生成時(shí)的處理速度。
[0058]步驟S306 非結(jié)構(gòu)化網(wǎng)格生成模塊”接收洞體空腔數(shù)據(jù)后確定非結(jié)構(gòu)化網(wǎng)格的初始生成邊界,之后采用合適的方法生成非結(jié)構(gòu)化網(wǎng)格,如前沿推進(jìn)法、Delaunay法等,直至整個(gè)洞體空腔都被非結(jié)構(gòu)化網(wǎng)格填滿,完成整個(gè)混合網(wǎng)格的生成過程,最后將所有的網(wǎng)格及對(duì)應(yīng)節(jié)點(diǎn)的數(shù)據(jù)傳遞給“輸出模塊”;
[0059]步驟S307 輸出模塊”接收網(wǎng)格及節(jié)點(diǎn)數(shù)據(jù),按照預(yù)設(shè)的格式將節(jié)點(diǎn)總數(shù)、各邊界節(jié)點(diǎn)數(shù)、各節(jié)點(diǎn)坐標(biāo)、網(wǎng)格總數(shù)、各網(wǎng)格包含的節(jié)點(diǎn)編號(hào)以文件形式輸出傳送給用戶。
[0060]此外,在具體實(shí)施過程中,本發(fā)明實(shí)施例的計(jì)算網(wǎng)格生成還可以包括如下模塊:
[0061]光順更新模塊:光順非結(jié)構(gòu)化網(wǎng)格初始生成邊界。由于挖洞操作是針對(duì)結(jié)構(gòu)化網(wǎng)格進(jìn)行的,所以最終生成的洞體邊界形狀一般為階梯狀或鋸齒狀,如果將階梯狀邊界直接作為非結(jié)構(gòu)化網(wǎng)格生成的初始邊界,在后續(xù)非結(jié)構(gòu)化網(wǎng)格的生成過程中有可能出現(xiàn)無法檢測(cè)到網(wǎng)格間距離過近的情況,這會(huì)對(duì)網(wǎng)格生成過程造成不利影響。因此,增加的模塊會(huì)遍歷已形成的階梯狀邊界,計(jì)算邊界上每個(gè)節(jié)點(diǎn)的內(nèi)角值,當(dāng)判斷某一節(jié)點(diǎn)的內(nèi)角值為90°時(shí)即連接其前后兩個(gè)節(jié)點(diǎn)并對(duì)生成非結(jié)構(gòu)化網(wǎng)格的初始邊界進(jìn)行光順更新,避免了對(duì)網(wǎng)格間距離過近情況“漏檢”現(xiàn)象的發(fā)生,提高了算法的通用性和健壯性。
[0062]網(wǎng)格質(zhì)量?jī)?yōu)化模塊。當(dāng)混合網(wǎng)格全部生成完畢后,針對(duì)其中的非結(jié)構(gòu)化網(wǎng)格還要經(jīng)過一系列的拓?fù)鋬?yōu)化和光順優(yōu)化操作,通過改變網(wǎng)格節(jié)點(diǎn)間的拓?fù)溥B接關(guān)系或者節(jié)點(diǎn)的幾何位置等方法來提高混合網(wǎng)格的整體質(zhì)量。
[0063]如圖5所示為本發(fā)明一實(shí)施例對(duì)一多連通區(qū)域進(jìn)行挖洞操作的各階段示意圖:其中,(a)所示為待模擬區(qū)域的基本幾何信息,包括一個(gè)扇形區(qū)域和其中六個(gè)互不連通的圓形子區(qū)域;(b)所示為對(duì)扇形區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格離散作為背景網(wǎng)格,并在對(duì)所有子區(qū)域生成結(jié)構(gòu)化網(wǎng)格前,根據(jù)子區(qū)域最初的邊界進(jìn)行初步挖洞操作,以此確定后續(xù)挖洞操作的終止位置,最后按照子區(qū)域編號(hào)對(duì)I號(hào)子區(qū)域進(jìn)行了結(jié)構(gòu)化網(wǎng)格生成和挖洞操作;(c)?(g)對(duì)2到6號(hào)子區(qū)域依次進(jìn)行交替的結(jié)構(gòu)化網(wǎng)格生成和挖洞操作;(h)消除殘余的孤立網(wǎng)格,形成洞體空腔;(i)對(duì)鋸齒狀的洞體空腔邊界進(jìn)行光順處理,形成最終的洞體空腔。
[0064]此外,如圖6所示,本發(fā)明還公開了 一種計(jì)算網(wǎng)格生成裝置,裝置包括:
[0065]接收模塊601,用于接收用戶輸入的待模擬區(qū)域的幾何信息;
[0066]分區(qū)模塊602,用于根據(jù)所述幾何信息劃分所述待模擬區(qū)域,確定劃分的各子區(qū)域的幾何信息和編號(hào);
[0067]結(jié)構(gòu)化網(wǎng)格生成及挖洞模塊603,用于根據(jù)所述各子區(qū)域的編號(hào)依序選取一當(dāng)前子區(qū)域,對(duì)選取的當(dāng)前子區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格生成和挖洞操作,生成當(dāng)前子區(qū)域的網(wǎng)格和邊界信息;
[0068]洞體空腔數(shù)據(jù)生成模塊604,用于根據(jù)依序生成的各子區(qū)域的網(wǎng)格和邊界信息生成洞體空腔數(shù)據(jù);
[0069]非結(jié)構(gòu)化網(wǎng)格生成模塊605,用于根據(jù)所述洞體空腔數(shù)據(jù)生成非結(jié)構(gòu)化網(wǎng)格。
[0070]此外,該裝置還包括:
[0071]相對(duì)位置確定模塊,用于根據(jù)所述各子區(qū)域的幾何信息和編號(hào)確定各子區(qū)域相對(duì)位置;
[0072]終止位置確定模塊,用于根據(jù)確定的各子區(qū)域的相對(duì)位置確定挖洞操作的終止位置。
[0073]優(yōu)選的,本發(fā)明一種計(jì)算網(wǎng)格生成裝置的非結(jié)構(gòu)化網(wǎng)格生成及挖洞模塊包括:
[0074]背景結(jié)構(gòu)化網(wǎng)格生成單元,用于生成背景結(jié)構(gòu)化網(wǎng)格;
[0075]結(jié)構(gòu)化網(wǎng)格生成單元,用于根據(jù)選取的當(dāng)前子區(qū)域的幾何信息進(jìn)行結(jié)構(gòu)化網(wǎng)格生成,并確定當(dāng)前子區(qū)域網(wǎng)格的邊界信息;
[0076]挖洞單元,用于對(duì)當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格和背景網(wǎng)格重疊的網(wǎng)格進(jìn)行挖洞操作;
[0077]判斷單元,用于根據(jù)所述的終止位置判斷當(dāng)前子區(qū)域網(wǎng)格的邊界到達(dá)終止位置,進(jìn)行下一子區(qū)域的結(jié)構(gòu)化網(wǎng)格生成的挖洞操作。
[0078]優(yōu)選的,本發(fā)明一種計(jì)算網(wǎng)格生成裝置的非結(jié)構(gòu)化網(wǎng)格生成模塊包括:
[0079]初始生成邊界確定單元,用于根據(jù)所述洞體空腔數(shù)據(jù)確定非結(jié)構(gòu)化網(wǎng)格的初始生成邊界;
[0080]非結(jié)構(gòu)化網(wǎng)格生成單元,用于根據(jù)確定的初始生成邊界生成非結(jié)構(gòu)化網(wǎng)格。
[0081]本發(fā)明針對(duì)現(xiàn)有混合網(wǎng)格生成技術(shù)處理速度低的缺點(diǎn),發(fā)展了 一種基于改進(jìn)“挖洞”算法的混合網(wǎng)格快速生成技術(shù),著重解決目前影響網(wǎng)格生成速度最關(guān)鍵的瓶頸環(huán)節(jié)一連接結(jié)構(gòu)化網(wǎng)格生成和非結(jié)構(gòu)化網(wǎng)格生成的“挖洞”操作,提出了一種新的“挖洞”算法來突破現(xiàn)有技術(shù)方案中生成大量不必要網(wǎng)格及冗余重疊區(qū)域的問題。這種新的改進(jìn)算法是將“挖洞”操作和各個(gè)子區(qū)域結(jié)構(gòu)化網(wǎng)格生成交替進(jìn)行,對(duì)洞體空腔進(jìn)行動(dòng)態(tài)擴(kuò)展,并根據(jù)子區(qū)域間的相對(duì)位置關(guān)系確定終止“挖洞”操作的合適位置,由于單次“挖洞”操作消除的網(wǎng)格都不計(jì)入下次“挖洞”操作的計(jì)算范圍內(nèi),同時(shí)“挖洞”操作又能在適當(dāng)時(shí)刻終止,所以本發(fā)明能大幅減少計(jì)算量,提高處理速度,快速生成高質(zhì)量的混合網(wǎng)格。
[0082]本發(fā)明中應(yīng)用了具體實(shí)施例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【權(quán)利要求】
1.一種計(jì)算網(wǎng)格生成方法,其特征在于,所述的方法包括: 步驟1,接收用戶輸入的待模擬區(qū)域的幾何信息; 步驟2,根據(jù)所述幾何信息劃分所述待模擬區(qū)域,確定劃分的各子區(qū)域的幾何信息和編號(hào); 步驟3,根據(jù)所述各子區(qū)域的編號(hào)依序選取一當(dāng)前子區(qū)域,對(duì)選取的當(dāng)前子區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格生成和挖洞操作,生成當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格和邊界信息; 步驟4,根據(jù)依序生成的各子區(qū)域的結(jié)構(gòu)化網(wǎng)格和邊界信息生成洞體空腔數(shù)據(jù); 步驟5,根據(jù)所述洞體空腔數(shù)據(jù)生成非結(jié)構(gòu)化網(wǎng)格。
2.如權(quán)利要求1所述的計(jì)算網(wǎng)格生成方法,其特征在于,所述的方法還包括: 根據(jù)所述各子區(qū)域的幾何信息和編號(hào)確定各子區(qū)域相對(duì)位置; 根據(jù)確定的各子區(qū)域的相對(duì)位置確定挖洞操作的終止位置。
3.如權(quán)利要求2所述的計(jì)算網(wǎng)格生成方法,其特征在于,所述的步驟3中對(duì)選取的當(dāng)前子區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng) 格生成和挖洞操作包括: 生成背景結(jié)構(gòu)化網(wǎng)格; 根據(jù)選取的當(dāng)前子區(qū)域的幾何信息進(jìn)行結(jié)構(gòu)化網(wǎng)格生成,并確定當(dāng)前子區(qū)域結(jié)構(gòu)化網(wǎng)格的邊界信息; 對(duì)當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格和背景網(wǎng)格重疊的部分進(jìn)行挖洞操作; 根據(jù)所述的終止位置判斷當(dāng)前子區(qū)域網(wǎng)格的邊界到達(dá)終止位置,進(jìn)行下一子區(qū)域的結(jié)構(gòu)化網(wǎng)格生成及挖洞操作。
4.如權(quán)利要求1所述的計(jì)算網(wǎng)格生成方法,其特征在于,所述的步驟5中根據(jù)所述洞體空腔數(shù)據(jù)生成非結(jié)構(gòu)化網(wǎng)格包括: 根據(jù)所述洞體空腔數(shù)據(jù)確定非結(jié)構(gòu)化網(wǎng)格的初始生成邊界; 根據(jù)確定的初始生成邊界生成非結(jié)構(gòu)化網(wǎng)格。
5.一種計(jì)算網(wǎng)格生成裝置,其特征在于,所述的裝置包括: 接收模塊,用于接收用戶輸入的待模擬區(qū)域的幾何信息; 分區(qū)模塊,用于根據(jù)所述幾何信息劃分所述待模擬區(qū)域,確定劃分的各子區(qū)域的幾何信息和編號(hào); 結(jié)構(gòu)化網(wǎng)格生成及挖洞模塊,用于根據(jù)所述各子區(qū)域的編號(hào)依序選取一當(dāng)前子區(qū)域,對(duì)選取的當(dāng)前子區(qū)域進(jìn)行結(jié)構(gòu)化網(wǎng)格生成和挖洞操作,生成當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格和邊界信息; 洞體空腔數(shù)據(jù)生成模塊,用于根據(jù)依序生成的各子區(qū)域的結(jié)構(gòu)化網(wǎng)格和邊界信息生成洞體空腔數(shù)據(jù); 非結(jié)構(gòu)化網(wǎng)格生成模塊,用于根據(jù)所述洞體空腔數(shù)據(jù)生成非結(jié)構(gòu)化網(wǎng)格。
6.如權(quán)利要求5所述的計(jì)算網(wǎng)格生成裝置,其特征在于,所述的裝置還包括: 相對(duì)位置確定模塊,用于根據(jù)所述各子區(qū)域的幾何信息和編號(hào)確定各子區(qū)域相對(duì)位置; 終止位置確定模塊,用于根據(jù)確定的各子區(qū)域的相對(duì)位置確定挖洞操作的終止位置。
7.如權(quán)利要求6所述的計(jì)算網(wǎng)格生成裝置,其特征在于,所述的結(jié)構(gòu)化網(wǎng)格生成及挖洞模塊包括:背景結(jié)構(gòu)化網(wǎng)格生成單元,用于生成背景結(jié)構(gòu)化網(wǎng)格; 結(jié)構(gòu)化網(wǎng)格生成單元,用于根據(jù)選取的當(dāng)前子區(qū)域的幾何信息進(jìn)行結(jié)構(gòu)化網(wǎng)格生成,并確定當(dāng)前子區(qū)域網(wǎng)格的邊界信息; 挖洞單元,用于對(duì)當(dāng)前子區(qū)域的結(jié)構(gòu)化網(wǎng)格和背景網(wǎng)格重疊的部分進(jìn)行挖洞操作; 判斷單元,用于根據(jù)所述的終止位置判斷當(dāng)前子區(qū)域網(wǎng)格的邊界到達(dá)終止位置,進(jìn)行下一子區(qū)域的結(jié)構(gòu)化網(wǎng)格生成的挖洞操作。
8.如權(quán)利要求5所述的計(jì)算網(wǎng)格生成裝置,其特征在于,所述的非結(jié)構(gòu)化網(wǎng)格生成模塊包括: 初始生成邊界確定單元,用于根據(jù)所述洞體空腔數(shù)據(jù)確定非結(jié)構(gòu)化網(wǎng)格的初始生成邊界; 非結(jié)構(gòu)化網(wǎng)格生成單元,用于根據(jù)確定的初始生成邊界生成非結(jié)構(gòu)化網(wǎng)格。
【文檔編號(hào)】G06F17/00GK103970715SQ201410160332
【公開日】2014年8月6日 申請(qǐng)日期:2014年4月21日 優(yōu)先權(quán)日:2014年4月21日
【發(fā)明者】宇波, 趙宇, 李敬法 申請(qǐng)人:中國(guó)石油大學(xué)(北京)