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