張 沙,解利軍,桂立業(yè),鄭 耀
浙江大學(xué) 航空航天學(xué)院,杭州 310027
矢量場(chǎng)可視化是科學(xué)可視化的一個(gè)經(jīng)典分支,在氣象分析、航空航天等眾多領(lǐng)域具有無(wú)可替代的作用。矢量場(chǎng)可視化的目的是將矢量場(chǎng)仿真數(shù)據(jù)以一種視覺(jué)可見(jiàn)的方式正確表達(dá)出來(lái),同時(shí)這樣表達(dá)出來(lái)的信息必須便于人們理解和分析矢量場(chǎng)的特征。流線可視化,能夠直觀地反映矢量場(chǎng)的特征,同時(shí)計(jì)算相對(duì)簡(jiǎn)便快捷,一直是矢量場(chǎng)可視化分析中最重要的方法之一。
流線是從某個(gè)種子點(diǎn)出發(fā),沿著該點(diǎn)流向的正向和反向,通過(guò)矢量場(chǎng)積分計(jì)算得到的曲線。種子點(diǎn)的選取對(duì)流線的質(zhì)量具有非常關(guān)鍵的作用。流線種子點(diǎn)選取不當(dāng)可能會(huì)引起視覺(jué)混亂、特征不明顯等一系列問(wèn)題。
近年來(lái),矢量場(chǎng)種子點(diǎn)布局算法呈現(xiàn)百家爭(zhēng)鳴的局面。2D流場(chǎng)中,Jobard等提出等距離種子點(diǎn)放置方法[1],并經(jīng)過(guò)多次改進(jìn)[2-4]。等距離種子點(diǎn)放置方法的目的是在矢量場(chǎng)中等距離地放置流線以避免視覺(jué)聚類。但這種方法不對(duì)矢量場(chǎng)結(jié)構(gòu)進(jìn)行分析,可能會(huì)造成矢量場(chǎng)中重要特征不明顯的問(wèn)題。最遠(yuǎn)種子點(diǎn)放置算法[5]在距現(xiàn)有流線最遠(yuǎn)的地方放置種子點(diǎn),保證矢量場(chǎng)中不會(huì)出現(xiàn)大塊空白的區(qū)域。這個(gè)算法的缺點(diǎn)與等距離種子點(diǎn)的缺點(diǎn)類似,不對(duì)矢量場(chǎng)結(jié)構(gòu)進(jìn)行分析可能錯(cuò)過(guò)某些重要特征?;谔卣鞯目梢暬椒ㄖ饕P(guān)注矢量場(chǎng)中的主要特征提取,Helman等人[6]對(duì)2D 矢量場(chǎng)的拓?fù)溥M(jìn)行分析,對(duì)臨界點(diǎn)進(jìn)行檢測(cè)和分類,并以此作為基礎(chǔ)執(zhí)行可視化算法。Verma等人提出了基于拓?fù)涞姆N子點(diǎn)放置方法[7],這個(gè)算法首先分析矢量場(chǎng)得到關(guān)鍵點(diǎn),然后利用預(yù)先定義的模板在關(guān)鍵點(diǎn)周圍進(jìn)行布點(diǎn),這樣可以保證重要特征的突出顯示。本文后面初始布點(diǎn)時(shí)用到的模板就與Verma等人的模板相同。3D流場(chǎng)中,Ye等人在[8]中將Verma等的方法擴(kuò)展到三維流場(chǎng)中,并定義了三維流場(chǎng)的模板。Li和Shen提出了基于圖像的三維矢量場(chǎng)種子點(diǎn)布置方法[9],有效地避免了流線雜亂和視覺(jué)的混亂。Xu等人提出了矢量場(chǎng)信息化的信息框架,以獨(dú)特的視角詮釋了流線生成的信息意義。國(guó)內(nèi)的王少榮等人[10]提出了一種基于出入度的種子點(diǎn)布局算法。
在已經(jīng)有了如此多的種子點(diǎn)選擇算法后,對(duì)種子點(diǎn)的質(zhì)量評(píng)估算法卻寥寥無(wú)幾。本文提出了一種基于信息論的矢量場(chǎng)種子點(diǎn)評(píng)估和布局算法,并利用CUDA(Compute Unified Device Architecture,計(jì)算統(tǒng)一設(shè)備架構(gòu))對(duì)其做了不錯(cuò)的性能加速[11]。
本文的核心思想是:矢量場(chǎng)中矢量變化越大的區(qū)域,其局部熵值越大,擁有重要特征的可能性越大(詳見(jiàn)2.1節(jié))。初始布點(diǎn),選擇擁有極大局部熵值的網(wǎng)格點(diǎn),對(duì)其周圍進(jìn)行模板布點(diǎn),突出顯示矢量場(chǎng)的重要特征。然后利用現(xiàn)有流線擴(kuò)散出一個(gè)中間矢量場(chǎng),求解中間矢量場(chǎng)與初始矢量場(chǎng)的條件熵,來(lái)衡量初始矢量場(chǎng)中除中間矢量場(chǎng)中的共有信息外的未知信息的熵值,確定現(xiàn)有流線是否已經(jīng)能夠展示出初始矢量場(chǎng)中的足夠信息,從而確定是否要繼續(xù)在矢量場(chǎng)中加入新的種子點(diǎn)。新的種子點(diǎn)的放置采取基于重要性取樣的方法。本文提出的算法最終目的是以較少的流線展示出矢量場(chǎng)中大部分信息。
圖1給出了本文算法的程序流程圖。算法包括三個(gè)比較大的模塊,分別為基于信息熵的初始種子點(diǎn)布置、流線質(zhì)量評(píng)估以及基于重要性種子點(diǎn)取樣?;谛畔㈧氐某跏挤N子點(diǎn)布置模塊對(duì)矢量場(chǎng)特征進(jìn)行分析,找到其主要特征并生成流線。流線質(zhì)量評(píng)估模塊對(duì)現(xiàn)有流線進(jìn)行質(zhì)量評(píng)估,以確定現(xiàn)有流線是否已經(jīng)展示出矢量場(chǎng)中足夠的信息,是否需要繼續(xù)添加流線?;谥匾苑N子點(diǎn)取樣的目的是根據(jù)條件熵向矢量場(chǎng)中添加新的種子點(diǎn)。
圖1 基于信息熵種子點(diǎn)評(píng)估和布局算法流程圖
后續(xù)的章節(jié)中,將對(duì)各模塊的具體算法實(shí)現(xiàn)進(jìn)行介紹。
在本文中,將矢量及其所有鄰近網(wǎng)格點(diǎn)(本文網(wǎng)格點(diǎn)的鄰近點(diǎn)規(guī)模:2D數(shù)據(jù)為132個(gè),3D數(shù)據(jù)為133個(gè))作為一個(gè)隨機(jī)系統(tǒng)并求解該系統(tǒng)的熵值。矢量變化越大即矢量越混亂的系統(tǒng),其熵值越大,含有重要特征的可能越大。利用這個(gè)方法選取的種子點(diǎn),可以很好地抓住矢量場(chǎng)的主要特征。
2.2.1 概率分布函數(shù)求解
要求解網(wǎng)格點(diǎn)的局部熵值,首先要統(tǒng)計(jì)網(wǎng)格點(diǎn)及其所有鄰近點(diǎn)的方向區(qū)間直方圖,得到該矢量場(chǎng)的概率分布函數(shù)p(xi)。
對(duì)所有矢量,先按方向進(jìn)行量化,將其分為若干個(gè)方向區(qū)間。
對(duì)于2D矢量,先將矢量表示為角度θ∈[0,360),角度空間被劃分為60個(gè)區(qū)間,每個(gè)區(qū)間6°。對(duì)于矢量為(a,b)的網(wǎng)格點(diǎn),如果a,b均不為0,則該矢量角度區(qū)間求法如式(2):
1948年,信息論之父C.E.Shannon在論文[12]中提出了信息熵的概念,用來(lái)解決信息的量化度量問(wèn)題。信息熵描述了隨機(jī)系統(tǒng)的不確定程度,越有序的系統(tǒng),其熵值越小,不確定的信息也越少;反之越混亂的系統(tǒng),熵值越大,不確定的信息越多。
對(duì)于一個(gè)離散變量X,有n個(gè)可能的值(x1,x2,…,xn)每個(gè)值出現(xiàn)的概率為(p1,p2,…,pn),則X的離散熵為:
對(duì)于3D矢量,為了簡(jiǎn)化計(jì)算,本文將z軸單獨(dú)劃分為6個(gè)區(qū)間,x軸和y軸的劃分與2D矢量相同。z軸區(qū)間值的計(jì)算方法為z×3/r+3其中,3D矢量的角度區(qū)間為z軸的區(qū)間值乘以xOy平面的區(qū)間值。3D數(shù)據(jù)的角度區(qū)間共有360個(gè)。
統(tǒng)計(jì)網(wǎng)格點(diǎn)及其所有鄰近點(diǎn)矢量的方向區(qū)間。假如落在某區(qū)間Ci內(nèi)的矢量個(gè)數(shù)為ni,鄰近點(diǎn)的總個(gè)數(shù)為N,則該角度區(qū)間出現(xiàn)的概率為pi=ni/N。
2.2.2 基于模板的種子點(diǎn)布置
按照2.1節(jié)所示,求取每一個(gè)網(wǎng)格點(diǎn)的熵值,所有點(diǎn)的熵值構(gòu)成EM(熵值矩陣),選取所有局部熵值大于0.7倍熵最大值的極值點(diǎn),作為初始布點(diǎn)的模板中心。本文采用的模板是由Verma等人在文[7]中首先提出來(lái)的所有模板的綜合體。對(duì)于2D數(shù)據(jù),采用了菱形模板,共9個(gè)點(diǎn),分別為4個(gè)頂點(diǎn),4條邊的中點(diǎn)及1個(gè)中心點(diǎn)。對(duì)于3D數(shù)據(jù)采用了八面體模板,共27個(gè)點(diǎn):1個(gè)中心點(diǎn),6個(gè)頂點(diǎn),8個(gè)面的中心點(diǎn),12條邊的中點(diǎn)。
圖2(a)是Isabel的某個(gè)時(shí)間片的切片矢量圖,圖2(b)展示了根據(jù)本文的算法對(duì)該數(shù)據(jù)求解熵矩陣,并對(duì)熵極值進(jìn)行模板布點(diǎn)后的流線。
圖2 Isabel數(shù)據(jù)切片的矢量圖及其對(duì)應(yīng)的熵圖1)
這一模塊主要包括兩個(gè)步驟:首先根據(jù)現(xiàn)有流線生成中間矢量場(chǎng),然后根據(jù)初始矢量場(chǎng)與中間矢量場(chǎng)的條件熵量化評(píng)估流線對(duì)矢量場(chǎng)信息的反映程度。
2.3.1 條件熵
條件熵反映的是兩個(gè)隨機(jī)變量之間的不確定性。在本文中初始矢量場(chǎng)和中間矢量場(chǎng)的條件熵描述的是:在完全已知中間矢量場(chǎng)Y(x)的情況下,初始矢量場(chǎng)X(x)中除了與Y(x)共享的信息之外的信息的熵值。也就是,Y(x)中剩余信息的不確定性。
條件熵有兩種計(jì)算方法,如公式(3)和公式(5):
本文中,全局條件熵的計(jì)算直接放置CPU中進(jìn)行,沒(méi)有空間限制,采用公式(5)只需對(duì)所有網(wǎng)格進(jìn)行一次遍歷,能獲得較高的時(shí)間性能。而在基于重要性布點(diǎn)過(guò)程中求解局部條件熵時(shí),算法需要求解每一個(gè)網(wǎng)格點(diǎn)及其所有鄰居點(diǎn)的條件熵。如果采用串行算法,將面臨高昂的時(shí)間代價(jià),所以將這一部分移動(dòng)到GPU中利用CUDA進(jìn)行加速計(jì)算。實(shí)驗(yàn)表明,此時(shí)采用公式(3)將取得更好的時(shí)間性能。
2.3.2 求解中間矢量場(chǎng)
本文通過(guò)最小化能量方程(7)的方法來(lái)求解中間矢量場(chǎng)Y(x)。這種方法能夠保證整個(gè)矢量場(chǎng)被恰當(dāng)覆蓋,同時(shí),還能保證中間矢量場(chǎng)經(jīng)過(guò)光滑處理,并且光滑后流線上的點(diǎn)的中間值與真實(shí)值之間的差異最小。
本文應(yīng)用的能量方程與參考文獻(xiàn)[13]中提出的外部力相同。具體的求解過(guò)程參見(jiàn)文獻(xiàn)[13]。上述能量方程的求解結(jié)果為:
其中μ=0.1(經(jīng)驗(yàn)值),?f(x)=?(x),dt自己設(shè)定,但須滿足CFL約束條件[14]。
圖3展示了經(jīng)過(guò)若干次的迭代后求解出的中間矢量(藍(lán)色)與初始矢量(紅色)的比較結(jié)果。只有藍(lán)色矢量的網(wǎng)格點(diǎn)表示初始矢量與中間矢量相同,在顯示時(shí)被覆蓋了。圖3(d)中,中間矢量場(chǎng)中絕大部分的網(wǎng)格點(diǎn)或者因?yàn)楸涣骶€覆蓋或者因?yàn)橛行У氖噶炕謴?fù),得到了與原始矢量近似或者相同的結(jié)果。
對(duì)于大規(guī)模的數(shù)據(jù),此模塊耗費(fèi)的時(shí)間非常長(zhǎng)。為了減少此模塊的時(shí)間,本文將這一模塊放到了GPU上進(jìn)行并行計(jì)算。
圖3 各步驟流線恢復(fù)出的中間矢量場(chǎng)
圖3中圖(a)顯示判斷網(wǎng)格點(diǎn)是否在流線上,其中紅色的網(wǎng)格點(diǎn)表示在流線上,在建立近似矢量場(chǎng)時(shí),這些網(wǎng)格點(diǎn)的矢量值將等于初始值,其他藍(lán)色點(diǎn)均為0。圖(b)展示了根據(jù)(a)中流線生成的中間矢量場(chǎng)與初始矢量場(chǎng)的比較。圖(d)為迭代終止后的中間矢量場(chǎng)。圖(b)(c)(d)三幅圖反映了中間矢量場(chǎng)逐漸與原始矢量場(chǎng)重合的過(guò)程。
初始布點(diǎn)完成以后,矢量場(chǎng)中大部分的重要特征已經(jīng)顯示出來(lái)。后續(xù)迭代的重要性取樣是為了更加強(qiáng)調(diào)這種特征顯示同時(shí)填充矢量場(chǎng)中的空白區(qū)域。這個(gè)迭代過(guò)程的結(jié)束條件是矢量場(chǎng)中所有的信息可見(jiàn),即:矢量場(chǎng)的全局條件熵趨于收斂。
根據(jù)求解出的中間矢量場(chǎng)Y(x)和初始矢量場(chǎng)X(x)求解每個(gè)網(wǎng)格點(diǎn)的條件熵,更新CEM。對(duì)于某個(gè)網(wǎng)格點(diǎn)來(lái)說(shuō),該處的條件熵越大,則成為新一輪種子點(diǎn)的可能性也越大。新一輪的布點(diǎn)過(guò)程中,網(wǎng)格點(diǎn)(x,y)被選中的概率為:
其中,h(x,y)為點(diǎn)(x,y)處的條件熵。
所有網(wǎng)格點(diǎn)的布點(diǎn)概率構(gòu)成了概率分布函數(shù)(PDF),然后利用反變換的方法選取新一輪的網(wǎng)格點(diǎn)。
重要性取樣迭代進(jìn)行,在每次循環(huán)中,將一定數(shù)量的種子點(diǎn)布置到矢量場(chǎng)中,直到初始矢量場(chǎng)與中間矢量場(chǎng)的條件熵值趨于收斂。對(duì)于不同的數(shù)據(jù),每次循環(huán)放置的種子點(diǎn)個(gè)數(shù)也不相同,通常情況下,每次循環(huán)放置的種子點(diǎn)數(shù)為網(wǎng)格點(diǎn)數(shù)的平方根。
測(cè)試算法在64位Windows 7系統(tǒng),Lenovo ideapad Y470,Intel core i5,3 GB內(nèi)存機(jī)器上運(yùn)行。機(jī)器配備的顯卡為Nvidia GeForce GT525。
圖4展示了兩種不同的算法對(duì)Isabel數(shù)據(jù)集切片的可視化結(jié)果。圖4(a)是本文算法執(zhí)行基于信息熵的初始布點(diǎn)的結(jié)果。由圖中可以看出即使此時(shí)流場(chǎng)中只存在較少數(shù)量的流線,流場(chǎng)中的特征區(qū)域已經(jīng)被全部顯示出來(lái)。圖 4(a)中III部分存在顯著源或匯,結(jié)合圖 2(a)點(diǎn)圖標(biāo)矢量方向,可知此處存在源,II和V部分存在比較明顯鞍面,II、IV和VI部分存在需要用戶重視的特征區(qū)域。這證明了本文的算法在初始布點(diǎn)后能夠很好地捕獲流場(chǎng)中主要特征區(qū)域。圖4(b)算法經(jīng)過(guò)兩次迭代后的中間結(jié)果。
圖4(c)展示算法最終結(jié)果圖。圖中,各個(gè)特征區(qū)域周圍的流線數(shù)目更多,特征區(qū)域得到加強(qiáng)顯示;而非特征區(qū)域流線數(shù)目相對(duì)較少但不影響用戶對(duì)流場(chǎng)的理解。圖4(d)是最遠(yuǎn)種子點(diǎn)算法生成的流線。圖中幾個(gè)特征區(qū)域并不明顯且短流線較多,尤其對(duì)應(yīng)于圖4(a)I區(qū)域位置的特征區(qū)域很難識(shí)別出來(lái)。與最遠(yuǎn)種子點(diǎn)算法相比,本文提出的算法能夠更好的捕獲流場(chǎng)中的特征區(qū)域,并予以突出顯示。
圖(e)顯示了在算法迭代過(guò)程中,中間矢量場(chǎng)與初始矢量場(chǎng)的條件熵逐漸趨于收斂,矢量場(chǎng)中未被顯示的信息逐漸減少。
圖6展示的是本文算法應(yīng)用于Rayleigh-Bénard數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果。Rayleigh-Bénard對(duì)流現(xiàn)象(RBC)是指當(dāng)流體的Rayleigh數(shù)達(dá)到某一特定數(shù)值時(shí)產(chǎn)生對(duì)流的現(xiàn)象[15]。RBC現(xiàn)象是一種在自然界和工業(yè)中普遍存在的熱流動(dòng)現(xiàn)象。本文獲取矢量場(chǎng)數(shù)據(jù)的方法是利用CFD模擬計(jì)算兩無(wú)限平行板間的RBC對(duì)流。圖5是模擬采用的幾何模型示意圖。模擬網(wǎng)格采用127×34×40的結(jié)構(gòu)網(wǎng)格。
圖5 Rayleigh-Bénard對(duì)流模擬的模型
圖6(a)中紅色線條是通過(guò)李明等人提出的算法提取的渦核[16]。
圖6(b)展示的是對(duì)矢量場(chǎng)經(jīng)過(guò)初始布點(diǎn)以后的流線圖。圖中可以看出,流線大多纏繞渦核,很好地完成了抓取特征區(qū)域的任務(wù)。
圖6(c)是流線最終放置結(jié)果。最終的結(jié)果圖中,在初始布點(diǎn)生成流線的基礎(chǔ)上增加了流線,特征區(qū)域得到進(jìn)一步加強(qiáng)顯示,非特征區(qū)域也適當(dāng)增加了較少流線,具有全局性。
圖6(d)顯示隨著流線數(shù)目增多,初始矢量場(chǎng)與中間矢量場(chǎng)的條件熵逐步減少直至收斂,最終完成整個(gè)評(píng)估。
上面兩個(gè)算例中,Isabel單次評(píng)估和生成流線需要9.26 s,Rayleigh-Bénard數(shù)據(jù)需要46.88 s,算法的速度當(dāng)前還達(dá)不到交互式可視化的要求。
本文算法主要分為3個(gè)模塊,分別為基于信息熵的初始布點(diǎn)、流線質(zhì)量評(píng)估以及基于重要性取樣。以RB對(duì)流數(shù)據(jù)為例,算法各模塊的時(shí)間效率如表1。其中,更新LCM時(shí),需要對(duì)每個(gè)網(wǎng)格點(diǎn)掃描鄰域,且計(jì)算過(guò)程中需建立一個(gè)360×360的矩陣,這遠(yuǎn)遠(yuǎn)超出了GPU 16K的共享內(nèi)存存儲(chǔ)范圍,需要采取以時(shí)間換取空間的手段,加大了計(jì)算量,耗費(fèi)了大量的時(shí)間。
圖6 對(duì)流數(shù)據(jù)的可視化結(jié)果
本文提出了一種種子點(diǎn)布局及流線評(píng)估方法。矢量場(chǎng)中熵值越大的區(qū)域,其含有特征點(diǎn)的可能性越大。初始布點(diǎn)中,選取了矢量場(chǎng)中若干個(gè)極值點(diǎn)進(jìn)行基于模板的布點(diǎn),最終生成的流線能很好地抓住矢量場(chǎng)的主要特征。利用初始矢量場(chǎng)與流線生成的中間矢量場(chǎng)的條件熵對(duì)現(xiàn)有流線進(jìn)行質(zhì)量評(píng)估,條件熵值越小說(shuō)明矢量場(chǎng)中未被現(xiàn)有流線挖掘出的信息越少,流線質(zhì)量越好,需要添加的新流線也越少。加入新的種子點(diǎn)采用基于重要性取樣的方法,保證了矢量場(chǎng)特征區(qū)域的顯著加強(qiáng)顯示。當(dāng)評(píng)估結(jié)果收斂時(shí)終止迭代過(guò)程,此時(shí)初始矢量場(chǎng)中大部分的信息已經(jīng)被現(xiàn)有流線顯示出來(lái)。
實(shí)驗(yàn)結(jié)果表明,基于信息熵的初始布點(diǎn)能夠有效地捕獲流場(chǎng)中的主要特征。當(dāng)需要流線數(shù)量少的時(shí),僅通過(guò)初始布點(diǎn)也能得到很好的效果。初始布點(diǎn)結(jié)束時(shí),矢量場(chǎng)主要特征雖然被捕獲,但矢量場(chǎng)中仍有大量信息被隱藏,此時(shí)條件熵值也是比較大的。隨著新的流線的不斷加入,流場(chǎng)中隱藏的信息逐漸減少,條件熵值也逐步減小直到收斂于一個(gè)較小的值。整個(gè)評(píng)估過(guò)程有效地量化評(píng)估了現(xiàn)有流線對(duì)矢量場(chǎng)的反應(yīng)程度,即量化評(píng)估了流線的質(zhì)量。
表1 算法各模塊的運(yùn)行時(shí)間
目前,本文算法只能支持結(jié)構(gòu)化網(wǎng)格,網(wǎng)格種類比較單一,算法性能仍需進(jìn)一步提升。未來(lái)將研究本算法應(yīng)用于非結(jié)構(gòu)網(wǎng)格的方法。
[1]Jobard B,Lefer W.Creating evenly-based streamlines of arbitrary density[C]//Proceedings of Eighth Eurographics Workshop on Visualization in Scientific Computing,1997:45-55.
[2]Liu Z,Moorhead R,Groner J.An advanced evenly-spaced streamline placement algorithm[J].IEEE Transactions on Visualization and Compute Graphics,2007,13(3):630-640.
[3]Spencer B,Laramee R S,Chen G,et al.Evenly spaced streamlines forsurfaces:An image-based approach[J].Computer Graphics Forum,2009,28(6):1618-1631.
[4]Wu K,Kao D,Pang A.Strategy for seeding 3D streamlines[C]//Vis’05:Processing of IEEE Visualization 2005,2005:471-478.
[5]Mebarki A,Alliez P,Devillers O.Farthest point seeding forefficientplacementofstreamlines[C]//Vis’05:Proceedings of the IEEE Visualization 2005,2005:479-486.
[6]Helman J L,Hesselink L.Visualizing vector field topology in fluid flows[J].IEEE Computer Graphics and Applications,1991,11(3):36-46.
[7]Verma V,Kao D T,Pang A.A flow-guided streamline seeding strategy[C]//Vis’00:ProceedingsoftheIEEE Visualization 2000,2000:163-170.
[8]Ye X,Kao D T,Pang A.Strategy for seeding 3D streamlines[C]//Vis’05:Proceedings of the IEEE Visualization 2005,2005:471-478.
[9]Li L,Shen H W.Image-based streamline generation and rendering[J].IEEE Transactions on Visualization and Computer Graphics,2007,13(3):630-640.
[10]王少榮,吳迪,汪國(guó)平.一種流線放置方法[J].軟件學(xué)報(bào),2012,23(S(2)):42-52.
[11]Nvida.CUDA programming guide[M/OL].(2013).http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf.
[12]Shannon C E.A mathmatical theory of communication[J].Mobile Computing and Communication Reviews,5(1).
[13]Xu C,Prince J L.Snakes,shapes,and gradient vector flow[J].IEEE Transactions on Image Processing,1998,7(3):359-369.
[14]Ames W F.Numerical methods for partial differential equations[M].3rd ed.New York:Academic,1992.
[15]Lohse D,Xia K.Small-scale properties of turbulent Rayleigh-Bénard convection[J].AnnualReview of Fluid Mechanics,2010,42:335-364.
[16]李明.非定常三維流場(chǎng)渦結(jié)構(gòu)分析方法研究[D].杭州:浙江大學(xué),2011.