蔡思靜,樂(lè)仁昌,葉全意
(1.福建工程學(xué)院 電子信息與電氣工程系,福建 福州 350108;2.福建師范大學(xué) 物理與光電信息科技學(xué)院,福建 福州350007;3.東南大學(xué) 電子科學(xué)與工程學(xué)院,江蘇 南京210096)
針對(duì)氡氣及其子體運(yùn)移機(jī)制的研究是開(kāi)展氡氣研究的基礎(chǔ)。近年來(lái),對(duì)氡氣運(yùn)移機(jī)制提出了新的研究角度:團(tuán)簇、微粒等方面[1-2]。經(jīng)反復(fù)論證,團(tuán)簇理論不斷趨于成熟,但研究手段較為落后,僅通過(guò)通用仿真軟件進(jìn)行數(shù)據(jù)處理,針對(duì)性差。因此,計(jì)算機(jī)仿真技術(shù)在氡氣運(yùn)移研究領(lǐng)域中存在技術(shù)空白。本文利用模擬仿真技術(shù)應(yīng)用到氡氣運(yùn)移、分布等相關(guān)研究中,對(duì)研究系統(tǒng)的結(jié)構(gòu)、功能和行為進(jìn)行動(dòng)態(tài)的比較和模仿,提高研究技術(shù)的效用性和安全性。
該系統(tǒng)的開(kāi)發(fā)借助計(jì)算機(jī)仿真學(xué)、圖形學(xué),結(jié)合軟接口設(shè)計(jì)的原則[3],完成了系統(tǒng)功能模塊的開(kāi)發(fā)。系統(tǒng)功能模塊分為文件管理、圖形顯示、數(shù)值分析與模擬、窗口管理、幫助五個(gè)部分。系統(tǒng)設(shè)計(jì)過(guò)程中統(tǒng)籌考慮系統(tǒng)功能,結(jié)合軟件工程[4]設(shè)計(jì)原理,采用模塊化設(shè)計(jì)思路,完成系統(tǒng)設(shè)計(jì)。
文件管理模塊主要用于系統(tǒng)數(shù)據(jù)管理、數(shù)據(jù)通訊等功能。系統(tǒng)數(shù)據(jù)將以文本的形式進(jìn)行管理,該文本可在其他文本編輯器(例如記事本)或電子表格(例如EXCEL)中打開(kāi),并通過(guò)數(shù)據(jù)導(dǎo)入、數(shù)據(jù)導(dǎo)出功能模塊完成數(shù)據(jù)通訊。
圖形顯示功能模塊提供二維曲線(xiàn)顯示和三維曲線(xiàn)顯示。二維曲線(xiàn)顯示包括:射氣濃度隨距離分布、射氣濃度隨時(shí)間分布、不同方向上離散點(diǎn)的計(jì)數(shù)對(duì)比規(guī)律的描述。三維曲線(xiàn)顯示包括:射氣濃度等高線(xiàn)描述。
數(shù)值模擬功能模塊用于模擬未知參量、模擬結(jié)果的分析和整理、確定修正系數(shù)等。此外,利用理論模型進(jìn)行數(shù)值模擬,得到的模擬值和實(shí)驗(yàn)值進(jìn)行分析,進(jìn)而完成理論模型的論證。模擬界面如圖1所示。
在系統(tǒng)設(shè)計(jì)過(guò)程中采用面向?qū)ο蟮脑O(shè)計(jì)思路,自頂向下進(jìn)行功能抽象,通過(guò)軟件分層結(jié)合軟接口調(diào)用進(jìn)行信息通訊,保證模塊的獨(dú)立性、程序的可重用性。在設(shè)計(jì)過(guò)程中,涉及到的關(guān)鍵技術(shù)及模塊有:數(shù)據(jù)流管理模塊、數(shù)據(jù)值到曲線(xiàn)轉(zhuǎn)換模塊及曲線(xiàn)顯示模塊。
2.1.1 模塊分析及流程設(shè)計(jì)
“數(shù)據(jù)流管理模塊”主要完成數(shù)據(jù)流通訊,系統(tǒng)根據(jù)設(shè)計(jì)需要提供四類(lèi)不同的操作:直接導(dǎo)入數(shù)據(jù);根據(jù)導(dǎo)入的數(shù)據(jù)在相應(yīng)對(duì)話(huà)框顯示;將導(dǎo)入的數(shù)據(jù)值轉(zhuǎn)化成二維曲線(xiàn)顯示;將導(dǎo)入的數(shù)據(jù)值轉(zhuǎn)化成三維曲面顯示。數(shù)據(jù)導(dǎo)出是導(dǎo)入的逆過(guò)程。
算法步驟如下:系統(tǒng)讀數(shù)據(jù)后經(jīng)數(shù)據(jù)預(yù)處理,然后判斷操作類(lèi)型(包含四種操作類(lèi)型),根據(jù)不同的操作類(lèi)型調(diào)用不同模塊接口。
2.1.2 關(guān)鍵算法實(shí)現(xiàn)
程序采用模塊化設(shè)計(jì)思路,通過(guò)兩個(gè)“類(lèi)對(duì)象”完成系統(tǒng)設(shè)計(jì):Class1“類(lèi)對(duì)象”讀取數(shù)據(jù)流并進(jìn)行數(shù)值換算、display“窗體類(lèi)對(duì)象”提供圖形顯示設(shè)計(jì)工作。
功能函數(shù):openfile()打開(kāi)文件夾、class.ndclass.Disfun()數(shù)據(jù)過(guò)濾、ndclass.ndzb()特征值提取、getndzb()等高濃度擬合、class.ndclass.Nhfun()數(shù)據(jù)平滑、getmaxclass1.DisData()數(shù)據(jù)預(yù)處理等函數(shù),以及其他數(shù)值處理、返回函數(shù)編寫(xiě)在Class1“類(lèi)對(duì)象”中,以提供不同的模塊調(diào)用。
功能函數(shù):OnPaint()繪制、MyPaint()重載、getkd()坐標(biāo)轉(zhuǎn)換、drawqx()、曲線(xiàn)顯示等函數(shù),以及其他系統(tǒng)輔助函數(shù)編寫(xiě)在display窗體“類(lèi)對(duì)象”中。部分代碼如下:
2.2.1 模塊分析及流程設(shè)計(jì)
數(shù)值曲線(xiàn)包括二維曲線(xiàn)和三維曲線(xiàn)?!皵?shù)據(jù)值到曲線(xiàn)轉(zhuǎn)換模塊”將數(shù)據(jù)值進(jìn)行預(yù)處理分析后,提取特征點(diǎn)的數(shù)據(jù)信息,經(jīng)擬合及平滑流程后導(dǎo)入系統(tǒng)在屏幕上顯示。
流程設(shè)計(jì)如下:系統(tǒng)首先讀數(shù)據(jù),判斷數(shù)據(jù)的有效性之后存入相應(yīng)的數(shù)組列表中。然后系統(tǒng)進(jìn)行數(shù)據(jù)預(yù)處理,從原始數(shù)據(jù)中提取特征信息,經(jīng)過(guò)數(shù)據(jù)平滑之后,將其轉(zhuǎn)換成標(biāo)準(zhǔn)格式。同時(shí)按坐標(biāo)數(shù)據(jù)、連接信息、濃度特征三部分分類(lèi)存放后導(dǎo)入系統(tǒng)繪制曲線(xiàn)。
數(shù)據(jù)值到三維曲線(xiàn)轉(zhuǎn)化模塊與二維曲線(xiàn)繪制有著異曲同工之妙,不同在于三維等高線(xiàn)的繪制過(guò)程中涉及到的濃度等高點(diǎn)的確定,因此,程序?qū)⒓尤搿皵?shù)據(jù)擬合”功能模塊。從而,大大縮短開(kāi)發(fā)周期。數(shù)據(jù)值到三維曲線(xiàn)轉(zhuǎn)化模塊流程設(shè)計(jì)如圖2所示。
圖2 數(shù)據(jù)值到三維曲線(xiàn)轉(zhuǎn)化執(zhí)行流程圖
2.2.2 關(guān)鍵算法實(shí)現(xiàn)
數(shù)據(jù)值到曲線(xiàn)的轉(zhuǎn)換模塊主要應(yīng)用在數(shù)據(jù)流通信部分,完成的工作是將讀入的數(shù)據(jù)值轉(zhuǎn)化成圖像形式顯示在屏幕上。根據(jù)轉(zhuǎn)換曲線(xiàn)類(lèi)別的不同,操作執(zhí)行的流程也有所不同。因此,需要進(jìn)行判斷操作,選擇不同的模塊入口。程序設(shè)計(jì)的部分代碼如下:
2.3.1 模塊設(shè)計(jì)分析及流程設(shè)計(jì)
曲線(xiàn)顯示模塊為用戶(hù)提供直觀(guān)的圖形界面顯示,包含二維圖形顯示、三維圖形顯示模塊。曲線(xiàn)顯示模塊設(shè)計(jì)中,將根據(jù)“數(shù)據(jù)值到曲線(xiàn)轉(zhuǎn)換模塊”生成的有效特征數(shù)據(jù)值進(jìn)行繪制。由于GDI+坐標(biāo)系統(tǒng)與常用的笛卡爾坐標(biāo)系不同,因此系統(tǒng)提供了坐標(biāo)變換模塊。二維曲線(xiàn)同三維曲線(xiàn)的設(shè)計(jì)理念相似,只是在繪制技巧中有所不同?,F(xiàn)以三維曲線(xiàn)繪制流程為例,流程如圖3所示。
圖3 三維曲線(xiàn)顯示模塊設(shè)計(jì)流程圖
2.3.2 關(guān)鍵算法實(shí)現(xiàn)
曲線(xiàn)繪制顯示功能主要采用了GDI+圖形設(shè)備接口技術(shù)完成曲線(xiàn)繪制要求,系統(tǒng)通過(guò)Graphics類(lèi)對(duì)象提供完備的繪制方法和屬性,部分代碼如下:
在繪制過(guò)程中主要調(diào)用GDI+System.Drawing類(lèi)中的:Brush、Font、Graphics、Pen、Region 等類(lèi),以及Graphics類(lèi)的DrawLine、DrawString等方法,繪制出氡及其子體二維和三維分布曲線(xiàn)。
本文以計(jì)算機(jī)模擬作為氡及其子體運(yùn)移機(jī)制研究的一種新手段和工具,模擬分析了氡及其子體運(yùn)移的數(shù)學(xué)模型,獲得了有參考價(jià)值的分析結(jié)果。該結(jié)論對(duì)揭示團(tuán)簇理論的科學(xué)性具有重要意義,同時(shí)對(duì)揭示地氣向上運(yùn)移、氣溶膠的形成與運(yùn)移以及團(tuán)簇研究都具有積極和深遠(yuǎn)的影響。
模擬技術(shù)提供的預(yù)見(jiàn)性,可預(yù)測(cè)系統(tǒng)的特性、外作用的影響,可以更直觀(guān)地為團(tuán)簇理論提供有力的技術(shù)支持,并為氡運(yùn)移研究提供新的研究途徑。這種研究思路充分利用計(jì)算機(jī)的豐富資源,提高研發(fā)的安全性,而且具有經(jīng)濟(jì)、可靠、易升級(jí)等優(yōu)點(diǎn)。因此,計(jì)算機(jī)模擬引入射氣分布規(guī)律研究是一個(gè)必然的趨勢(shì)。
[1]樂(lè)仁昌.氡及其子體的釋放和運(yùn)移規(guī)律及機(jī)理研究[D].成都:成都理工大學(xué)博士學(xué)位論文.2002.5;
[2]賈文懿,方方,周蓉生.氡及其子體運(yùn)移規(guī)律與機(jī)理研究[J].核技術(shù),2000,23(3):169-175.
[3]呂云翔,王晰鵬編著.軟件工程.北京:人民郵電出版社,2009.
[4]肖丁,吳建林,周春燕,等編著.軟件工程模型與方法.北京:北京郵電大學(xué)出版社,2008.