国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

圓柱繞流的動態(tài)模擬研究

2015-04-06 06:16趙慧敏
關(guān)鍵詞:矢量圖圓柱應(yīng)用程序

趙慧敏,束 兵

(1.安徽水利水電職業(yè)技術(shù)學(xué)院,安徽 合肥 230009;2.安徽省水利科學(xué)研究院,安徽 合肥 230009)

圓柱繞流存在于航空、土木、水利、海洋等眾多工程領(lǐng)域。因此,對圓柱繞流進(jìn)行深入研究,并且使用合適的方法控制其中的不利因素,減少繞流中的損失,具有很高的工程應(yīng)用價值。

本文利用VB和surfer軟件模擬均勻來流繞固定圓柱的流動生成矢量圖對圓柱繞流問題進(jìn)行可視化顯現(xiàn)及動態(tài)演示。Visual Basic(VB)是以時間驅(qū)動作為運(yùn)行機(jī)制的新一代可視化程序設(shè)計語言[1],具有強(qiáng)大的圖形用戶界面和編譯功能,它的可視化編程環(huán)境的所見即所得功能,使界面設(shè)計變得簡單直觀[2]。

1 基本原理

聯(lián)系VB與Surfer的紐帶是ActiveX。ActiveX自動化(OLE自動化)協(xié)議是一種允許一個應(yīng)用程序(控制端)去控制另一個應(yīng)用程序(服務(wù)器端)的協(xié)議。Surfer軟件提供了ActiveX自動化對象,因而允許VB調(diào)用Surfer的每個功能[3]。

取得圓柱繞流數(shù)值模擬的數(shù)據(jù)后,編程按照Surfer要求的格式自動生成.xls(或.dat)數(shù)據(jù)文件,用VB編譯運(yùn)行環(huán)境啟動Surfer后臺服務(wù),讀取數(shù)據(jù)文件,制作數(shù)據(jù)可視化圖形,再將圖形輸出為一定的圖片格式,最后將圖片下載至應(yīng)用程序界面中相應(yīng)的PictureBox顯示區(qū)動態(tài)顯示。在VB 所生成的界面上點(diǎn)擊各種功能按鈕,不需再手工點(diǎn)擊Surfer 命令,就可完成數(shù)據(jù)網(wǎng)格化、圖形自動生成、圖形動態(tài)演示全部過程。

圖1:動態(tài)模擬工作流程圖

2 圖形的自動生成和顯示

由于 Surfer 支持 ActiveX自動化服務(wù)器端協(xié)議,因而在 VB 應(yīng)用程序中創(chuàng)建了 Surfer的ActiveX對象后就可以使用這個對象所包含的各種方法和屬性來實(shí)現(xiàn)對 Surfer的調(diào)用[5]。在Windows注冊表中,Surfer的ActiveX對象名為

“Surfer.Application”。

Private Sub Command1_Click ()

i = InputBox("請輸入個數(shù)")

For i = 0 To i Step 5

TX (i) = i

'生成 Surfer模塊

Dim SurferApp As Object

SetSurferApp=CreateObject ("Surfer.Application")

SurferApp.Visible = true

'生成一個Surfer繪圖文檔,并指定其變量名為Doc

Dim doc As Object

Set doc = SurferApp.Documents.Add ()

'給變量Plot window指定一個新的繪圖窗口

Dim plotWindows As Object

Set plotWindows = doc.Windows (1)

'設(shè)置路徑

'用克立格法將資料內(nèi)插到格點(diǎn)上

'用.bln文件去掉邊界外的數(shù)據(jù)

retvalue = SurferApp.Gridblank(ingrid:=path +grid1, _

blankfile:=path+"白化文件.bln", outgrid:=path+ grid1)

retvalue = SurferApp.Gridblank(ingrid:=path +grid2, _

blankfile:=path+"白化文件.bln", outgrid:=path+ grid2)

'生成矢量圖,并指定其變量名為mapi

Dim mapi As Object

Set mapi = doc.Shapes.AddVectorMap (path +grid1, path + grid2)

'將矢量圖屬性指定給變量VectorMap

Dim VectorMap As Object

Set VectorMap = mapi.Overlays("Vectors")

'生成基面圖,并指定其變量名為map

Dim bmapi As Object

Set bmapi = doc.Shapes.Addbasemap(path + "圓BLN.bln")

'將等值線圖形屬性指定給變量basemap

Dim basemap As Object

Set basemap = bmapi.Overlays(1)

'將圖形合并

doc.Shapes.SelectAll

Set MapAll = doc.Selection.OverlayMaps

'輸出圖形文件

3 調(diào)控Surfer動態(tài)演示圖形

由于Surfer8.0本身的限制,生成的圖形并不能直接在Surfer8.0動態(tài)顯示,所以要先輸出為其它格式的圖片(例如.bmp),再用VB調(diào)用動態(tài)顯示。當(dāng)然,圖片格式也可以為其它格式,但需要對下列程序中的相應(yīng)部分稍作修改。在VB中新建一窗體Forml,

從中加人Picture和Timer控件,并設(shè)立Picture 1-Autosize-true。

在代碼窗口輸人如下程序代碼:

4 結(jié)束語

從研究結(jié)果來看,當(dāng)均勻來流遇到圓柱時,上下游流速分布的對稱性消失,繞圓柱附近流動的流體,在達(dá)到邊緣中心點(diǎn)之前離開圓柱,在圓柱體后面出現(xiàn)兩個附著渦,渦內(nèi)流體不斷循環(huán),圓柱兩側(cè)交替地發(fā)生旋渦發(fā)射,這種交替發(fā)生的旋渦,導(dǎo)致周期性橫向力的產(chǎn)生,迫使柱體振動,例如大氣繞過高煙囪和高塔設(shè)備流動時,就會使其發(fā)生振動,并有可能造成危險。本文利用 VB和surfer軟件實(shí)現(xiàn)了圓柱繞流問題的可視化及動態(tài)演示,為圓柱繞流問題的研究提供了更為直觀的理論支持,更有利于解決圓柱繞流問題對工程實(shí)際的不利影響。

[1]周靄如, 官士鴻.Visual Basic程序設(shè)計教程[M].北京:清華大學(xué)出版社, 2003.

[2]張樹兵, 戴紅, 陳哲.Visual Basic 6.0 中文版入門與提高[M].北京:清華大學(xué)出版社, 1999.

[3]尼建軍, 張學(xué)宏.Surfer7.0嵌入 VB 6.0編程實(shí)現(xiàn)水文數(shù)據(jù)快速可視化[J].海洋測繪, 2005(1):65-66.

[4]張麗莉, 吳健生, 劉波.地學(xué)三維曲面動態(tài)顯示軟件的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)工程, 2003 (12):13-14.

猜你喜歡
矢量圖圓柱應(yīng)用程序
Analysis of the line current differential protection considering inverter-interfaced generation station and countermeasures
圓柱的體積計算
“圓柱與圓錐”復(fù)習(xí)指導(dǎo)
刪除Win10中自帶的應(yīng)用程序
谷歌禁止加密貨幣應(yīng)用程序
利用矢量圖對小物體從光滑斜面下滑運(yùn)動探討
三星電子將開設(shè)應(yīng)用程序下載商店
鄰域平均法對矢量圖平滑處理
微軟軟件商店開始接受應(yīng)用程序
圓柱表面積的另一種求法