亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        泥頁巖儲層試井解釋軟件中有限狀態(tài)機的設計與實現(xiàn)

        2014-03-02 15:37:16劉波濤王新海油氣資源與勘探技術教育部重點實驗室長江大學長江大學計算機科學學院湖北荊州434023
        石油天然氣學報 2014年5期
        關鍵詞:定義

        劉波濤,王新海 ( 油氣資源與勘探技術教育部重點實驗室 (長江大學))長江大學計算機科學學院,湖北 荊州 434023

        王青海 (中石化勝利油田分公司鉆井工藝研究院信息中心,山東東營 257000)

        王釗 (中國石油伊拉克公司,北京 100724)

        夏進軍 (中石油遼河油田分公司金馬油田開發(fā)公司地質研究所,遼寧 盤錦 124010)

        泥頁巖儲層試井解釋軟件中有限狀態(tài)機的設計與實現(xiàn)

        劉波濤,王新海 ( 油氣資源與勘探技術教育部重點實驗室 (長江大學))長江大學計算機科學學院,湖北 荊州 434023

        王青海 (中石化勝利油田分公司鉆井工藝研究院信息中心,山東東營 257000)

        王釗 (中國石油伊拉克公司,北京 100724)

        夏進軍 (中石油遼河油田分公司金馬油田開發(fā)公司地質研究所,遼寧 盤錦 124010)

        泥頁巖儲層是一種非常規(guī)油氣資源,對該類儲層的研究是當前研究的一個熱點方向。而泥頁巖儲層試井解釋軟件是專門針對該儲層進行試井解釋的一套軟件,討論其有限狀態(tài)機的設計與實現(xiàn)對最終實現(xiàn)該軟件起著至關重要的作用。以VS2010為開發(fā)平臺,詳細闡述了泥頁巖儲層試井解釋軟件有限狀態(tài)機的設計思路與實現(xiàn)技巧。結果顯示,應用有限狀態(tài)機設計的泥頁巖儲層試井解釋軟件邏輯結構清晰、運行穩(wěn)定可靠、具有較好的應用價值。

        試井解釋軟件;泥頁巖儲層;有限狀態(tài)機;VS2010

        泥頁巖儲層作為一種非常規(guī)油氣資源[1],正發(fā)揮著越來越重要的作用[2],國內外大量泥頁巖油氣藏不斷發(fā)現(xiàn)和近年來北美地區(qū)頁巖氣勘探獲得的巨大成功表明,對泥頁巖儲層的研究尤為重要[3]。作為一套專門針對泥頁巖儲層進行試井資料解釋的軟件,泥頁巖儲層試井解釋軟件 (mudstone reservoir welltesting interpretation software,簡稱MRWIS)有其實際的應用意義和復雜性。而有限狀態(tài)機[4](finite state machine,F(xiàn)SM)是一種劃分復雜系統(tǒng)的數(shù)學模型,因此,討論如何設計及實現(xiàn)其有限狀態(tài)機對最終實現(xiàn)該軟件起著至關重要的作用。

        1 有限狀態(tài)機原理

        有限狀態(tài)機一般被用來描述具有有限個狀態(tài)的系統(tǒng),該系統(tǒng)在輸入的驅動下從一個狀態(tài)轉換到另一個狀態(tài),并產(chǎn)生必要的輸出[4]。作為一種基本的形式化方法,它可以精確地刻畫軟件系統(tǒng)或其子系統(tǒng)的行為,在計算機相關領域得到了廣泛的應用,如應用系統(tǒng)的建模、形式語言的定義、網(wǎng)絡協(xié)議的描述、實時系統(tǒng)、嵌入式軟件設計、面向對象軟件中類的行為及其交互等等[5~9]。

        有限狀態(tài)機又稱有窮狀態(tài)自動機 (finite automation,F(xiàn)A),對于一個給定的屬于該自動機的狀態(tài)和一個給定的屬于該自動機的觸發(fā)事件,它都能根據(jù)事先給定的轉移函數(shù)轉移到下一個狀態(tài)[10]。用于描述狀態(tài)轉換的有限狀態(tài)機可以定義為一個六元組M=(S,S0,Z,I,O,f)。其中S為有限集合,集合中每個元素對應于有限狀態(tài)機的一個狀態(tài);S0是一個特殊狀態(tài),它是有限狀態(tài)機的初始態(tài),S0∈S;Z是有限狀態(tài)機的非空終止狀態(tài)集合,ZS;I為輸入符號的集合;O為輸出符號的集合;f為狀態(tài)轉換函數(shù),它是一個Q×I→Q的映射函數(shù),f(S1,I1,O1)=S2就意味著在狀態(tài)S1下發(fā)生觸發(fā)事件I1時,有限狀態(tài)機從當前狀態(tài)S1變遷到次態(tài)S2,并輸出字符O1。

        FSM包含了以下5個要素[8]:狀態(tài) (State)、條件 (Guard)、事件 (Event)、動作 (Action)、遷移 (Transition),這些要素的關系可用圖1表示。

        2 泥頁巖儲層試井解釋軟件的開發(fā)

        泥頁巖儲層試井解釋軟件 (MRWIS)的設計思路是:首先要根據(jù)滲流力學理論建立泥頁巖試井的數(shù)學模型,再利用數(shù)值模擬方法求解數(shù)學模型的數(shù)值解,在此基礎上,利用軟件工程技術在Windows環(huán)境下用VS2010開發(fā)工具進行開發(fā)。

        2.1 軟件界面

        MRWIS軟件的界面如圖2所示,左邊的操作控制臺將用戶的界面操作命令以按鈕形式呈現(xiàn)并以分組方式顯示。

        圖1 FSM狀態(tài)遷移圖

        2.2 軟件流程圖

        軟件流程圖如圖3所示。

        2.3 狀態(tài)機設計

        總結軟件中的觸發(fā)事件、狀態(tài)及輸出如圖4所示。

        1)當用戶點擊 【讀入產(chǎn)量數(shù)據(jù)】命令按鈕并成功讀入產(chǎn)量數(shù)據(jù)后,定義此時發(fā)生的事件為 【E-vent_ReadQ】,此時軟件會輸出產(chǎn)量數(shù)據(jù)曲線(如圖2中下面畫布所示階梯狀曲線),狀態(tài)機會從當前狀態(tài)遷移到 【State_ReadedQ】。

        2)當用戶點擊 【讀入壓力數(shù)據(jù)】命令按鈕并成功讀入壓力數(shù)據(jù)后,定義此時發(fā)生的事件為 【E-vent_ReadPwf】,此時軟件會輸出壓力數(shù)據(jù)曲線(如圖2中上面畫布所示鋸齒狀分段曲線),狀態(tài)機會從當前狀態(tài)遷移到 【State_ReadedPwf】。

        圖2 MRWIS軟件界面圖

        3)當用戶點擊 【輸入?yún)?shù)】命令按鈕并成功讀入所有輸入?yún)?shù)后,定義此時發(fā)生的事件為 【Event_GetPara】,此時軟件不需輸出,狀態(tài)機會從當前狀態(tài)遷移到 【State_GetedPara】。

        4)當用戶點擊 【選擇解釋區(qū)間】命令按鈕并成功選擇一個壓力恢復解釋段[11](即圖2中被選中的解釋段)后,定義此時發(fā)生的事件為 【Event_SelectRange】,此時軟件會推導并輸出壓力恢復段對應的3條曲線:實測壓力及壓力導數(shù)雙對數(shù)曲線[11]、實測壓力半對數(shù)曲線[11]及實測壓力曲線恢復段,狀態(tài)機會從當前狀態(tài)遷移到 【State_SelectedRange】。

        5)當用戶點擊 【繪制圖版】命令按鈕并成功選擇一個解釋模型后,定義此時發(fā)生的事件為 【Event_DrawChart】,此時軟件會根據(jù)用戶選擇的模型生成一套理論圖版曲線 (即格林加登圖版曲線[11]和布德圖版曲線[11])。狀態(tài)機會從當前狀態(tài)遷移到 【State_DrawedChart】。

        6)此時需要移動實測壓力及壓力導數(shù)雙對數(shù)曲線來擬合計算地層參數(shù),用戶點擊界面中的 【圖版擬合】按鈕,定義此時發(fā)生的事件為 【Event_StartChartFit】,此時軟件會將實測壓力及壓力導數(shù)雙對數(shù)曲線所在頁面設置為能移動曲線的模式,以方便用戶進行圖版擬合操作。此時狀態(tài)機會從當前狀態(tài)遷移到 【State_ChartFitting】。

        7)當用戶在圖版頁面中移動了圖版曲線后,定義此時發(fā)生的事件為 【Event_MoveChart】,此時軟件會根據(jù)用戶的移動更新實測壓力及壓力導數(shù)雙對數(shù)曲線,并自動計算地層參數(shù) (pi和滲透率)。狀態(tài)機會從當前狀態(tài)遷移到 【State_MovedChart】。這一過程可能會反復出現(xiàn)多次,直到用戶對當前的圖版擬合結果滿意為止。

        8)一旦用戶對當前圖版擬合結果滿意后,可點擊界面 【驗證圖版擬合結果】按鈕,定義此時發(fā)生的事件為 【Event_EndChartFit】,軟件就會利用當前理論圖版曲線的擬合段部分推導繪制 (或更新)計算的Horner曲線及計算的壓力曲線。狀態(tài)機會從當前狀態(tài)遷移到 【State_EndChartFit】。

        9)此后,用戶可根據(jù)當前3個頁面中的4套曲線 (即實測壓力雙對數(shù)曲線與格林加登圖版曲線、實測壓力導數(shù)雙對數(shù)曲線與布德圖版曲線,實測Horner曲線及計算的Horner曲線,實測壓力曲線恢復段及計算的壓力曲線)的擬合程度來判斷是否需要繼續(xù)上述第7)~8)步驟以期獲得更好的擬合結果。如果用戶對當前擬合結果滿意,則可點擊界面的 【輸出解釋報告】按鈕,定義此時發(fā)生的事件為【Event_OutputToWord】,軟件就會輸出Word報告。狀態(tài)機會從當前狀態(tài)遷移到 【State_Output-ToWord】。

        2.4 狀態(tài)機實現(xiàn)

        2.4.1 狀態(tài)機定義

        狀態(tài)機及觸發(fā)事件個數(shù)都有限,故可用C++語言中的枚舉型變量定義。狀態(tài)機定義如下:

        觸發(fā)事件的定義當然也可以采用上述方法直接定義,但這樣一來就無法記錄狀態(tài)機到底經(jīng)歷了哪些事件,因此為了保存最近發(fā)生事件的歷史記錄,觸發(fā)事件定義如下:

        此后,即可用置位方式操作int型變量m_iEvent來記錄狀態(tài)機所有已發(fā)生的觸發(fā)事件。例如,如果讀入了參數(shù)可以調用m_iEvent|=Event_GetPara來實現(xiàn)。同理,還需要定義一個EnumType_StateMachineState型的全局變量m_enumState來記錄狀態(tài)機的當前狀態(tài)。

        2.4.2 程序實現(xiàn)

        FSM模型實現(xiàn)方法很多,這里采用結構化方法[12]的思路來實現(xiàn),具體實現(xiàn)如下:

        1)給每個界面操作按鈕添加相應的界面命令更新函數(shù)及界面命令響應函數(shù)。以 【選擇解釋區(qū)間】命令按鈕為例,其界面命令更新函數(shù)void OnUpdate_SelectTestRange(CCmdUI*pCmdUI)和界面命令響應函數(shù)afx_msg void OnCmd_SelectTestRange()實現(xiàn)流程分別如圖5(a)和圖5(b)所示。由圖5(a)可知,只有在讀入了參數(shù)、壓力數(shù)據(jù)及產(chǎn)量數(shù)據(jù)后,【選擇解釋區(qū)間】命令菜單才會響應用戶的操作。由圖5(b)可知,在響應用戶操作后,首先會調用事件檢查函數(shù)bool FSM_EventCheck()來檢查事件Event_SelectRange是否能夠執(zhí)行,若能執(zhí)行,軟件會在繪制三條曲線后利用狀態(tài)機變遷函數(shù)void FSM_SetState()將狀態(tài)機置成State_SelectedRange狀態(tài);若不能執(zhí)行,則該操作將不被執(zhí)行。

        2)bool FSM_EventCheck()函數(shù)的實現(xiàn)原理是以入口參數(shù) (即當前即將要發(fā)生事件)劃分Case分支語句,在語句里面根據(jù)當前已經(jīng)經(jīng)歷的歷史事件m_iEvent來綜合判斷,當前即將要發(fā)生的事件是否允許發(fā)生。例如,如果沒有經(jīng)歷事件Event_ReadPwf,則Event_SelectRange事件是不能發(fā)生的。

        3)void FSM_SetState(EnumType_StateMachineState iState)函數(shù)主要完成2個工作:首先將狀態(tài)機的當前狀態(tài)置為入口參數(shù)所指狀態(tài),接著記錄本次狀態(tài)變遷所發(fā)生的觸發(fā)事件。

        圖5 界面命令菜單更新及響應函數(shù)流程圖

        3 測試結果及結論

        經(jīng)筆者測試驗證,依據(jù)所述方法設計與實現(xiàn)的MRWIS軟件在實際解釋應用中運行穩(wěn)定,狀態(tài)機變遷正常。

        有限狀態(tài)機不僅僅是一種設計工具,而且還是一種思想方法。筆者以實現(xiàn)MRWIS軟件為最終目的,詳細討論了其狀態(tài)機的設計與實現(xiàn)思路,實際應用結果表明:利用有限狀態(tài)機來分解復雜的試井解釋軟件,能使軟件邏輯結構更加清晰、編碼更加簡單、健壯性更強,最終可使軟件具備更好的實際應用效果。當然,筆者的設計思路和實現(xiàn)技巧對其他軟件系統(tǒng) (特別是石油軟件)如何應用有限狀態(tài)機,有很好的借鑒價值。

        [1]郝運輕,謝忠懷,周自立,等 .非常規(guī)油氣勘探領域泥頁巖綜合分類命名方案探討 [J].油氣地質與采收率,2012,19(6):16~24.

        [2]何金鋼,康毅力,游利軍,等 .流體損害對頁巖儲層應力敏感性的影響 [J].天然氣地球科學,2011,22(5):915~919.

        [3]丁文龍,許長春,久凱,等 .泥頁巖裂縫研究進展 [J].地球科學進展,2011,26(2):135~143.

        [4]劉軼,劉濤,張興軍,等 .基于有限狀態(tài)機的呼叫中心軟件設計 [J].微電子學與計算機,2006,23(2):83~88.

        [5]張涌,錢樂秋,王淵峰 .基于確定有限狀態(tài)機的測試輸入序列選取 [J].計算機研究與發(fā)展,2002,39(9):1144~1150.

        [6]劉寶旨 .基于事件驅動狀態(tài)機的多線語音應用程序設計 [J].計算機應用,1999,19(7):14~18.

        [7]徐健,周杏鵬 .基于有限狀態(tài)機的SMS液晶顯示終端的研究與實現(xiàn) [J].計算機應用,2006,25(11):24~26.

        [8]張菁 .基于有限狀態(tài)機的UDP傳輸設計 [J].計算機工程,2011,37(17):52~54.

        [9]吳春波,蘇厚勤 .基于有限狀態(tài)機模型的GUI設計及其應用 [J].計算機應用與軟件,2010,27(11):141~144.

        [10]王飛,裴海龍,王清陽 .有限狀態(tài)機在數(shù)控系統(tǒng)任務管理中的應用 [J].機械設計與制造,2011,32(5):245~247.

        [11]劉能強 .實用現(xiàn)代試井解釋方法 [M].北京:石油工業(yè)出版社,1992.

        [12]徐小良,汪樂宇,周泓 .有限狀態(tài)機的一種實現(xiàn)框架 [J].工程設計學報,2003,10(5):251~255.

        [編輯] 黃鸝

        Design and Im p lem entation of Finite State M achine in M udstone Reservoir W ell-testing Interp retation Software

        LIU Botao,WANG Xinhai,WANG Qinghai,WANG Zhao,XIA Jin jun (First Author's Address:Key Laboratory of Exploration Technologies for Oil and Gas Resources(Yangtze University),Ministry of Education;School of Computer Science,Yangtze University,Jingzhou 434023,Hubei,China;)

        Mudstone reservoir was one of the unconventional oil and gas resources,study of the reservoir was currently a highlight of research.TheMudstone ReservoirWell-testing Interpretation Softwarewas awell test interpretation software designed for themudstone reservoir,and the discussion of design and implementation of finite statemachine played a vital role in the final implementation of the software.By taking VS2010 as the development platform,design ideas and implementation skill of its finite statemachine were elaborated in detail.Application results show that the logical structure of the software designed with the finite statemachine is clear,its operation is stable and reliable,and it has a good application value.

        well-testing interpretation software;mudstone reservoir;finite statemachine;VS2010

        TE319

        A

        1000-9752(2014)05-0105-05

        2014-04-25

        國家科技重大專項 (2011ZX0515-002);中國石油天然氣集團公司重大科技項目 (2012E-3414);油氣資源與勘探技術教

        育部重點實驗室 (長江大學)開放基金資助項目 (K2013-27)。

        劉波濤 (1980-),男,2003年大學畢業(yè),講師,博士生,現(xiàn)主要從事油藏工程方面的研究工作。

        猜你喜歡
        定義
        以愛之名,定義成長
        活用定義巧解統(tǒng)計概率解答題
        例談橢圓的定義及其應用
        題在書外 根在書中——圓錐曲線第三定義在教材和高考中的滲透
        永遠不要用“起點”定義自己
        海峽姐妹(2020年9期)2021-01-04 01:35:44
        嚴昊:不定義終點 一直在路上
        華人時刊(2020年13期)2020-09-25 08:21:32
        定義“風格”
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        有壹手——重新定義快修連鎖
        修辭學的重大定義
        當代修辭學(2014年3期)2014-01-21 02:30:44
        欧美激情肉欲高潮视频| 欧美人与动牲交片免费| 激情文学人妻中文字幕| 在线高清亚洲精品二区| 蜜桃精品人妻一区二区三区| 香港三级日本三级a视频| 亚洲成a人片在线观看天堂无码| 无码Av在线一区二区三区| 区二区三区亚洲精品无| 成人国产精品一区二区八戒网| 国产精品美女久久久久av超清| 欧美国产日本高清不卡| 亚洲中文欧美日韩在线| 天堂av国产一区二区熟女人妻| 亚洲精品中文字幕免费专区| 国产成人a人亚洲精品无码| 福利一区视频| 久草久热这里只有精品| 中文字幕乱码亚洲在线| 国产精品国三级国产av| 亚洲成a人v欧美综合天堂麻豆| 国产真实乱对白在线观看| 亚洲中文字幕第一页免费 | 亚洲男人综合久久综合天堂| 亚洲成a人片在线观看无码3d| 日本一区午夜艳熟免费| 久久久久久久久久91精品日韩午夜福利| 日韩有码中文字幕第一页| 成人无码网www在线观看| 国产午夜三级一区二区三| 国产精品三级在线专区1| 丝袜美腿亚洲综合一区| 隔壁老王国产在线精品| 欧美最猛黑人xxxxx猛交| 国产精品无套粉嫩白浆在线| 精品国产黄一区二区三区| 久久久久成人精品无码| 亚洲毛片网| 性感的小蜜桃在线观看| 三级做a全过程在线观看| 国产一在线精品一区在线观看 |