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

?

基于C#語(yǔ)言河流模擬數(shù)據(jù)處理軟件的開(kāi)發(fā)與應(yīng)用

2021-10-22 01:37蘇曉慧曹勇吳海亮
河南水利與南水北調(diào) 2021年8期
關(guān)鍵詞:滯洪區(qū)水深后處理

蘇曉慧,曹勇,吳海亮

(1.黃河水利科學(xué)研究院,河南 鄭州 450003;2.黃河勘測(cè)規(guī)劃設(shè)計(jì)研究院有限公司,河南 鄭州 450003)

1 前言

近年來(lái),隨著國(guó)內(nèi)沿河城市社會(huì)經(jīng)濟(jì)的快速發(fā)展,無(wú)論是防洪保護(hù)區(qū)、灘區(qū)或蓄滯洪區(qū),防洪保安的任務(wù)和需求都與日俱增,對(duì)于洪水預(yù)報(bào)的準(zhǔn)確性和實(shí)時(shí)性,提出了更高的要求。利用一維或二維水力學(xué)計(jì)算模型進(jìn)行洪水預(yù)報(bào),建立相應(yīng)的預(yù)警機(jī)制,是開(kāi)展洪水風(fēng)險(xiǎn)管理、災(zāi)情評(píng)估、應(yīng)急決策的重要手段。

平面二維水流模型能夠計(jì)算出防洪工程、蓄滯洪區(qū)的流速和水深分布,在洪水預(yù)報(bào)、洪水風(fēng)險(xiǎn)圖、防洪影響評(píng)價(jià)等工作中得到了廣泛應(yīng)用。MIKE21模型是丹麥水力研究所(DHI)開(kāi)發(fā)的平面二維自由表面流模型,可以通過(guò)選定不同的模塊,進(jìn)行不同對(duì)象的模擬研究,用于水流、水質(zhì)、波浪等二維水力學(xué)現(xiàn)象的研究。目前,Mike21模型已被國(guó)內(nèi)多個(gè)水利科研和設(shè)計(jì)單位購(gòu)買,廣泛應(yīng)用在生產(chǎn)實(shí)踐中的防洪影響評(píng)價(jià)、洪水風(fēng)險(xiǎn)圖等項(xiàng)目中。

Mike21模型可以自由靈活地設(shè)置多種不同的邊界條件,快速解決工作中的實(shí)際問(wèn)題。但該軟件的前處理過(guò)程相對(duì)繁瑣,需要將計(jì)算范圍線和地形點(diǎn)高程的文件從AutoCAD中提取出來(lái),經(jīng)處理后才能導(dǎo)入模型;后處理導(dǎo)出的形式比較單一,很難將流場(chǎng)、水深圖導(dǎo)出至CAD圖的原坐標(biāo)位置,還需要其他軟件的輔助,過(guò)程比較繁瑣。

為了解決Mike21模型在河流洪水模擬中的實(shí)際問(wèn)題,更好地做好前處理和后處理相關(guān)工作,基于C#語(yǔ)言開(kāi)發(fā)了河流數(shù)值模擬數(shù)據(jù)處理程序,可以顯著提高前處理的工作效率,使得后處理計(jì)算成果的展現(xiàn)形式更加豐富。

2 Mike21模型及相關(guān)研究工具簡(jiǎn)介

2.1 Mike21水動(dòng)力模型簡(jiǎn)介

Mike21水流模型具體包括水動(dòng)力、水質(zhì)、泥沙等功能模塊,其中水動(dòng)力模塊處于核心位置,是所有其他模塊運(yùn)行的基礎(chǔ)。此次研究的重點(diǎn)就是Mike21的水動(dòng)力模塊。

天然水流的模擬是復(fù)雜的,用三維方程來(lái)模擬研究是合適的。但對(duì)于一般河道來(lái)說(shuō),由于水深方向比平面上的研究尺寸要小得多,物理量沿水深的分布可以忽略不計(jì),壓力分布與靜壓假定十分接近,故可以采用沿水深方向平均的平面二維水流數(shù)學(xué)模型模擬計(jì)算河道流場(chǎng),既簡(jiǎn)化了水流運(yùn)動(dòng)基本方程,也能模擬水面的變化。

2.2 Mike21洪水模型構(gòu)建步驟

與其他洪水模型建立過(guò)程相似,Mike21洪水模型構(gòu)建主要分成三大步:前處理、模型計(jì)算、后處理。

前處理過(guò)程主要包括:網(wǎng)格剖分、地形高程點(diǎn)提取、高程插值,生成地形文件等;模型計(jì)算過(guò)程包括:導(dǎo)入地形文件、確定邊界及初始條件、糙率的率定、模型的搭建、設(shè)定模型輸出等;后處理就是依據(jù)模型計(jì)算的結(jié)果,生成流場(chǎng)圖、水深圖,通過(guò)分析計(jì)算得出科學(xué)的結(jié)論。

2.3 DHI Mike.net開(kāi)發(fā)接口

DHI Mike提供了.net開(kāi)發(fā)接口,包含兩部分,一為Mike SDK,二為開(kāi)發(fā)接口位于用戶計(jì)算機(jī)Windows文件夾下的Microsoft.net的assembly子文件夾中,在該文件夾下面提供了較多的.net API,包括了DFS.net API、PFS.net API、MHydro.net API、Mike1D.net API等。

其中DFS.net API是一套用于讀取、修改和創(chuàng)建DFS文件的接口類,Dfsfilefactory類提供了打開(kāi)了現(xiàn)有DFS文件的方法,目前支持打開(kāi)dfs1、dfs2、dfs3、dfsu等類型的文件。

Mike21的計(jì)算成果文件為dfsu文件,可以通過(guò)引用Dfsfilefactory類打開(kāi)計(jì)算成果文件,從中可以讀取到網(wǎng)格節(jié)點(diǎn)和單元信息,以及不同計(jì)算時(shí)段的水深、流速等數(shù)據(jù)。

2.4 AutoCAD二次開(kāi)發(fā)技術(shù)

在我國(guó)大多數(shù)的測(cè)繪成果都是AutoCAD文件,在CAD中數(shù)據(jù)一般按地形要素分圖層保存,高程數(shù)據(jù)包括了高程散點(diǎn)和等高線。為了生成Mike21模型能夠識(shí)別的固定格式的地形文件,需要將這些高程散點(diǎn)和等高線的X、Y、Z值都提取出來(lái),盡可能提取更多的地形數(shù)據(jù)來(lái)表征地形地貌的變化。同時(shí),計(jì)算范圍線的提取也非常重要,需要在CAD中將其描繪出來(lái),提取數(shù)據(jù)后生成固定格式的文件。

從AutoCAD將這些地形要素批量化快速導(dǎo)出時(shí),需運(yùn)用CAD二次開(kāi)發(fā)技術(shù)。目前,較為常見(jiàn)的AutoCAD二次開(kāi)發(fā)的方式,即AutoLISP、ADS、Object ARX 和ActiveX Automation。其中,ActiveX Automation作為微軟公司統(tǒng)一的技術(shù)標(biāo)準(zhǔn),其工作原理的核心是允許不同軟件之間通過(guò)暴露對(duì)象,達(dá)到相互控制和操作的目標(biāo)。ActiveX技術(shù)是面向?qū)ο?,大多?shù)面向?qū)ο蠡幊痰恼Z(yǔ)言和應(yīng)用程序,都能利用ActiveX接口與AutoCAD 進(jìn)行通信,實(shí)現(xiàn)所需的定制功能。本文基于C#編程語(yǔ)言,利用ActiveX技術(shù)對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā)。

2.5 Visual Studio C#的開(kāi)發(fā)環(huán)境

C#(C Sharpe)是由微軟公司開(kāi)發(fā)的一種面向?qū)ο蟆⑦\(yùn)行于NET Framework框架上的高級(jí)編程語(yǔ)言。它具有上手速度快、功能強(qiáng)大、數(shù)據(jù)類型安全等特點(diǎn),將 VB 簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率整合起來(lái),是進(jìn)行NET開(kāi)發(fā)的首選語(yǔ)言。本次選用的開(kāi)發(fā)工具是Visual Studio Community 2019,是微軟公司針對(duì)個(gè)人用戶而開(kāi)發(fā)的免費(fèi)版本,其功能和專業(yè)版相差不大。

3 河流模擬數(shù)據(jù)處理軟件開(kāi)發(fā)

3.1 開(kāi)發(fā)環(huán)境配置

在Visual Studio環(huán)境下,新建C#的Windows窗體應(yīng)用程序,并將其命名為“河流模擬數(shù)據(jù)處理程序”,如圖1所示。

圖1 創(chuàng)建新的窗體應(yīng)用程序圖

在編輯器右側(cè)的解決方案資源管理器中,在通過(guò)“添加引用”,搜索并添加DHI.Generic.MikeZero.DFS.dll、Interop.AutoCAD.dll和Interop.AXDBLib.dll,在代碼編輯頁(yè)面,寫入以下代碼:

using AutoCAD;

using AXDBLib;

using DHI.Generic.MikeZero.DFS.dfsu;

以上代碼可將程序所需要的模塊導(dǎo)入,引入命名空間,完成程序開(kāi)發(fā)環(huán)境的配置,繼而正式開(kāi)始應(yīng)用程序開(kāi)發(fā)。

3.2 前處理功能設(shè)計(jì)

前處理主要實(shí)現(xiàn)4個(gè)功能需求:①打開(kāi)CAD文件,如果已經(jīng)打開(kāi)文件,則顯示已打開(kāi)文件的名稱;②提取高程散點(diǎn)對(duì)象,包括了多行文字、單行文字和塊文字等的插入點(diǎn)坐標(biāo)和高程值;③提取等高線對(duì)象,包括多段線、三維多段線上點(diǎn)坐標(biāo)和標(biāo)高值;④提取計(jì)算范圍線節(jié)點(diǎn)坐標(biāo)。

進(jìn)行前處理模塊各個(gè)功能代碼編寫時(shí),需要首先聲明全局變量AutoCAD.AcadApplication AcadApp和AutoCAD.AcadDocument AcadDoc,其中AcadApplication是CAD 對(duì)象接口,AcadDocument是CAD 文件。

3.3 后處理功能設(shè)計(jì)

后處理主要實(shí)現(xiàn)5個(gè)功能需求:①打開(kāi)Mike21的計(jì)算成果文件;②通過(guò)輸入計(jì)算時(shí)段,生成水深分布圖;③通過(guò)輸入計(jì)算時(shí)段,生成流速分布圖;④通過(guò)輸入任意點(diǎn)的坐標(biāo),獲取該點(diǎn)計(jì)算過(guò)程中的水深變化過(guò)程線;⑤通過(guò)輸入任意點(diǎn)的坐標(biāo),獲取該點(diǎn)計(jì)算過(guò)程中的流速變化過(guò)程線。

編寫代碼時(shí),首先將using DHI.Generic.MikeZero.DFS.dfsu寫入,引入命名空間,并新建一個(gè)ReadingDfsuFile方法。該軟件的界面設(shè)計(jì)如圖2所示。

圖2 后處理功能模塊界面設(shè)計(jì)圖

4 在北金堤蓄滯洪區(qū)影響評(píng)價(jià)中的應(yīng)用

4.1 項(xiàng)目背景

濮陽(yáng)-范縣-臺(tái)前輸氣管道工程地處濮陽(yáng)市境內(nèi),大部分位于北金堤蓄滯洪區(qū),其總體布置:自濮陽(yáng)縣中開(kāi)輸氣管線濮陽(yáng)分輸站起,向東穿越S101省道,穿過(guò)金堤河、晉中南鐵路、范輝高速后沿東北方向敷設(shè),在范縣縣城南邊進(jìn)入范縣分輸站(新建),出站后向東南方向敷設(shè),沿S101省道敷設(shè)至臺(tái)前縣城西邊的臺(tái)前末站(新建)。根據(jù)《中華人民共和國(guó)防洪法》,在洪泛區(qū)、蓄滯洪區(qū)內(nèi)建設(shè)非防洪建設(shè)項(xiàng)目,需編制洪水影響評(píng)價(jià)報(bào)告。為了研究工程修建前后,北金堤蓄滯洪水區(qū)的洪水演進(jìn)的變化情況,利用Mike21模型進(jìn)行了數(shù)值模擬。

4.2 北金堤蓄滯洪區(qū)基本情況

北金堤滯洪區(qū)是我國(guó)較大的滯洪區(qū)之一,位于黃河下游高村~陶城鋪寬河段,在黃河左岸大堤與北金堤的夾角地帶。

北金堤滯洪區(qū)的淹沒(méi)范圍涉及河南省新鄉(xiāng)市長(zhǎng)垣縣、安陽(yáng)市滑縣,濮陽(yáng)市的濮陽(yáng)縣、范縣、臺(tái)前縣以及山東省莘縣、陽(yáng)谷縣。全區(qū)西南至東北,上寬下窄,狀如羊角,長(zhǎng)171 km,南北最寬處為40 km,最窄處約7 km,滯洪區(qū)內(nèi)地勢(shì)西高東低,平均比降1/5 000,上游平均高程57.60 m,下游平均高程41.40 m,滯洪區(qū)總面積2 918 km2,蓄滯洪水量為20億m3。

4.3 前處理數(shù)據(jù)提取

通過(guò)已編譯好的河流模擬數(shù)據(jù)處理軟件,打開(kāi)所要提取數(shù)據(jù)的CAD文件,分別點(diǎn)擊提取高程點(diǎn)、提取等高線和提取范圍線即可完成數(shù)據(jù)的提取,操作簡(jiǎn)便,可直接生成Mike21模型識(shí)別格式的文件。將以上生成的兩個(gè)文件直接導(dǎo)入到Mike21模型中,再進(jìn)行網(wǎng)格剖分,高程差值,生成的地形文件。

4.4 后處理成果生成

后處理在Mike21模型計(jì)算完成以后進(jìn)行,首先打開(kāi)計(jì)算成果dfsu文件,在程序的對(duì)話框中輸入任意時(shí)刻的計(jì)算時(shí)段,以及任意點(diǎn)的坐標(biāo),例如時(shí)段填100,X坐標(biāo)為20 351 648.05,Y坐標(biāo)為3 959 719.06。通過(guò)點(diǎn)擊相應(yīng)的按鈕,即可完成后處理過(guò)程,生成的流速分布見(jiàn)圖3所示。

圖3 北金堤蓄滯洪區(qū)流速分布圖

輸氣管道工程末端某閥室處的水深和流速變化曲線見(jiàn)圖4、圖5,可知洪水約在第58個(gè)小時(shí)演進(jìn)至侯廟閥室,水深持續(xù)增加并保持在定值,流速先增后減并趨于零。

圖4 水深變化過(guò)程線圖

圖5 流速變化過(guò)程線圖

5 結(jié)論

Mike21模型具有簡(jiǎn)單易用、功能強(qiáng)大等特點(diǎn),可以自由靈活地設(shè)置多種不同的邊界條件,快速解決工作中的實(shí)際問(wèn)題。但其前處理功能相對(duì)較弱;后處理過(guò)程中計(jì)算成果的表現(xiàn)形式較為單一。為了更好地做好前處理和后處理相關(guān)工作,基于C#語(yǔ)言,研究開(kāi)發(fā)了河流數(shù)值模擬數(shù)據(jù)處理軟件,既可以提高前處理的工作效率,也豐富了后處理數(shù)據(jù)展現(xiàn)形式,簡(jiǎn)化了工作流程。該軟件可以推廣到其他河流洪水影響評(píng)價(jià)或洪水風(fēng)險(xiǎn)模擬等項(xiàng)目中,具有良好的使用效果和實(shí)踐推廣價(jià)值。

猜你喜歡
滯洪區(qū)水深后處理
河北省大陸澤、寧晉泊蓄滯洪區(qū)防洪工程與安全建設(shè)項(xiàng)目開(kāi)工建設(shè)
書(shū)法靜水深流
車身接附點(diǎn)動(dòng)剛度后處理方法對(duì)比
顧及特征水深點(diǎn)距離重分配的反距離加權(quán)插值算法
衛(wèi)河“21·7”洪水蓄滯洪區(qū)運(yùn)用淺談
大陸澤蓄滯洪區(qū)滏陽(yáng)河老油召橋至老北定橋段工程地質(zhì)問(wèn)題概述
果樹(shù)防凍措施及凍后處理
趣圖
基于柴油機(jī)排氣后處理的排放控制技術(shù)應(yīng)用研究
申店隔堤恢復(fù)的必要性淺析