本發(fā)明屬于數(shù)據(jù)處理領(lǐng)域,更具體地,涉及一種云計算下的cae數(shù)據(jù)輕量化方法。
背景技術(shù):
計算機(jī)數(shù)值模擬仿真(常稱為cae)所涉及的數(shù)據(jù)量大,特別是cae的結(jié)果數(shù)據(jù)往往是海量的,文件體積非常大,單個時間步的物理場文件就有幾十mb、幾百mb甚至幾個gb的大小,如此大的文件,如何實現(xiàn)它的快速可視化就成為了一項重要任務(wù)。
在使用傳統(tǒng)cae軟件時,研究人員為了方便對cae結(jié)果進(jìn)行可視化分析,通常采取減少輸出物理量、降低輸出結(jié)果精度、降低分辨率、減少輸出的時間步、甚至降低數(shù)據(jù)的維度等措施來降低結(jié)果文件的大小,這樣雖然有利于可視化顯示,但卻導(dǎo)致無法直接得到真實的三維結(jié)果數(shù)據(jù),影響了研究人員使用數(shù)值模擬技術(shù)的準(zhǔn)確性;然而,對于基于云計算的cae而言,除了上述的cae結(jié)果文件的體積龐大之外,還有一個更關(guān)鍵的問題,那就是cae數(shù)據(jù)的接收是通過互聯(lián)網(wǎng)來實現(xiàn),數(shù)據(jù)的顯示一般是在web瀏覽器上,這就要求cae的數(shù)據(jù)傳送與顯示必須簡單快捷,具備輕量化的特點,但是,受到網(wǎng)絡(luò)帶寬以及web瀏覽器性能的影響,如果將所有的原始cae數(shù)據(jù)傳送給客戶端web瀏覽器,勢必會造成用戶的長時間等待,同時還會造成瀏覽器的卡頓甚至直接崩潰,不利于研究人員的cae結(jié)果的分析,影響用戶的使用體驗。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種云計算下的cae海量數(shù)據(jù)輕量化方法,通過邊坍塌粗化算法減少cae幾何模型中網(wǎng)格的數(shù)量,由此解決cae數(shù)據(jù)龐大的技術(shù)問題。
為實現(xiàn)上述目的,按照本發(fā)明的一個方面,提供了一種云計算下的cae海量數(shù)據(jù)輕量化方法,其特征在于,該方法包括下列步驟:
(1)采用邊坍塌粗化算法將待處理的cae初始幾何模型不斷粗化,用于減少該模型中網(wǎng)格的數(shù)量,直至粗化后的模型產(chǎn)生的總體坍塌代價滿足預(yù)設(shè)要求,該滿足要求的模型為所需的粗化模型,其中,所述總體坍塌代價f(e)是粗化后模型體積和形狀的變化,其按照下列表達(dá)式來計算,f(v)為邊的體積代價,f(ε)為邊的形狀代價,kv為體積代價權(quán)值,kε為局部形狀代價權(quán)值,
f(e)=kvf(v)+kεf(ε);
(2)所述所需的粗化模型待映射的物理場t按照下列表達(dá)式計算,其中,p為待求的對象節(jié)點,n為在半徑為r的球體內(nèi)部粗化模型的節(jié)點數(shù),li為第i個節(jié)點到p點的距離,ti為第i個節(jié)點的物理場,i為1~n之間的任意正整數(shù),r為任意給定值,
進(jìn)一步優(yōu)選地,所述待處理的cae初始幾何模型是三角形的面片模型。
進(jìn)一步優(yōu)選地,在步驟(1)中,所述邊坍塌粗化算法中使用二次測量準(zhǔn)則計算坍塌頂點的位置。
進(jìn)一步優(yōu)選地,所述二次測量準(zhǔn)則中優(yōu)選采用通過計算能量泛函的最小值實現(xiàn)。
進(jìn)一步優(yōu)選地,在步驟(2)中,所述物理場為標(biāo)量場或矢量場,標(biāo)量場包括溫度或濃度,矢量場包括速度、應(yīng)力或應(yīng)變。
進(jìn)一步優(yōu)選地,計算所需映射的物理場t之前,需要進(jìn)行下列步驟:
(i)將所述粗化模型的坐標(biāo)系轉(zhuǎn)化到計算坐標(biāo)系中;
(ii)采用插值函數(shù)將待計算網(wǎng)格中的物理量映射到所述粗化模型的網(wǎng)格上。
總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
1、本發(fā)明通過將cae幾何模型粗化到不同格數(shù)量級的網(wǎng)格,減少模型的網(wǎng)格數(shù)量,同時將物理場映射到粗化模型上,減少了cae數(shù)據(jù)在顯示時的大量冗余信息;
2、本發(fā)明通過采用邊坍塌粗化算法減少模型中網(wǎng)格的數(shù)量,該算法計算方法簡單,在不改變原幾何模型的形狀的基礎(chǔ)上,對原模型的干擾小,產(chǎn)生的總體坍塌代價??;
3、本發(fā)明通過采用基于二次誤差測量準(zhǔn)則的能量泛函最小的方法計算坍塌點的最佳位置,該方法計算簡單,效率高,不需要復(fù)雜的迭代即可快速得到優(yōu)質(zhì)的坍塌點位置;
4、本發(fā)明通過采用體積和形狀代價作為總體坍塌代價,體積代價能夠反映坍塌后的網(wǎng)格與原幾何模型的幾何一致性,而形狀代價能夠反映網(wǎng)格局部區(qū)域的細(xì)節(jié)變化,避免模型局部細(xì)節(jié)的丟失;
5、本發(fā)明通過將cae幾何模型粗化將數(shù)據(jù)輕量化,而在實際應(yīng)用中關(guān)心的是各種物理場的顯示,因此本發(fā)明將所需的物理場映射到粗化的模型上,實現(xiàn)數(shù)據(jù)輕量化的實際應(yīng)用,具有實際價值。
附圖說明
圖1是按照本發(fā)明的優(yōu)選實施例所構(gòu)建的云計算下的cae數(shù)據(jù)輕量化方法的流程圖;
圖2是按照本發(fā)明的優(yōu)選實施例所構(gòu)建的邊坍塌粗化算法流程圖;
圖3是按照本發(fā)明的優(yōu)選實施例所構(gòu)建的物理場映射插值方法示意圖;
圖4(a)-(c)是按照本發(fā)明的優(yōu)選實施例所構(gòu)建的汽車發(fā)動機(jī)缸體鑄件粗化模型的網(wǎng)格情況;
圖5(a)-(c)是按照本發(fā)明的優(yōu)選實施例所構(gòu)建的汽車發(fā)動機(jī)缸體鑄件粗化模型的溫度場分布云圖;
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
三角形網(wǎng)格粗化的實質(zhì)是減少三角形面及其頂點的數(shù)目,同時盡量保持原來模型的形狀。目前,三角形網(wǎng)格粗化算法已逐步成熟,有很多網(wǎng)格的粗化算法,如:頂點刪除的粗化算法、重新劃分網(wǎng)格的粗化算法、區(qū)域合并的粗化算法、邊坍塌的粗化算法等。其中,邊坍塌已經(jīng)成為非常重要的一類粗化算法,并且最近兩年對網(wǎng)格粗化算法的研究也多是基于邊坍塌展開的。本系統(tǒng)即使用邊坍塌方法對幾何模型進(jìn)行多細(xì)節(jié)層次的粗化處理。
本發(fā)明提出的技術(shù)方案是,一種云計算下的cae海量數(shù)據(jù)輕量化方法,圖1是按照本發(fā)明的優(yōu)選實施例所構(gòu)建的云計算下的cae數(shù)據(jù)輕量化方法的流程圖,如圖1所示,其方案實現(xiàn)如下:
(1)針對cae幾何模型使用邊坍塌粗化算法減少模型的網(wǎng)格數(shù)量
針對cae幾何模型,特別是在尖角處或者曲率較大的區(qū)域集中了大量三角形面片的模型,對其進(jìn)行邊坍塌粗化處理,減少面片的數(shù)量,該算法以邊作為被刪除的基本幾何元素,每坍塌一條邊,就會生成一個新點,然后把所有與被刪除邊相連的點與該新點相連,保持模型曲面始終由三角網(wǎng)格組成。在進(jìn)行邊坍塌的時候要解決兩個問題,即如何選取坍塌的邊和如何確定代替坍塌邊上新頂點的位置。解決以上兩個問題的方法就是選取一定的代價函數(shù)來表述頂點替換邊以后對原來幾何模型所產(chǎn)生的代價。因為粗化幾何模型的過程不是要改變幾何模型的形狀,而是通過減少網(wǎng)格的數(shù)量,盡可能的降低對原有形狀的干擾,所以邊坍塌以后所產(chǎn)生的代價越小,自然就是越好的邊坍塌方案。
圖2是按照本發(fā)明的優(yōu)選實施例所構(gòu)建的邊坍塌粗化算法流程圖,如圖2所示,邊坍塌粗化算法流程具體如下:
(a)在粗化之前,根據(jù)基于二次誤差測量準(zhǔn)則的能量泛函最小方法來得到邊坍塌頂點的最佳位置,計算所有邊的最優(yōu)頂點;
(b)得到每條邊坍塌后的最優(yōu)頂點,再計算體積代價和局部形狀代價,并得到粗化的總代價;
(c)根據(jù)坍塌代價從小到大的順序?qū)λ羞呥M(jìn)行排序,建立邊的優(yōu)先級隊列,對優(yōu)先級隊列中代價最小的邊進(jìn)行邊坍塌操作;
(d)判斷當(dāng)前坍塌造成的粗化結(jié)果是否達(dá)到預(yù)設(shè)的粗化要求,如果已經(jīng)達(dá)到,則完成粗化處理,如果未達(dá)到,則進(jìn)入下一步;
(e)尋找上一次邊坍塌時對局部哪些邊的坍塌代價產(chǎn)生了影響,并計算受影響的邊的坍塌代價,然后更新優(yōu)先級隊列,返回步驟(c),繼續(xù)進(jìn)行下一條邊的坍塌,其中,受影響的邊是指與最優(yōu)頂點相連的邊。
為了盡可能的降低對原有形狀的干擾,本發(fā)明提出的邊坍塌粗化算法使用體積代價和局部形狀代價來綜合考慮邊坍塌對模型的誤差影響,代價函數(shù)最小的方案即是最有的粗化方案。
在幾何模型粗化的基礎(chǔ)之上,系統(tǒng)能夠通過網(wǎng)絡(luò)將模型以更快的速度傳送到瀏覽器上,并且較大幅度地降低瀏覽器的渲染負(fù)擔(dān)。然而對于鑄造模擬仿真來說,計算結(jié)果中的各種物理場更是研究人員的分析重點,而物理場的結(jié)果是通過計算網(wǎng)格來獲得的,而不同細(xì)節(jié)層次模型的網(wǎng)格與計算網(wǎng)格存在著不一致性,要使不同細(xì)節(jié)層次的模型顯示得更加精確,就必須對不同模型網(wǎng)格的物理場進(jìn)行匹配。
(2)針對粗化以后的不同模型的表面網(wǎng)格進(jìn)行物理場映射
圖3是按照本發(fā)明的優(yōu)選實施例所構(gòu)建的物理場映射插值方法示意圖,如圖3所示,針對粗化后的幾何模型與計算模型的網(wǎng)格存在不一致的情況,使用一個插值函數(shù),實現(xiàn)不同類型網(wǎng)格的匹配,以及物理場的等效。另外,為了能夠在剖切的過程中可以看到零件內(nèi)部的情況,使用可見性剔除法,快速構(gòu)造并顯示剖切平面的物理場數(shù)據(jù)。
物理場映射該步驟涉及兩個關(guān)鍵過程:
(i)將cae計算模型的相對坐標(biāo)系轉(zhuǎn)移到粗化模型的世界坐標(biāo)系中去;
(ii)使用一個插值函數(shù),將計算模型的結(jié)果映射到粗化模型上去。
根據(jù)圖1提供的流程圖,下面將結(jié)合具體的實施例來進(jìn)一步說明本發(fā)明。
以發(fā)動機(jī)缸體的cae溫度場分析結(jié)果為例,本實施例提供的一種云cae數(shù)據(jù)輕量化的粗化方法,其實施如下:
(1)針對cae幾何模型使用邊坍塌粗化算法減少模型的網(wǎng)格數(shù)量,如圖1所示,具體為:
首先使用基于二次誤差測量準(zhǔn)則的能量泛函最小方法來得到邊坍塌頂點的最佳位置,最佳頂點一般在一個平面附近、兩個平面的交線附近、在超過三個平面的交點附近。
然后計算每條邊坍塌以后對整體模型所造成的體積改變及形狀改變,得到相應(yīng)的體積代價函數(shù)和形狀代價函數(shù),并將兩者相加得到每條邊的總體代價,如式(1)所示。
f(e)=kvf(v)+kεf(ε)(1)
式中,f(v)和f(ε)分別邊的體積代價和形狀代價,kv和kε分別代表體積代價權(quán)值和局部形狀代價權(quán)值。
在得到每條邊的坍塌代價后,將其從小到大的順序進(jìn)行排序,建立邊坍塌先后的優(yōu)先級隊列,并選取坍塌代價最小的邊進(jìn)行邊坍塌操作,一次邊坍塌操作將減少一個頂點、兩個三角形面和三條邊;
然后判斷當(dāng)前坍塌造成的粗化結(jié)果是否達(dá)到預(yù)設(shè)的粗化要求,如果已經(jīng)達(dá)到,則退出粗化處理,如果未達(dá)到,則尋找上一次邊坍塌時對局部哪些邊的坍塌代價產(chǎn)生了影響,更新受影響的邊的坍塌代價,并且更新優(yōu)先級隊列,繼續(xù)進(jìn)行下一條邊的坍塌。
圖4(a)-(c)是按照本發(fā)明的優(yōu)選實施例所構(gòu)建的汽車發(fā)動機(jī)缸體鑄件粗化模型的網(wǎng)格情況;如圖4所示,圖4(a)為原始鑄件模型,圖中網(wǎng)格數(shù)為910644,該模型文件的大小為43.42mb,圖4(b)是經(jīng)過一輪邊坍塌粗化處理以后的溫度場映射云圖,圖中網(wǎng)格數(shù)為91200,模型文件的大小為4.34mb,為原模型的10%(該比例是預(yù)設(shè)的粗化要求),圖4(c)是經(jīng)過兩輪邊坍塌粗化處理以后的溫度場映射云圖,圖中網(wǎng)格數(shù)為9068,模型文件的大小為0.43mb,為原始模型的1%(該比例是預(yù)設(shè)的粗化要求);可以發(fā)現(xiàn),經(jīng)過邊坍塌粗化以后,鑄件的形狀基本沒有發(fā)生改變,但是文件的大小卻減小了99%,一般再復(fù)雜的鑄件,使用粗化處理以后,基本都可以簡化到1mb大小以內(nèi)。
(2)針對粗化以后的不同模型的表面網(wǎng)格進(jìn)行物理場映射
在對幾何模型進(jìn)行粗化以后,還需要對用戶最關(guān)心的物理場數(shù)據(jù)進(jìn)行映射,具體的,首先將cae計算模型的相對坐標(biāo)系轉(zhuǎn)移到粗化模型的世界坐標(biāo)系中去,假設(shè)計算模型坐標(biāo)系為o’-x’y’z’,粗化模型坐標(biāo)系為o-xyz,則轉(zhuǎn)換方法主要分為兩個步驟:
(a)求解兩個模型的最小包絡(luò)六面體,將兩個包絡(luò)六面體的位置方向?qū)?zhǔn),獲得由cae計算坐標(biāo)系到粗化模型坐標(biāo)系的旋轉(zhuǎn)角度εx、εy、εz。
(b)將兩個包絡(luò)六面體的中心對準(zhǔn),將cae計算模型坐標(biāo)系平移到粗化模型坐標(biāo)系與之重合,得到平移向量(δx,δy,δz)。
統(tǒng)一坐標(biāo)系以后,再使用插值函數(shù)對物理場進(jìn)行映射,如圖3所示為插值算法示意圖,設(shè)圖中的虛線為計算模型的原始網(wǎng)格,實線為粗化模型的網(wǎng)格,假設(shè)待求的對象節(jié)點為p,需要映射的溫度場為t,則在半徑為r的球體內(nèi)部的計算模型的節(jié)點數(shù)目為n,第i個節(jié)點到p點的距離為li,則可以用
通過以上的算法即可將計算網(wǎng)格中的物理量映射到粗化模型的網(wǎng)格上,可以讓用戶能夠快速地定性地了解物理量的整體分布。
圖5(a)-(c)是按照本發(fā)明的優(yōu)選實施例所構(gòu)建的汽車發(fā)動初始模型件粗化模型的溫度場分布云圖,如圖5所示,圖5(a)圖為原始鑄件溫度場分布云圖,圖中網(wǎng)格數(shù)為910644;圖5(b)是經(jīng)過一輪邊坍塌粗化處理以后的溫度場映射云圖,圖中網(wǎng)格數(shù)為91200,為原模型的10%(該比例是預(yù)設(shè)的粗化要求),圖5(c)是經(jīng)過兩輪邊坍塌粗化處理以后的溫度場映射云圖,圖中網(wǎng)格數(shù)為9068,為初始模型的1%(該比例是預(yù)設(shè)的粗化要求)??梢钥吹?,經(jīng)過物理場映射算法以后,能夠非常完整的表述溫度場分布,而且精度非常高。一次坍塌粗化以后的溫度場數(shù)據(jù)大小是原始溫度場的10%,但是與原始溫度場相比幾乎沒有任何差別,二次坍塌粗化以后的溫度場雖然只有原始溫度場數(shù)據(jù)大小的1%,但是與原始溫度場相比,差別很小,幾乎可以忽略。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。