宋艷麗
基于CFD的三維復(fù)雜地形建模技術(shù)研究
宋艷麗
(武漢交通職業(yè)學(xué)院,湖北 武漢430065)
運(yùn)用數(shù)值方法和離散格式,分析穩(wěn)定性、計(jì)算速度和精度等因素對(duì)各種復(fù)雜流動(dòng)的物理現(xiàn)象的影響,以達(dá)到最佳組合,從而準(zhǔn)確高效第解決在不同領(lǐng)域中的復(fù)雜流動(dòng)的計(jì)算問題。文章運(yùn)用CFD仿真模擬復(fù)雜地形氣體擴(kuò)散,或大氣環(huán)境。介紹了地形圖數(shù)據(jù)的提取,具體運(yùn)用Mat1ab對(duì)地形數(shù)據(jù)的處理及如何將地形數(shù)據(jù)導(dǎo)入CFD中,最后運(yùn)用此方法建立了實(shí)際復(fù)雜地形地表的三維模型。證明此方法簡(jiǎn)單適用,可對(duì)復(fù)雜地形氣體擴(kuò)散數(shù)值模擬提供很大的幫助。
仿真;三維地形圖;插值;CFD
CFD軟件設(shè)計(jì)的思想,從用戶需求角度出發(fā),針對(duì)各種復(fù)雜流動(dòng)的物理現(xiàn)象,采用不同的離散格式和數(shù)值方法,以期在特定的領(lǐng)域內(nèi)使計(jì)算速度、穩(wěn)定性和精度等方面達(dá)到最佳組合,從而高效率地解決各個(gè)領(lǐng)域的復(fù)雜流動(dòng)計(jì)算問題?;谏鲜鏊枷?,CFD開發(fā)了適用于各個(gè)領(lǐng)域的流動(dòng)模擬軟件,這些軟件能夠模擬流體流動(dòng)、傳熱傳質(zhì)、化學(xué)反應(yīng)和其它復(fù)雜的物理現(xiàn)象,軟件之間采用了統(tǒng)一的網(wǎng)格生成技術(shù)及共同的圖形界面,而各軟件之間的區(qū)別僅在于應(yīng)用的背景不同,因此大大方便了用戶。在運(yùn)用CFD仿真模擬復(fù)雜地形氣體擴(kuò)散,或大氣環(huán)境時(shí)。很難建立非常精確的地形圖,往往要經(jīng)過一定的處理,建立與實(shí)際地形非常相似的地形圖。文章將對(duì)如何在CFD中建立三維復(fù)雜地形進(jìn)行討論。
將地物和地貌中的空間實(shí)體用對(duì)應(yīng)的水平位置和高程來表示。水平位置用在水平面上的正投影表示,高程用特征點(diǎn)和特征線的高程表示。地物或地貌在水平面上投影用X和Y用來表示,高程用Z表示,從而得到三維數(shù)值地形圖。
地形圖數(shù)據(jù)的獲取有以下幾種方法:
(1)把紙質(zhì)地形圖劃分成四方網(wǎng)格,標(biāo)出所有網(wǎng)格交點(diǎn)的三維坐標(biāo)。此方法的弊端:當(dāng)?shù)匦螆D太大太復(fù)雜,人工輸入太煩瑣,效率不高。
(2)運(yùn)用CAD2004配合CASS6.1提取地形圖的坐標(biāo)。
MATLAB運(yùn)用人們比較容易記住的代碼編程,解決各種學(xué)科中比較復(fù)雜的數(shù)學(xué)問題。并且開發(fā)出工各種程軟件,大大提高了工作的效率。數(shù)字高程模型(DEM)的優(yōu)勢(shì)顯而易見。CASS6.1提取的坐標(biāo)值非規(guī)則矩陣,在CFD中不能被識(shí)別,故需利用Matlab對(duì)其進(jìn)行處理。
2.1數(shù)據(jù)讀入
Matlab有兩種數(shù)據(jù)讀入方式:文件輸入或屏幕數(shù)字化。本研究運(yùn)用文件輸入方式。例如現(xiàn)有某山區(qū)復(fù)雜三維地形三維離散點(diǎn)坐標(biāo)的txt文件。
(1)將原始坐標(biāo)點(diǎn)文件用Load命令輸入到Matlab中,得到以點(diǎn)的個(gè)數(shù)為行,以x、y、z為列的矩陣,但不便于插值運(yùn)算。
(2)按列提取上述矩陣,格式為:x=xyz(:,1);y=xyz(:,2);z=xyz(:,3),分別得到x、y、z的矩陣。
2.2Matlab三維插值
(1)運(yùn)用meshgrid函數(shù)計(jì)算網(wǎng)格坐標(biāo)矩陣,格式為:
[xx,yy]=meshgrid(xlin,ylin)。
(2)運(yùn)用插值函數(shù)griddata計(jì)算網(wǎng)格點(diǎn)坐標(biāo),格式為:
zz=griddata(x,y,z,xx,yy,‘cubic’),其中‘cubic’表示三次樣條插值算法。
(3)運(yùn)用Linspace函數(shù)計(jì)算x坐標(biāo)數(shù)組,格式為:
xlin=linspace(min(x),max(x),256),y坐標(biāo)數(shù)組類似。
(4)繪制三維網(wǎng)格圖如圖1所示,格式為:
mesh(X,Y,Z)
axis tight;hold on%打開坐標(biāo)軸。
plot3(x,y,z,'.','MarkerSize',15)%繪制三維曲線圖。
圖1 插值后的三維地形網(wǎng)格圖
(5)生成成xyz的矩陣坐標(biāo),矩陣為120行120列,程序?yàn)椋?/p>
for i=0:n
xyz(1+i*120:120+i*120,1)=X(1:120,1+i);
xyz(1+i*120:120+i*120,2)=Y(1:120,1+i);
xyz(1+i*120:120+i*120,3)=Z(1:120,1+i);
end
(6)圖幅邊界處理。在大于圖幅坐標(biāo)范圍內(nèi)收集離散點(diǎn)的信息,從而保證在邊界處的網(wǎng)格點(diǎn)內(nèi)插值的準(zhǔn)確性。函數(shù)find查找超出圖幅邊界的網(wǎng)格點(diǎn),函數(shù)nnz求取其個(gè)數(shù),但不繪制圖幅外的等高線。
(7)保存生成的xyz,矩陣坐標(biāo)為.txt格式,NaN輸為0,再保存。
在Matlab中生成具有特定的格式的txt文件,如果一個(gè)3行3列的三維數(shù)據(jù)地形為2,2,1;2,4,2;2,6,4;4,2,3;4,4,6;4,6,5;6,2,2,6,4,3;6,6,5。其在記事本中的格式如下:
3 3
2 2 1
2 4 2
2 6 4
4 2 3
4 4 6
4 6 5
6 2 2
6 4 3
6 6 5
圖2 劃分網(wǎng)格的簡(jiǎn)單地形圖曲面
第一行包括行數(shù)和列數(shù),每行是一個(gè)三維坐標(biāo),數(shù)值之間需用空格隔開,將txt文件導(dǎo)入File/Improt/ICEM Input…,生成三維地形,在一個(gè)完整面的地形途中進(jìn)行網(wǎng)格劃分,如圖2所示。
現(xiàn)有重慶開縣井噴地點(diǎn)地形圖如圖3所示,通過上述方法建立地表三維實(shí)體模型,模型大小為10000m×10000m× 1300m,井口在模型正中間。
圖3 地形圖
是以井口中心為原點(diǎn),Z坐標(biāo)以海拔0m為起點(diǎn)。文章通過Matlab插值,把10000m×10000m的地形圖生成90×90的三維坐標(biāo)矩陣,這個(gè)三維矩陣存在一個(gè)txt中。地形的最低點(diǎn)海拔為0m,最高點(diǎn)海拔1300m。村莊、路、小河、農(nóng)田、山等的標(biāo)識(shí)可以等到仿真后統(tǒng)一標(biāo)注。圖4是在CFD中生成的復(fù)雜地形三維地表模型。
圖4 CFD中生成的復(fù)雜地形三維表模型
復(fù)雜山地地形模型可以說是仿真計(jì)算中最復(fù)雜的模型之一。文章探討了在CFD中復(fù)雜地形三維建模方法,介紹了地形圖數(shù)據(jù)的提取,具體運(yùn)用Matlab對(duì)地形數(shù)據(jù)的處理及如何將地形數(shù)據(jù)導(dǎo)入CFD中,最后運(yùn)用此方法建立了實(shí)際復(fù)雜地形地表的三維模型。證明此方法簡(jiǎn)單適用,有很大的使用價(jià)值。
[1]徐青.地形三維可視化技術(shù)「M].北京:北京測(cè)繪出版社,2000.
[2]陳天偉.應(yīng)用Mat1ab構(gòu)造數(shù)字高成模型工具箱[J].桂林工學(xué)院學(xué)報(bào),2003,23(4):453-456.
[3]陳天偉.建立基于MATLAB的測(cè)量控制網(wǎng)設(shè)計(jì)工具箱[J].桂林工學(xué)院學(xué)報(bào),2002,22(3):244-245.
[4]張宜華.精通MATLAB5[M].北京:清華大學(xué)出版社,2000.
[5]王漢清,沈小建,等.復(fù)雜山地大氣環(huán)境三維建模與仿真方法[J].建筑熱能通風(fēng)空調(diào),2006,25(2):13-16.
Study on Complex Three-dimensional Terrain Modeling Technology Based on CFD
SONG Yan-li
(Wuhan Transportation Vocational College,Wuhan,Hubei 430065,China)
Using the numerica1 method and discrete format,inf1uence of stabi1ity,computing speed and accuracy on the physica1 phenomena of various comp1ex f1ow are ana1yzed to achieve the best combination,thus so1ving the comp1ex f1ow computationa1 prob1ems in different fie1ds.In this paper,the CFD simu1ation is used to simu1ate comp1ex terrain gas diffusion or atmospheric environment.Topographic map data extraction is introduced,using Mat1ab to process terrain data and 1oad terrain data into CFD,fina11y using this method to estab1ish the rea1 3D mode1 of the comp1ex terrain surface.It is proved that this method is simp1e and app1icab1e,and can provide numerica1 simu1ation of gas diffusion in comp1ex terrain.
simu1ation;three-dimensiona1 topographic map;interpo1ation;CFD
P221
A
2095-980X(2016)03-0052-02
2016-02-19
宋艷麗(1981-),女,山東濟(jì)寧人,碩士研究生,講師。