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

?

電磁探測(cè)正反演軟件設(shè)計(jì)與開發(fā)

2020-01-08 06:26吳文鸝
物探化探計(jì)算技術(shù) 2019年6期
關(guān)鍵詞:電法線程反演

梁 萌,吳文鸝,陳 實(shí)

(1.中國(guó)地質(zhì)科學(xué)院 地球物理地球化學(xué)勘查研究所,廊坊 065000;2.國(guó)土資源部 地球物理電磁法探測(cè)技術(shù)重點(diǎn)實(shí)驗(yàn)室,廊坊 065000)

0 引言

電磁法是地球物理勘探應(yīng)用最為廣泛的方法技術(shù),數(shù)據(jù)處理是電法勘探的重要環(huán)節(jié),其效果、質(zhì)量和效率依賴于數(shù)據(jù)處理解釋軟件支持,因此,數(shù)據(jù)處理解釋軟件的現(xiàn)狀反映數(shù)據(jù)處理解釋技術(shù)的水平。隨著電法儀器向大深度、多功能方向發(fā)展,數(shù)據(jù)處理軟件已由單一方法向多參數(shù)、一體化發(fā)展。

國(guó)外非常重視電法軟件開發(fā)工作,Zonge公司開發(fā)了與其多功能電法儀器相配套的多功能電法數(shù)據(jù)處理解釋軟件,軟件的功能包含電法子方法的數(shù)據(jù)預(yù)處理、一維反演和二維反演。其優(yōu)點(diǎn)是軟件系統(tǒng)與儀器結(jié)合緊密,針對(duì)性較強(qiáng),缺點(diǎn)是軟件必須與儀器配套使用缺乏靈活性。另一種是開發(fā)比較通用的電法數(shù)據(jù)處理解釋軟件系統(tǒng),EMIGMA和WinGLink軟件。EMIGMA軟件提供通用框架和界面,用于重力、磁法和電磁法的數(shù)據(jù)處理和數(shù)據(jù)成圖,包括激電法(IP)、大地電磁法(MT)、可控源電磁法(CSAMT)、瞬變電磁法(TEM)的一維反演及三維正演模擬,IP、CSAMT和MT三維反演;WinGLink軟件主要功能包括TDIP和TEM的一維反演,MT一維反演、二維反演和三維正演,CSEM一維反演和三維正演,此軟件的突出優(yōu)勢(shì)在于MT的數(shù)據(jù)處理和正反演解釋。這些軟件的優(yōu)點(diǎn)是軟件集成度高,功能強(qiáng)大,但與數(shù)據(jù)采集儀器的無(wú)縫銜接方面有所欠缺。

國(guó)內(nèi)一些高校和科研院所應(yīng)用科研成果開發(fā)形成處理解釋軟件。成都理工大學(xué)開發(fā)的MT-soft,石油大學(xué)的電磁勘探資料處理解釋一體化系統(tǒng)以及中國(guó)地震局地質(zhì)所的MT-Pioneer軟件[1],這幾款軟件的主要功能為MT的數(shù)據(jù)預(yù)處理和一、二維正反演;吉林大學(xué)開發(fā)的GeoElectro 電法數(shù)據(jù)處理系統(tǒng),軟件包括TDIP、CSAMT和TEM,其主要功能模塊為TDIP的一維反演和二維反演、CSAMT數(shù)據(jù)的預(yù)處理以及瞬變電磁(TEM)的一維反演。中國(guó)地質(zhì)科學(xué)院物化探所的電法工作站軟件系統(tǒng)(WEM)集成了直流電阻率/激發(fā)極化法、大地電磁法、磁源瞬變電磁法和幅相激電等方法,是集數(shù)據(jù)輸入、數(shù)據(jù)預(yù)處理、正反演解釋和成果輸出為一體的電法工作站數(shù)據(jù)處理解釋系統(tǒng)[2]。

軟件是地球物理勘探數(shù)據(jù)處理技術(shù)的載體[3],因此國(guó)外的勘查機(jī)構(gòu)開發(fā)的軟件一般不對(duì)外銷售,與儀器配套銷售配套的軟件在功能上往往不能滿足用戶需求,需要利用通用軟件來(lái)補(bǔ)充。伴隨國(guó)內(nèi)電磁方法儀器的研制,需要數(shù)據(jù)處理軟件能夠支持多種方法的數(shù)據(jù)處理解釋工作,開展電磁探測(cè)正反演軟件研發(fā)工作仍具有現(xiàn)實(shí)意義。

1 需求分析

電磁探測(cè)正反演軟件由①數(shù)據(jù)管理;②人機(jī)交互建模;③可視化;④正反演計(jì)算等4部分組成。數(shù)據(jù)管理模塊、人機(jī)交互建模模塊和可視化模塊基于Qt框架制作,使用C++語(yǔ)言編寫。計(jì)算模塊主要解決CSAMT、AMT/MT、TDIP和SIP的正反演問(wèn)題,由FORTRAN和C++語(yǔ)言編寫。將以上模塊集成形成電磁探測(cè)正反演軟件,遵從軟件工程開發(fā)要求,對(duì)軟件的數(shù)據(jù)需求與功能需求進(jìn)行分析。

1.1 數(shù)據(jù)需求

電磁法數(shù)據(jù)包括裝置參數(shù)、測(cè)點(diǎn)坐標(biāo)和實(shí)測(cè)數(shù)據(jù)。裝置參數(shù)與觀測(cè)方法和儀器有關(guān)(CSAMT方法包括發(fā)射源坐標(biāo)信息、頻率和電流強(qiáng)度等基本信息);實(shí)測(cè)數(shù)據(jù)的內(nèi)容包含觀測(cè)坐標(biāo)和實(shí)測(cè)數(shù)據(jù)(CSAMT方法包括觀測(cè)頻率、視電阻率和相位等);TDIP方法包括供電極距、測(cè)量極距、視電阻率和視極化率等。

電磁探測(cè)正反演軟件輸出地電模型和正演結(jié)果。一維模型包括層厚、電性參數(shù)(電阻率)。二維模型和三維模型包括解釋區(qū)域部分和正演算法要求的擴(kuò)展區(qū)域部分。在程序設(shè)計(jì)過(guò)程中,需要有效地對(duì)這些數(shù)據(jù)進(jìn)行組織管理,以提高數(shù)據(jù)處理解釋軟件的運(yùn)行效率。

1.2 功能需求

電磁探測(cè)正反演軟件的具體功能包括①人機(jī)交互正演模擬;②反演計(jì)算;③數(shù)據(jù)管理;④人機(jī)交互建模;⑤數(shù)據(jù)可視化。正反演計(jì)算的數(shù)據(jù)處理流程基于用戶交互界面實(shí)現(xiàn),軟件用戶界面由數(shù)據(jù)和模型可視化模塊組成。

不同的電磁法對(duì)應(yīng)的觀測(cè)數(shù)據(jù)和裝置參數(shù)都有區(qū)別,不同的算法流程、輸出結(jié)果和數(shù)據(jù)量也不同,以文件方式管理很難達(dá)到一體化設(shè)計(jì)要求,則采用數(shù)據(jù)庫(kù)技術(shù)以工區(qū)為單元組織管理實(shí)測(cè)數(shù)據(jù)和處理結(jié)果。

正反演計(jì)算模塊包括一維、二維和三維正反演計(jì)算,同時(shí)要考慮帶地形模型的情況,軟件運(yùn)行過(guò)程要充分考慮數(shù)據(jù)、模型的可視性和交互性,特別是在正演過(guò)程中要與交互建模結(jié)合,形成人機(jī)交互正演模擬;反演結(jié)果數(shù)據(jù)保存要完整,可以由軟件重新提取、查看和繼續(xù)反演;可視化需支持正反演結(jié)果的屏幕展示,包括測(cè)深和剖面曲線、色塊圖、斷面圖、立體圖像和切片圖。

2 軟件設(shè)計(jì)

根據(jù)電磁探測(cè)正反演軟件需求,軟件系統(tǒng)由數(shù)據(jù)管理、可視化、人機(jī)交互建模和數(shù)據(jù)處理功能模塊組成,可視化和交互建模為公用模塊,數(shù)據(jù)管理和處理模塊由各方法的正反演計(jì)算需求驅(qū)動(dòng)。軟件框架架構(gòu)采用“低耦合”的方式設(shè)計(jì),可減少模塊之間的依賴,有利于模塊的擴(kuò)展和更新。系統(tǒng)開發(fā)需要兼顧代碼編譯的跨平臺(tái)性和資源的復(fù)用性[4]。

MT、CSAMT、TDIP和SIP等多種方法在數(shù)據(jù)處理流程與處理方式存在類同,但采集的數(shù)據(jù)有差異,在數(shù)據(jù)處理過(guò)程中都需要導(dǎo)入相關(guān)的數(shù)據(jù)信息(模型、測(cè)點(diǎn)信息、反演參數(shù)等),實(shí)時(shí)監(jiān)控處理過(guò)程,進(jìn)行數(shù)據(jù)處理結(jié)果查看和分析。因此,在設(shè)計(jì)上要突破傳統(tǒng)的基于過(guò)程化的軟件系統(tǒng)框架,采用數(shù)據(jù)為核心多方式驅(qū)動(dòng)機(jī)制來(lái)設(shè)計(jì)開發(fā)軟件系統(tǒng),其體系架構(gòu)如圖1所示?;谲浖脚_(tái)架構(gòu)設(shè)計(jì)和運(yùn)行環(huán)境(Windows 7和Linux64位操作系統(tǒng)),選取Qt、VS2012、Intel FORTRAN和SQLite為集成開發(fā)工具,具體開發(fā)工具如表1所示。

表1 開發(fā)工具列表

圖1 電磁探測(cè)正反演軟件框架架構(gòu)圖

3 技術(shù)實(shí)現(xiàn)

圍繞軟件的需求分析和設(shè)計(jì),電磁探測(cè)正反演軟件重點(diǎn)從數(shù)據(jù)組織與管理、數(shù)據(jù)處理模塊集成、并行計(jì)算、建模與可視化等四個(gè)技術(shù)層面來(lái)進(jìn)行開發(fā),通過(guò)人機(jī)交互設(shè)計(jì)對(duì)各功能模塊進(jìn)行集成,形成數(shù)據(jù)管理、處理解釋和可視化為一體化軟件系統(tǒng)。

考慮到電磁法在數(shù)據(jù)處理與反演操作流程、數(shù)據(jù)圖示方式等方面存在相似性,其界面布局、流程設(shè)計(jì)可以類同處理。軟件系統(tǒng)的主要用戶界面包括數(shù)據(jù)管理界面、數(shù)據(jù)預(yù)處理界面、正反演界面、數(shù)據(jù)成圖界面,其中數(shù)據(jù)管理界面為主導(dǎo)界面,其他界面在層次上為平級(jí)關(guān)系,由數(shù)據(jù)管理界面驅(qū)動(dòng)顯示。

電磁探測(cè)正反演軟件的用戶界面(圖2),由參數(shù)設(shè)置、工區(qū)布置、數(shù)據(jù)多維可視化和模型三維顯示等模塊組成。用戶通過(guò)界面設(shè)置參數(shù)進(jìn)行反演計(jì)算,用戶界面提供測(cè)點(diǎn)、剖面和區(qū)域平面等多種方式查看和分析反演結(jié)果。

3.1 數(shù)據(jù)組織與管理

電磁探測(cè)正反演軟件以工程為基本單位組織同一工區(qū)的裝置參數(shù)、實(shí)測(cè)數(shù)據(jù)和處理結(jié)果等。使用C++語(yǔ)言編寫模塊(類)用于在內(nèi)存中存儲(chǔ)相應(yīng)數(shù)據(jù)信息,數(shù)據(jù)組織模塊定義和說(shuō)明如下。

1)CWorkarea用于組織工區(qū)中的所有工程數(shù)據(jù)信息及測(cè)點(diǎn)坐標(biāo)數(shù)據(jù)。

2)CProject用于存儲(chǔ)工程的裝置參數(shù)和數(shù)據(jù)信息。

3)CRecv用于存儲(chǔ)工區(qū)的坐標(biāo)數(shù)據(jù)。

4)CTransmitter基類,用于派生各種發(fā)射源類,如偶極源、大定源和中心回線類等。

5)CurrentDipole用于存儲(chǔ)偶極源的數(shù)據(jù),派生于CTransmitter。

6)dataObject基類,用于派生各種方法類。

7)dataVecMTX_t模板類,派生于dataObject,基于模板的方式可組織各種方法的數(shù)據(jù)。

8)csamtVec 用于存儲(chǔ)CSAMT方法的測(cè)點(diǎn)信息,可基于模板類dataVecMTX_t組織工區(qū)中的CSAMT方法的數(shù)據(jù)。

基于以上所示模塊可有效組織同一工區(qū)的各種方法的數(shù)據(jù)信息,模塊設(shè)計(jì)及關(guān)系如圖3所示。

3.2 數(shù)據(jù)處理模塊集成

數(shù)據(jù)處理模塊使用FORTRAN和C++語(yǔ)言編寫。FORTRAN語(yǔ)言代碼使用Intel Fortran編譯形成動(dòng)態(tài)庫(kù),通過(guò)接口由主程序調(diào)用,C++語(yǔ)言編寫的代碼,可由集成程序在源代碼級(jí)別上編譯使用。

程序界面采用多文檔方式,各數(shù)據(jù)處理子界面可以通過(guò)主界面啟動(dòng),考慮到數(shù)據(jù)處理需要耗費(fèi)一定資源與時(shí)間,在集成設(shè)計(jì)過(guò)程中采用多線程方式,把數(shù)據(jù)處理計(jì)算與界面管理分配到不同的線程中,解決運(yùn)行過(guò)程中界面“堵塞”的情況,在工作線程負(fù)責(zé)數(shù)據(jù)處理時(shí),主界面仍可以由用戶操作。

以C++語(yǔ)言編寫的方法處理模塊按照?qǐng)D4所示方式集成。以CSAMT擬二維反演為例,啟動(dòng)1個(gè)工作線程在每次完成1個(gè)測(cè)點(diǎn)的反演計(jì)算后,由工作線程給主界面提交信息,主界面根據(jù)此信息更新圖形表達(dá),以達(dá)到監(jiān)控反演進(jìn)程和實(shí)時(shí)查看反演進(jìn)度的目的。

以FORTRAN語(yǔ)言編寫的方法處理模塊按照如圖5所示方式由相應(yīng)的方法處理界面使用。以MT二維反演為例,方法處理界面(Mt2DInversionForm)啟動(dòng)2個(gè)線程,分別是計(jì)算線程(Mt2DinversionThread)和監(jiān)控線程(Mt2DInversionMonitor),其中計(jì)算線程啟動(dòng)動(dòng)態(tài)庫(kù)(Mt2Di)開始計(jì)算,并等待計(jì)算完成,監(jiān)控線程監(jiān)控動(dòng)態(tài)庫(kù)內(nèi)部的變化,實(shí)時(shí)通知方法處理界面更新相應(yīng)的數(shù)據(jù)信息,動(dòng)態(tài)庫(kù)計(jì)算完成后由計(jì)算線程通知監(jiān)控線程,監(jiān)控線程自動(dòng)結(jié)束。

圖2 電磁探測(cè)正反演軟件界面

圖3 數(shù)據(jù)組織模塊設(shè)計(jì)及關(guān)系圖

圖4 方法處理模塊集成方式(C++)

圖5 方法處理模塊(FORTRAN)集成方式

3.3 并行計(jì)算

并行計(jì)算可以充分發(fā)揮多CPU、多核平臺(tái)的計(jì)算資源優(yōu)勢(shì),提高正反演計(jì)算效率。由于先前的一些算法多采用FORTRAN實(shí)現(xiàn),所以上述算法中涉及的并行過(guò)程可以采用支持FORTRAN的并行開發(fā)包OpenMP或者M(jìn)PI實(shí)現(xiàn)。OpenMP主要用于實(shí)現(xiàn)單進(jìn)程多線程并行計(jì)算,其并行過(guò)程采用線程實(shí)現(xiàn),多個(gè)并行過(guò)程數(shù)據(jù)共享臨界區(qū),比較適合程序結(jié)構(gòu)較復(fù)雜、中間共享數(shù)據(jù)結(jié)構(gòu)較多的電法正反演并行計(jì)算[5]。MPI用于多進(jìn)程并行計(jì)算,將計(jì)算程序分解到網(wǎng)絡(luò)中的多個(gè)計(jì)算節(jié)點(diǎn)上, 計(jì)算進(jìn)程相互獨(dú)立[6],可用于工作站集群中進(jìn)行大規(guī)模并行計(jì)算[7]。

圖6 波數(shù)計(jì)算程序的OpenMP并行方法

表2 CSAMT二維正演程序運(yùn)行時(shí)間統(tǒng)計(jì)表

表3 MT三維反演程序運(yùn)行時(shí)間統(tǒng)計(jì)表

將CSAMT二維正演程序封裝為單獨(dú)模塊,在其內(nèi)部實(shí)現(xiàn)正演計(jì)算的并行化,可采用OPENMP的方式實(shí)現(xiàn)波數(shù)計(jì)算的任務(wù)分解(圖6),OPENMP的宏定義中將波數(shù)值(BS),壓縮剛度矩陣(AA,ST),右端項(xiàng)(BB),求解場(chǎng)值(RR),波數(shù)索引(IFKK)針對(duì)波數(shù)計(jì)算線程私有化,避免因內(nèi)存沖突而造成的計(jì)算錯(cuò)誤。CSAMT二維正演并行程序運(yùn)算效率和模型規(guī)模如表2所示。

經(jīng)過(guò)以上并行驗(yàn)算說(shuō)明在8核硬件環(huán)境下,CSAMT二維正演并行程序計(jì)算效率可提高5.13倍。

MT三維反演程序基于MPI并行編程方式實(shí)現(xiàn)數(shù)據(jù)空間反演并行算法,算法中實(shí)現(xiàn)了包括三維正演,靈敏度矩陣、叉積矩陣以及模型修改量的并行執(zhí)行[6]。MT三維反演并行程序運(yùn)算效率和模型規(guī)模如表3所示。經(jīng)過(guò)以上并行驗(yàn)算說(shuō)明在8核硬件環(huán)境下,MT三維反演并行程序計(jì)算效率可提高3.59倍。

3.4 人機(jī)交互建模與可視化

人機(jī)交互建模模塊包括一維、二維及三維地電模型的建立和修改,用于電磁法的一維、二維和三維人機(jī)交互正演模擬。一維人機(jī)交互建模相對(duì)實(shí)現(xiàn)簡(jiǎn)單,主要是針對(duì)層狀模型;二維建模是基于多邊形為基本單元,通過(guò)屏幕交互操作實(shí)現(xiàn)模型的創(chuàng)建、修改,最終剖分成四邊形、三角形供二維正反演計(jì)算使用[8];三維建模是以多面體為基本單元,進(jìn)行模型的存儲(chǔ)和交互修改,這種方式比較直觀,但開發(fā)難度大,已在重、磁三維交互模擬中使用[9],建成的多面體模型需要根據(jù)電法三維正反演具體情況,將模型剖分成六面體、四面體單元供程序調(diào)用。

圖7 MT三維反演結(jié)果數(shù)據(jù)的三維可視化

電法數(shù)據(jù)處理過(guò)程剖面、斷面和地電模型需要進(jìn)行實(shí)時(shí)顯示,以增加處理過(guò)程的可視化和對(duì)數(shù)據(jù)處理結(jié)果的把控[10]。模型和數(shù)據(jù)的三維可視化是軟件開發(fā)的難點(diǎn),這不僅要解決數(shù)據(jù)的三維可視問(wèn)題,還要以此為手段來(lái)協(xié)助數(shù)據(jù)處理人員對(duì)數(shù)據(jù)進(jìn)行分析。軟件中的三維數(shù)據(jù)可視化是基于Raycasting與高性能顯卡平臺(tái)搭建而成,可以對(duì)超大規(guī)模數(shù)據(jù)進(jìn)行實(shí)時(shí)可視化渲染,模塊內(nèi)建三維體素渲染(3DVR)算法[11],通過(guò)參數(shù)選取可方便地對(duì)體數(shù)據(jù)任意位置作透明性觀察,可根據(jù)其需求凸顯出所關(guān)心的位置(地表、異常、斷層等)進(jìn)行重點(diǎn)觀察。模塊通過(guò)友好的交互界面和靈活的接口,實(shí)現(xiàn)了切片排列組合顯示[12]、三維等值體外形輪廓重建[13]、三維可視化顯示及主體輪廓透明顯示[14]、通過(guò)調(diào)節(jié)α通道調(diào)節(jié)感興趣區(qū)突出顯示、切片漫游[15]、三維正交切片顯示、實(shí)時(shí)平移旋轉(zhuǎn)放縮操作等。以甘肅柳園三維電磁探測(cè)試驗(yàn)區(qū)的MT三維反演結(jié)果顯示為例(如圖7所示),反演電性結(jié)構(gòu)與觀測(cè)區(qū)電性特征吻合。

4 結(jié)論

電磁探測(cè)正反演軟件系統(tǒng)經(jīng)過(guò)集成測(cè)試后,已開展了一些實(shí)際數(shù)據(jù)處理試驗(yàn),在直觀性、友好性和易用方面優(yōu)于同類軟件,通過(guò)本期研究,在電法軟件開發(fā)設(shè)計(jì)方面取得如下認(rèn)識(shí)。

1)軟件是地球物理勘探數(shù)據(jù)處理技術(shù)的載體,一體化通用軟件平臺(tái)更符合實(shí)際需要,在同一軟件平臺(tái)中實(shí)現(xiàn)多種電法的數(shù)據(jù)管理、數(shù)據(jù)處理、反演和交互解釋功能,不僅可以提高數(shù)據(jù)處理效率,也為多參數(shù)綜合解釋提供技術(shù)支持。

2)電磁法的計(jì)算模塊使用FORTRAN語(yǔ)言居多,采用OPENMP并行化設(shè)計(jì),能有效地提高計(jì)算效率,且程序結(jié)構(gòu)改動(dòng)小,有利于代碼資源的復(fù)用。在集成過(guò)程中,采用多線程方式來(lái)集成數(shù)據(jù)處理模塊,可解決因計(jì)算資源占用而造成的軟件界面堵塞問(wèn)題,并實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)處理的進(jìn)度,可以給用戶帶來(lái)良好的使用體驗(yàn)。

3)在電磁探測(cè)正反演軟件開發(fā)過(guò)程中引入軟件工程,開展軟件需求分析與系統(tǒng)設(shè)計(jì)研究,有利于電法軟件處理流程的標(biāo)準(zhǔn)化,以此為基礎(chǔ)開展數(shù)據(jù)管理、處理解釋、可視化和人機(jī)交互等模塊的設(shè)計(jì)和集成,能減少重復(fù)性工作,優(yōu)化軟件開發(fā)流程,是軟件開發(fā)質(zhì)量的保證。

猜你喜歡
電法線程反演
5G終端模擬系統(tǒng)隨機(jī)接入過(guò)程的設(shè)計(jì)與實(shí)現(xiàn)
反演對(duì)稱變換在解決平面幾何問(wèn)題中的應(yīng)用
實(shí)時(shí)操作系統(tǒng)mbedOS 互斥量調(diào)度機(jī)制剖析
淺析體育賽事售票系統(tǒng)錯(cuò)票問(wèn)題的對(duì)策研究
高密度電法在斷裂構(gòu)造探測(cè)中的應(yīng)用
基于ADS-B的風(fēng)場(chǎng)反演與異常值影響研究
Meteo-particle模型在ADS-B風(fēng)場(chǎng)反演中的性能研究
高密度電法在建筑用石料勘查區(qū)遴選中的應(yīng)用
長(zhǎng)期運(yùn)行尾礦庫(kù)的排滲系統(tǒng)滲透特性的差異化反演分析
電法在水源地勘探中的應(yīng)用——以河南澠池電廠為例