馬新穎,祁朝相,賀 敏
(陜西省西安市長安大學公路學院橋梁系)
基于C#的橋涵設計洪水流量計算程序的開發應用
馬新穎,祁朝相,賀 敏
(陜西省西安市長安大學公路學院橋梁系)
根據實際中橋涵水文計算的需求,利用C#語言強大的數據庫以及可視化編程功能,開發了橋涵設計洪水流量計算程序,分別給出了適線法(皮爾遜—Ⅲ型頻率曲線)、全國水文分區經驗公式和公路科研所推理公式三種計算設計洪水流量的方法,并繪制機率格紙。通過實際工程驗證表明,該程序準確、方便、快捷,相比于手工計算,可以大大提高計算效率。
橋涵水文;C#;洪水流量;計算程序
目前確定橋涵設計洪水流量的方法有三種,分別是適線法(皮爾遜—Ⅲ型頻率曲線)、全國水文分區經驗公式和公路科研所推理公式。在用適線法進行計算時,需要對數據進行排序、計算數據統計、估計分布函數的參數,同時還需要進行試算,計算量非常龐大。在用全國水文分區經驗公式或公路科研所推理公式與經驗公式進行計算時,雖然不用進行特別復雜的計算,但是需要重復多次的查表,計算過程也相當繁瑣。隨著計算機技術的發展,橋涵水文計算軟件應運而生。如許磊基于dephi平臺開發的橋位水文計算及輔助設計系統功能較齊全,但是其數據庫采用的是MicroSoft Access數據庫,它是一種小型數據庫,在對大量的數據進行管理時,性能會變差。王雙銀、趙培穎基于Excel和Vb開發的頻率適線計算軟件,其界面不夠友好、功能不夠齊全。本文采用了C#編程語言與SQL server數據庫,編寫了橋涵設計洪水流量計算程序,將繁雜的水文計算自動化。與其他軟件相比,計算效率大大改進,界面也得到了優化并且可以對計算數據進行高效的管理。最后經過實例應用,驗證了程序計算結果的正確性與實用性。
各地區、各河流上的橋梁或涵洞,其設計洪水流量計算采用不同的方法。在計算時,要盡可能地搜集橋位水文資料。對于同一座橋梁,采用的計算方法不同,其計算的洪水流量的值也不同。在經過分析論證以后,在這些數據中選用一個合理的數值,作為該橋設計流量的確認值。
皮爾遜—Ⅲ型頻率曲線適線法采用的是以頻率點的分布為準來進行測算的方法,在頻率格紙上繪制一條皮爾遜—Ⅲ型理論頻率曲線,曲線的參數通過經驗點估計,采用的方法為矩法或其他方法。然后根據該曲線對經驗點數據的擬合情況來對相應的參數進行調整,繪制調整參數后的頻率曲線,直到得到滿意的擬合曲線為止。
全國水文分區經驗公式中,把全國劃分為100多個分區,并制定了3個表,分別為全國水文分區流量計算參數表、全國水文分區值表和全國水文分區經驗關系表。
全國水文分區經驗公式計算方法:
Qp%:查表確定 C和n的值,然后計算平均流量CFn,再查表Cv和Cs/Cv值,求得Cs,最終求出Qp%(p為給定的任意頻率)。
Q1%,Q2%:查表確定K和n的值,計算Q2%=KFn,再查Q1%/Q2%表,最終得到Q1%值。
公路科研所制定的各種公式,大多應用于流域面積為100 km2以下的小河溝。上世紀80年代初,原交通部公路科研所制定小流域暴雨徑流的推理公式以及簡單的小流域暴雨徑流的經驗公式。
在進行程序的設計時應該本著界面簡潔、使用方便、功能齊全的原則,能夠對所輸入的數據進行快速的計算并繪制相應頻率曲線,還要把這些數據和結果保存到數據庫中,以便以后對數據的查閱。
3.1 開發語言的選擇和數據庫設計
該程序主要以計算功能為主,繪圖功能為輔,采用Visual Studio 2010和Microsoft Sql Server 2008開發。編程語言采用流行的C#語言。程序在計算時,必然會對各種數據進行處理,采用數據庫可以對這些數據進行科學的管理,實現對數據的查詢、修改、添加和刪除。為了便于對大量數據的管理,本程序在選用數據庫時選擇的是sql server數據庫。在建立數據庫時,根據本程序的特點將數據分為兩種:靜態數據和動態數據。
靜態數據是程序中用到而且保持不變的數據,主要是程序中計算所需要用到的各種規范表、數值表和經驗統計表。數據庫中靜態數據表主要有:全國水文分區流量計算參數表、分區Cv值表、全國水文分區Cs/Cv經驗關系表、暴雨遞減指數n分區表、損失參數系數、指數值表、土壤植被分類表、匯流時間系數、指數表
動態數據是用戶輸入的橋梁基本信息數據和程序計算的結果數據,將橋涵的動態數據保存后,以后可以方便的查詢某座橋涵的基本信息以及計算結果。
3.2 程序的總體架構設計
根據程序計算的特點,同時為了使程序能夠穩定的進行計算以及考慮到程序以后的擴展,本程序采用三層架構的模型。該層次架構把程序分為數據訪問層、業務邏輯層和表示層三層。數據訪問層的主要功能是訪問數據庫。業務邏輯層是程序架構的核心部分,數據在表示層和數據訪問層之間的交換都通過業務邏輯層,管理整個程序的計算以及數據走向。表示層也叫用戶界面層,用于顯示數據和接收用戶輸入的數據,為用戶提供交互式的操作界面。使用三層架構的模式可以方便的對代碼進行管理,便于以后升級換代。
通過對實橋工程的設計洪水量的人工計算和軟件計算結果對比,檢驗程序。
基本資料(1):南方地區某二級公路,擬修建一座跨越河流的橋梁。選定粗糙系數為:河槽河灘mt按照歷史相關數據來看,調查歷史洪水位為63.8 m,洪水比降為0.3。橋址附近的某一水文站具有從1951年到1982年連續32年的年最大流量數據,其連續32年的年最大流量系列具體數據如表1所示;確定該河流2%、1%和0.33%的流量。

表1 32年最大流量
軟件計算設計洪水流量:
計算步驟:點擊“皮爾遜—Ⅲ型頻率曲線”按鈕→點擊“水文資料錄入”→點擊“導入”按鈕從excel表中把年最大流量系列表導入程序中→點擊“流量連續系列”并輸入設計頻率和洪水頻率→點擊“計算”按鈕,得出初步結果如下:
Cv=0.44,Cs=0.62,Qs=4 084 m3/s,Qp=4 572 m3/s
點擊“頻率曲線”按鈕→點擊“繪制經驗點”和“理論曲線圖”,觀察理論曲線與經驗點的擬合情況,為了擬合的更好,點擊“調整m值按鈕”,在提示框內選定一個m值,Cs值根據Cs=mCv自動調整,如果對Cv值也不滿意,可以同時調整Cv、m值,理論曲線立即重新調整,調整幾次,直到理論曲線和經驗點擬合滿意。數據的錄入以及計算的最終結果如圖1所示;

圖1 程序計算結果
軟件計算結果與手算結果對比如表2所示:

表2 計算結果比較
基本資料(2):在東北小興安嶺地區,橋位上游流域面積為123,通過全國水文分區經驗公式確定該橋的和流量。
程序計算結果如圖2所示:

圖2 程序計算結果
程序計算結果與手工計算結果比較如表3所示:

表3 計算結果比較
基本資料(3):甘肅西部某丘陵地區,流域面積95 km2,設計洪水頻率為1%,通過公路科研所推理公式和經驗公式來推算這條河流的設計流量Q1%。
程序計算結果與手算計算結果比較如表4:

表4 計算結果比較
本文的橋涵設計洪水流量計算程序,利用了計算機編程技術和數據庫技術,使得計算更為方便準確,對數據的管理更為科學有效。其界面良好、操作簡便,大大提高了計算速度,工作量也得到降低。通過程序計算結果與手工計算結果對比,說明了本程序的實用性,完全能夠滿足工作實際中的需要。本程序只采用了皮爾遜—Ⅲ型頻率曲線,并沒有包括其他一些類型的曲線,無法應用于一些特殊的工程。因此,本程序需要對頻率曲線庫進一步擴充。
[1] 許磊.橋位水文計算及輔助設計系統軟件開發[D].長安大學,2007.
[2] 王雙銀,向友珍,朱曉群,等.基于EXCEL的水文頻率計算軟件開發[J].西北農林科技大學學報(自然科學版),2006,(4):113-116.
[3] 趙培穎,金冶,張忠孝.Visual Basic在繪制PⅢ頻率曲線中的應用[J].水利規劃與設計,2008,(2):55-57.
[4] 高冬光,王亞玲.橋涵水文[M].北京:人民交通出版社,2011.
U442
C
1008-3383(2015)10-0076-02
2015-02-12