999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MATLAB和CFD數(shù)據(jù)庫的流場可視化的實現(xiàn)

2019-09-10 07:22:44晏暢
河南科技 2019年2期
關(guān)鍵詞:可視化數(shù)據(jù)庫

晏暢

摘 要:CFD(計算流體動力學(xué))中的數(shù)值運(yùn)算結(jié)果可視化后處理是數(shù)值模擬的重要組成之一。MATLAB是一種用途較為廣泛的開發(fā)工具,其圖形功能十分強(qiáng)大,做到運(yùn)算結(jié)果可視化十分方便。本文闡述了用MATLAB訪問數(shù)據(jù)庫的方式及流場繪制方式,利用MATLAB開發(fā)出了基于CFD數(shù)據(jù)庫的流場可視化程序,并且使用開發(fā)的流場可視化程序依據(jù)后臺階流動的數(shù)值運(yùn)算結(jié)果繪制了后臺階流動的流場,繪圖實例能較為準(zhǔn)確地反映流場局部的細(xì)節(jié)。

關(guān)鍵詞:數(shù)據(jù)庫;流場;可視化;計算流體力學(xué);MATLAB

中圖分類號:TP391;TK32 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-5168(2019)02-0017-03

Realization of Flow Visualization Based on MATLAB and CFD Database

Abstract: Visualization post-processing of numerical operation results in CFD (Computational Fluid Dynamics) is one of the important components of numerical simulation. MATLAB is a widely used development tool. Its graphics function is very powerful and visualization of operation results is very convenient. In this paper, the way of accessing database by MATLAB and drawing flow field were described. A flow visualization program based on CFD database was developed by using MATLAB. The flow field of back-step flow was plotted by using the developed flow visualization program according to the numerical calculation results of back-step flow. The drawing example can reflect the local details of the flow field more accurately.

Keywords: database;flow field;visualization;computational fluid dynamics;MATLAB

隨著計算流體力學(xué)的高速發(fā)展,現(xiàn)在已可以使用高檔微機(jī)來對大型動力設(shè)備采取數(shù)值運(yùn)算。依據(jù)數(shù)值運(yùn)算的結(jié)果實行大型動力設(shè)備中的流場可視化是作為改良動力設(shè)備構(gòu)造和提升動力設(shè)備性能的關(guān)鍵方法。流場可視化對理解復(fù)雜的流體機(jī)制具有重要作用。流場可視化涉及計算機(jī)圖形處理、計算機(jī)圖像處理學(xué)、計算機(jī)程序設(shè)計及計算機(jī)輔助設(shè)計等知識,實現(xiàn)起來比較困難。市場上能購買到的實現(xiàn)流場可視化的相關(guān)產(chǎn)品,不但針對CFD(計算流體動力學(xué))開發(fā)得很少,并且價格比較貴,所以,自主開發(fā)是當(dāng)前情況下值得考慮的方法。其最大的困難就是短期內(nèi)不易掌握相關(guān)領(lǐng)域和學(xué)科的技術(shù)與知識,所以,為了實現(xiàn)自主開發(fā)這個目標(biāo),選用合適的開發(fā)工具將起到關(guān)鍵作用[1]。

1 流場相關(guān)數(shù)據(jù)庫

為了模擬突擴(kuò)通道的輪廓,要為流場限定邊界。系統(tǒng)在進(jìn)行流線圖繪制時,要用一系列坐標(biāo)點限定流線的邊界,這些坐標(biāo)點的坐標(biāo)即為邊界數(shù)據(jù),保存在名為“boundary.mdb”的Access數(shù)據(jù)庫中。數(shù)據(jù)庫中的字段“x”對應(yīng)主界面坐標(biāo)系的橫坐標(biāo),字段“y”對應(yīng)主界面坐標(biāo)系的縱坐標(biāo),通過函數(shù)繪制的流線從起始點到中間部分再到結(jié)束點都應(yīng)位于邊界范圍內(nèi),數(shù)據(jù)表如表1。

要使用本系統(tǒng)繪制流線,需要提供所繪制的流線所處流場中各點的位置坐標(biāo)及每個點對應(yīng)的橫向速度矢量和縱向速度矢量,這些數(shù)據(jù)保存在名為“flow field.mdb”的Access數(shù)據(jù)庫中。數(shù)據(jù)庫中的字段“x”對應(yīng)主界面坐標(biāo)系的橫坐標(biāo),字段“y”對應(yīng)主界面坐標(biāo)系的縱坐標(biāo),字段“u”對應(yīng)相應(yīng)坐標(biāo)點的橫向速度矢量,字段“v”對應(yīng)相應(yīng)坐標(biāo)點的縱向速度矢量[2],其數(shù)據(jù)表如表2。

2 基于MATLAB的數(shù)據(jù)庫連接與訪問

本文使用ODBC機(jī)制訪問數(shù)據(jù)庫。ODBC(開放式數(shù)據(jù)庫的連接)是一種底層訪問技術(shù),應(yīng)用程序通過ODBC的API(應(yīng)用程序的接口)從底層連接和訪問數(shù)據(jù)庫。

2.1 數(shù)據(jù)源的配置

在使用ODBC機(jī)制訪問數(shù)據(jù)庫之前,應(yīng)首先配置ODBC源。數(shù)據(jù)源配置的基本步驟如下。

①通過Windows中的控制面板進(jìn)入“管理工具”,選擇管理工具中的“數(shù)據(jù)源(ODBC)”雙擊,進(jìn)入“ODBC數(shù)據(jù)源管理器”,或者在運(yùn)行中鍵入odbc32.exe命令直接啟動ODBC數(shù)據(jù)源管理器。ODBC數(shù)據(jù)源存儲了與指定的數(shù)據(jù)提供程序連接的信息。

②在“用戶DNS”面板中列出系統(tǒng)中MS Access Database、Excel、 Files、DBASE Files等用戶數(shù)據(jù)源。

③點擊“添加”按鈕,創(chuàng)建新的數(shù)據(jù)源,并為數(shù)據(jù)源選擇相應(yīng)的驅(qū)動程序,本例中選擇Driver Do Microsoft Acess(*.Mdb),點擊“完成”進(jìn)入相應(yīng)數(shù)據(jù)庫的安裝對話框,并將相應(yīng)的數(shù)據(jù)庫作為數(shù)據(jù)源。本文選擇的是FlowField.mdb,數(shù)據(jù)源名為FlowField。

2.2 數(shù)據(jù)庫的連接

MATLAB對數(shù)據(jù)庫的操作,需要先獲得數(shù)據(jù)庫的句柄,然后通過MATLAB函數(shù)來操作[3]。

conn=database('datasourcename', 'username', 'password');

通過database語句來獲得數(shù)據(jù)庫的句柄,返回一個連接對象給conn。

其中,datasourcename是數(shù)據(jù)源名,username是數(shù)據(jù)庫的用戶名,password是數(shù)據(jù)庫的密碼。

2.3 數(shù)據(jù)庫的查詢

訪問數(shù)據(jù)庫之前,需要先獲取游標(biāo)。

cursor = exec(conn,'sqlquery');

其中,sqlquery是有效的SQL語句,其通過數(shù)據(jù)庫連接對象conn執(zhí)行SQL語句,并返回一個游標(biāo)給變量cursor。

cursor = fetch(cursor,RowLimit);

fetch從打開的SQL游標(biāo)中獲得數(shù)據(jù);RowLimit是一個可選項,表示取數(shù)據(jù)庫的最大行數(shù),缺省為取得所有數(shù)據(jù)。

Data= cursor.Data;%把讀取到的數(shù)據(jù)用變量Data保存。

3 MATLAB的流場可視化

MATLAB提供了科學(xué)計算的可視化函數(shù),利用這些函數(shù),可以繪制流場圖。MATLAB繪制二維流場圖的函數(shù)為:quiver(X,Y,U,V)。該函數(shù)可以繪制二維矢量的流場圖。其中,(U,V)是二維速度矢量,(X,Y)是(U,V)的坐標(biāo)。輸出參數(shù)是一個向量,向量里存儲著流場的句柄。

4 編程實例

后臺階流動是CFD中的一個典型算例,流動的基本特征明確,回流長度可用于定量檢驗流場算法精度。故本文選擇后臺階流動作為計算實例來檢驗CIMPLE算法 [4]的有效性。計算條件為:Re=133,計算長度取8m,計算高度取2m,劃分G網(wǎng)格400×100=40 000個,計算步長[Δx=0.02m,Δy=0.02m]。

計算區(qū)域流場可視化程序如下:

clear all;

function Untitled_6_Callback(hObject, eventdata, handles)

[~,~,raw]=xlsread('Database name.xls');

for i=1:numel(raw)

if isnan(raw{i})

raw{i}='';

end

end

Str_Table=raw{2,2};

connA=database(Str_Table,'','');

Sql='Select x,y,u,v from flow field order by x,y';

ping(connA);

cursorA=exec(connA,Sql);

cursorA=fetch(cursorA);

AA=cursorA.Data;

close(cursorA);

close(connA);

m=size(AA,1);

for i=1:m

x(i)=AA{i,1};

y(i)=AA{i,2};

u(i)=AA{i,3};

v(i)=AA{i,4};

end

Str_Table=raw{2,3};

connA=database(Str_Table,'','');

Sql='Select ID,x,y from boundary order by ID';

ping(connA);

cursorA=exec(connA,Sql);

cursorA=fetch(cursorA);

AA=cursorA.Data;

close(cursorA);

close(connA);

m=size(AA,1);

for i=1:m

a(i)=AA{i,2};

b(i)=AA{i,3};

end

plot(a,b,'k');

hold on;

axis( [0 10 0 2]);

set(gca, 'YDir','reverse');

dx=0.02;

dy=0.02;

l=5;

h=30;

c=max(x)+1;

d=max(y)+1;

e=(d+1)/2;

A=reshape(x,d,c);

B=reshape(y,d,c);

C=reshape(u,d,c);

D=reshape(v,d,c);

X=2+dx*A(1:l:d,1:h:c);

Y=dy*B(1:l:d,1:h:c);

U=C(1:l:d,1:h:c);

V=D(1:l:d,1:h:c);

h=quiver(X,Y,U,V,1.5);

set(h,'color','black')

計算區(qū)域流場圖如圖1所示。從圖1可知,繪圖實例能比較清楚地反映流場的局部細(xì)節(jié),直觀效果能滿足工程上的要求。從圖1可以看出,在靠近進(jìn)口的臺階處存在一個漩渦,回流長度約為4m,這說明本文的計算結(jié)果能反映后臺階流動的基本特征。這也證明CIMPLE算法具有較高的精度。

5 結(jié)論

①充分利用數(shù)據(jù)庫強(qiáng)大的數(shù)據(jù)訪問能力和MATLAB強(qiáng)大的數(shù)據(jù)可視化能力,根據(jù)數(shù)據(jù)庫中CFD計算數(shù)據(jù)繪制計算區(qū)域的流場圖,提高了數(shù)值計算結(jié)果的分析效率,對建立高性能的CFD算法和理解復(fù)雜的流體機(jī)制具有十分重要的作用。

②通過數(shù)據(jù)庫中建立好的查詢,可以實現(xiàn)顯示程序與顯示數(shù)據(jù)的分離,開發(fā)軟件的適用性較好。

參考文獻(xiàn):

[1]張小軍,田遐,劉祖源.MATLAB在CFD計算結(jié)果可視化方面的應(yīng)用[J].武漢理工大學(xué)學(xué)報(交通科學(xué)與工程版),2004(1):126-128.

[2]蔡群,周美蓮,段杰峰,等.基于MATLAB分布式工具箱的流場計算及其可視化[J].計算機(jī)技術(shù)與發(fā)展,2007(9):51-54.

[3]魯大營,朱登明,王兆其.流場可視化的最優(yōu)視點選擇方法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2017(12):2281-2287.

[4]楊官平,胡滿銀,高香林,等.求解壓力耦合方程的全隱算法:CIMPLE算法[J].中國電機(jī)工程學(xué)報,1999(4):41-45.

猜你喜歡
可視化數(shù)據(jù)庫
自然資源可視化決策系統(tǒng)
北京測繪(2022年6期)2022-08-01 09:19:06
思維可視化
師道·教研(2022年1期)2022-03-12 05:46:47
基于Power BI的油田注水運(yùn)行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
自然資源可視化決策系統(tǒng)
北京測繪(2021年7期)2021-07-28 07:01:18
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 欧美成人免费午夜全| 国产欧美精品专区一区二区| 国产成人1024精品| 欧美一道本| 国产第一色| 亚洲成人77777| 日本欧美午夜| 97国产在线播放| 亚洲AV无码乱码在线观看裸奔| 久久一色本道亚洲| 在线播放真实国产乱子伦| 多人乱p欧美在线观看| 亚洲视频色图| 人妻丰满熟妇αv无码| 亚洲天堂啪啪| 亚洲精品波多野结衣| 九九九九热精品视频| 精品视频一区二区观看| 国产精品55夜色66夜色| 国产成人综合久久精品下载| 国产成人在线小视频| 白浆免费视频国产精品视频| 久久免费观看视频| 国产精品尤物铁牛tv | 国产91特黄特色A级毛片| 天天综合网色| 伊伊人成亚洲综合人网7777| 国产综合日韩另类一区二区| 日韩精品无码不卡无码| 少妇高潮惨叫久久久久久| 激情无码视频在线看| 国产69精品久久久久孕妇大杂乱| 精品久久久久久久久久久| 国产精品女熟高潮视频| 国产麻豆aⅴ精品无码| 国产精品视频导航| 欧美区一区二区三| 在线观看av永久| 99精品在线看| 人人澡人人爽欧美一区| av在线无码浏览| 日韩欧美国产综合| 97成人在线观看| 欧美综合中文字幕久久| 欧美亚洲欧美区| 国产jizz| 日本成人一区| 国产精品久久久久久久久kt| 无码人妻热线精品视频| 亚洲精品日产精品乱码不卡| 久久国产乱子| 日本免费新一区视频| 欧美自拍另类欧美综合图区| 日韩国产无码一区| 在线国产资源| 精品国产女同疯狂摩擦2| 国产高清毛片| 狠狠综合久久久久综| 尤物国产在线| 国产成人免费视频精品一区二区| 人妻丰满熟妇AV无码区| 国模私拍一区二区三区| 亚洲精品va| 国产福利免费视频| 国产小视频a在线观看| 日韩激情成人| 亚洲成年人片| 国产毛片基地| 先锋资源久久| 国产aⅴ无码专区亚洲av综合网 | 色偷偷综合网| 成·人免费午夜无码视频在线观看 | 人妻中文字幕无码久久一区| 亚洲欧洲日产国产无码AV| 欧美色亚洲| 欧美成人精品高清在线下载| 亚洲欧美国产视频| 国产女同自拍视频| 毛片免费在线视频| 免费无码在线观看| 亚洲中文精品人人永久免费| igao国产精品|