摘要:分析了任意形狀工作面提出的開采沉陷預(yù)計(jì)方法,以概率積分法為基礎(chǔ),探討了任意形狀煤層預(yù)測模型,采用了對工作面坐標(biāo)數(shù)據(jù)進(jìn)行數(shù)值擬合和利用面積積分方法對預(yù)測模型進(jìn)行預(yù)計(jì)的方法。利用C#面向?qū)ο蠹夹g(shù)和Matlab的交互式程序設(shè)計(jì)和圖形顯示分析功能,給出了對任意形狀工作面任意方向線和單點(diǎn)或網(wǎng)格點(diǎn)的下沉,傾斜,曲率,水平移動,水平變形等的預(yù)計(jì)及其結(jié)果的可視化輸出。能夠?qū)崿F(xiàn)曲線圖,等值線圖,三維圖的繪制,并通過調(diào)用Matlab能把預(yù)測值與實(shí)測值顯示對比分析。
關(guān)鍵詞:開采沉陷;任意形狀;面積積分;Matlab
中圖分類號:TD88文獻(xiàn)標(biāo)志碼:A
[WT]文章編號:1672-1098(2012)04-0067-04
作者簡介:周浪(1989-),男,重慶人,在讀碩士,研究方向:礦山變形監(jiān)測。
煤炭不僅是我國的基本燃料,而且是重要的工業(yè)原料,這些產(chǎn)品都是我國社會主義經(jīng)濟(jì)建設(shè)和人民生活所必須的[1]。到二十一世紀(jì)中葉,我國煤炭在能源消費(fèi)結(jié)構(gòu)中的比重仍達(dá)四成以上,而且以后很長的一段時間,煤炭仍將是我國的主體能源[2]。在我國實(shí)現(xiàn)工業(yè)、農(nóng)業(yè)、國防和科學(xué)技術(shù)的現(xiàn)代化的工程中,由于有用礦物的采出,開采區(qū)域內(nèi)巖層和地表遭到破壞,引起了開采沉陷??v觀國內(nèi)外,研究開采沉陷對國民經(jīng)濟(jì)的發(fā)展和人民生活具有及其重要的意義。
隨著現(xiàn)代科學(xué)的飛速發(fā)展和工程技術(shù)的日新月異,數(shù)學(xué)計(jì)算在自然科學(xué),工程學(xué)科,經(jīng)濟(jì),醫(yī)學(xué)和人文等領(lǐng)域中廣泛應(yīng)用并不斷發(fā)展。Matlab是由美國mathworks公司發(fā)布的主要面對科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能,尤其是圖形高層次的作圖包括二維和三維的可視化、圖象處理結(jié)合數(shù)據(jù)分析功能。為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,代表了當(dāng)今國際科學(xué)計(jì)算軟件的先進(jìn)水平。具有功能豐富的應(yīng)用工具箱和應(yīng)用程序接口(API),為用戶提供了方便實(shí)用的處理工具,使Matlab語言能與C、C++、C#、Fortran等其它高級編程語言通過過調(diào)用動態(tài)鏈接庫(DLL)實(shí)現(xiàn)進(jìn)行交互和數(shù)據(jù)交換。但是它也有源代碼公開性,不利于算法和數(shù)據(jù)的安全性;開發(fā)效率底,速度慢;開發(fā)功能差,不能開發(fā)商業(yè)軟件等[3-4]。C#是微軟公司在2000年7月發(fā)布的一種全新且簡單,安全,面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。它吸收了C++,VisualBasic,Delphi,Java等語言的有點(diǎn),體現(xiàn)了當(dāng)今最新的程序設(shè)計(jì)技術(shù)的功能和精華[5]。但是C#的在工程計(jì)算領(lǐng)域里的編程就顯得相當(dāng)復(fù)雜,數(shù)據(jù)計(jì)算分析,工程作圖,建模與仿真方面的功能就不及Matlab。針對上述情況的分析,本文將探討應(yīng)用C#與Matlab在任意工作面開采沉陷預(yù)計(jì)分析可視化中的應(yīng)用實(shí)踐。
1預(yù)計(jì)模型
目前我國很多學(xué)者都在研究礦山開采沉陷這方面,對于任意形狀工作面,秋興國提出任意形狀工作面變形預(yù)計(jì)沿煤層上山方向進(jìn)行分割,分割完成后按照計(jì)算矩形工作面的方法,對標(biāo)量數(shù)據(jù)簡單算術(shù)疊加,對矢量數(shù)據(jù)按照矢量疊加方法進(jìn)行迭加的方法[6];李永樹提出了任意分布形式煤層開采地表移動,不同構(gòu)造形式的工作面分布形式的煤層的理論模型,尤其是對工作面開采線和停采線進(jìn)行擬合的方法本文中將引用此方法[7];唐建榮提出將多邊形開采區(qū)域D劃分為若干個三角形,然后采用多重積分的高斯方法按逆時針方向在每個三角形上進(jìn)行積分等。對于任意形狀工作面的開采沉陷預(yù)計(jì),將非矩形工作面劃分為若干個矩形工作面的形式,然后按矩形工作面預(yù)計(jì)的方法分別預(yù)計(jì),然后再進(jìn)行疊加計(jì)算。這樣增加到工作量,計(jì)算結(jié)果帶有近似性[8]。本文的各個數(shù)值的計(jì)算主要進(jìn)行的是二重積分運(yùn)算,因而程序中可采用函數(shù)的直接積分,這樣只要給出被積函數(shù)的形式及積分上下限就可以了。本文采用的變步長Simpson積分方法,被積函數(shù)就是預(yù)計(jì)計(jì)算公式,積分上下限于開采區(qū)域D有關(guān),對于開采區(qū)域工作面的處理本文采用開采線停采線工作面坐標(biāo)數(shù)據(jù)擬合的方法進(jìn)行處理。
1.1概率積分簡介
概率積分法是由我國學(xué)者劉寶琛、廖國華等提出的概率積分預(yù)計(jì)法,就是根據(jù)隨機(jī)介質(zhì)理論,把開采引起的地表移動看作隨機(jī)事件,用概率積分(或其導(dǎo)數(shù))來表示微小單元開采引起地表移動和變形的預(yù)計(jì)公式(影響函數(shù)),從而用疊加原理計(jì)算出整個開采引起的地表移動和變形[9]。目前,在我國礦區(qū)開采沉陷預(yù)計(jì)中廣泛應(yīng)用。該方法已經(jīng)成為我國較成熟的、應(yīng)用最為廣泛的預(yù)計(jì)方模型之一。
1.2開采單元下沉盆地預(yù)計(jì)
地下煤炭資源開采,首先破壞的是直接頂、老頂,隨著開采工作面的推進(jìn),破壞逐漸向上層覆巖和地表傳遞,當(dāng)開采工作面推進(jìn)的距離達(dá)到(1/4-1/2)H0(H0為平均采深)時,采動影響波及地表;當(dāng)開采范圍不斷擴(kuò)大,地表影響范圍和下沉值也繼續(xù)增加;在開采面積達(dá)到臨界尺寸時,地表最大下沉值達(dá)到極限,而地表影響范圍繼續(xù)增大并最終形成一個比開采范圍大得多的下沉盆地(即動態(tài)移動盆地)[10]。
1.3利用Matlab的Deploytool生成DLL文件
在文獻(xiàn)[14]中提到了C#與Matlab混合編程目前主要有三種方法:(1)在VS(VS2008,Matlab2010a)中直接執(zhí)行Matlab;(2)C#函數(shù)調(diào)用Matlab工作空間;(3)使用MatlabDeploytool生成.NET組件或COM組件。在上述三種方法中目前比較流行的是第三種,可以高效的利用Matlab強(qiáng)大的科學(xué)計(jì)算功能和豐富的工具箱,并能從分發(fā)揮C#.NET編程靈活,界面友好,易于維護(hù),升級,發(fā)布的優(yōu)點(diǎn);提高了軟件的開發(fā)效率[15],優(yōu)化了軟件的性能,增強(qiáng)了算法和數(shù)據(jù)的保密性,可廣泛用于科學(xué)計(jì)算和工程應(yīng)用。
下面簡述一下怎樣利用MatlabDeploytool工具箱生成DLL文件,本文使用的是MatlabR2010a版本。以生成三維等值線圖為例,首先打開新建一個M文件(mysurf.m)然后在MatlabCommandWindow中輸入Deploytool,在彈出所示的對話框中輸入工程名字,并選擇生成.NETAssembly單擊OK,接著單擊AddClass添加類,單擊AddFiles添加文件,最后點(diǎn)擊build按鈕即可生成DLL文件。對于等值線圖,曲線圖,預(yù)測實(shí)測對比圖等M文件代碼主要參閱了文獻(xiàn)[16]編寫,在此不再敘述。
2功能結(jié)構(gòu)設(shè)計(jì)
在本文主要以C#開發(fā)工具,調(diào)用Matlab生成的動態(tài)鏈接庫文件實(shí)現(xiàn)下沉,實(shí)現(xiàn)單點(diǎn)或多點(diǎn)下沉值預(yù)測,查詢,并生成下沉,曲率,傾斜,水平移動,水平變形的曲線圖,二維等值線圖和三維圖的繪制[17]。本文中的參數(shù)及數(shù)據(jù)采用數(shù)據(jù)文件的格式存儲。功能結(jié)構(gòu)圖如圖1所示。
3應(yīng)用實(shí)例
某礦區(qū)某工作面的采礦條件為:下沉系數(shù)為1.1,主要影響正切為1.7,拐點(diǎn)偏距為0m,水平移動系數(shù)為0.3,主要影響傳播角為85°,開采厚度為3m,煤層傾角為6°,上山采深為174m,下山采深為190m,工作面坐標(biāo)如下表。
根據(jù)本文提出的任意形狀工作面沉陷預(yù)計(jì)方法,將工作面地址采礦參數(shù)即可計(jì)算出下沉預(yù)計(jì)數(shù)據(jù),然后利用C#調(diào)用個功能模塊即可實(shí)現(xiàn)圖形分析顯示功能。本文以曲線圖三維圖形顯示為例,如圖2所示。
4結(jié)論
1)本方法采用概率積分為理論基礎(chǔ),并結(jié)合概率積分修正模型進(jìn)行修正,預(yù)計(jì)效果滿足要求,簡單易用。
2)本文采用Matlab與C#混合編程,有機(jī)地將兩者結(jié)合在一起,使得編程比較簡單,設(shè)計(jì)界面更加美觀,降低了編程難度,提高了開發(fā)效率,具有很好的應(yīng)用前景。
3)本文的計(jì)算方法能夠預(yù)計(jì)任意形狀工作面的地表任意點(diǎn)任意方向的移動和變形值。
參考文獻(xiàn):
[1]徐永圻.煤礦開采學(xué)[M].徐州:中國礦業(yè)大學(xué)出版社,1999:1-4.
[2]楊逾,劉文生,繆協(xié)興.我國采煤沉陷及其控制研究現(xiàn)狀與展望[J].徐州:中國礦業(yè)大學(xué)出版社,2007:43-46.
[3]周品,何正風(fēng).MATLAB數(shù)值分析[M].北京:機(jī)械工業(yè)出版社,2009:1-122.
[4]趙士偉,趙明波,陳平.基于COM的Matlab與C#.NET混合編程的實(shí)現(xiàn)與應(yīng)用[J].山東理工大學(xué)學(xué)報(bào),20(4):26-29.
[5]楊樹林,胡潔萍.C#程序設(shè)計(jì)與案例教程[M].北京:清華大學(xué)出版社,2007:1-85.
[6]秋興國,刁瑞明,龔尚福.“三下”采煤地表變形預(yù)計(jì)體統(tǒng)的開發(fā)及應(yīng)用[J].工礦自動化,2008(5):4-8.
[7]李永樹,王金莊,邢安仕.任意分布形式煤層開采地表移動預(yù)計(jì)方法[J].煤炭學(xué)報(bào),1995,20(6):619-624.
[8]唐建榮,王金莊,溫澤民.任意形多工作面多線段開采沉陷預(yù)計(jì)系統(tǒng)(MSPS)[J].礦山測量,2000(1):24-27.
[9]汪桂生.礦區(qū)開采沉陷觀測數(shù)據(jù)處理研究[D].西安:西安科技大學(xué),2011:28-37.
[10]何國清,楊倫,凌賡娣.礦山開采沉陷學(xué)[M].徐州:中國礦業(yè)大學(xué)出版社,1991:1-219.
[11]吳侃,葛家新,王鈴丁.開采沉陷預(yù)計(jì)一體化方法[M].徐州:中國礦業(yè)大學(xué)出版社,1998:28-39.
[12]國家煤炭工業(yè)部.建筑物、水體、鐵路及主要井巷煤柱留設(shè)與壓煤開采規(guī)程[M].北京:煤炭工業(yè)出版社,2000:78-117
[13]CAILAILIANG,WUKAN,ZHENGRUYU,etal.Miningsubsidencecalculationsystem[C]//2ndInternationalConferenceonInformationEngineeringandComputerScience-Proceedings,2010,ICIECS2010:1-3.
[14]吳煥瑞,車紫輝.C#.NET調(diào)用Matlab進(jìn)行混合編程[J].電腦學(xué)習(xí),2010(4):93-94.
[15]羅述全.基于COM的Matlab與C#混合編程應(yīng)用[J].湖北工業(yè)大學(xué)學(xué)報(bào),2007,22(3):22-24.
[16]王世香.精通MATLAB接口與編程[M].北京:電子工業(yè)出版社,2007:1-284.
[17]ZHAOYAHONG,HAOYANJIN,RENLUYANG,etal.Researchforvisualizationofminingsubsidencepredictionbasedonmatlab[J].AppliedMechanicsandMaterials,2011(90-93):3222-3226.
(責(zé)任編輯:姚多喜,李麗)