蔣宏宇 吳亞東 彭 娟 楊文超 李 立
(1.西南科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 四川綿陽 621010;2.中國人民解放軍駐昆明某部 云南昆明 650000)
?
基于動(dòng)力學(xué)蒙特卡洛方法的溶解擴(kuò)散仿真可視化
蔣宏宇1吳亞東1彭娟1楊文超1李立2
(1.西南科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院四川綿陽621010;2.中國人民解放軍駐昆明某部云南昆明650000)
摘要:動(dòng)力學(xué)蒙特卡洛方法(KMC)常被用來對化學(xué)反應(yīng)、材料變化等進(jìn)行仿真,基于該方法對溶解擴(kuò)散問題進(jìn)行模擬與核廢物的處理和環(huán)境安全密切相關(guān)。分子模擬軟件在對溶解擴(kuò)散模擬時(shí)存在建立反應(yīng)規(guī)則耗費(fèi)時(shí)間成本過大、參數(shù)選擇不合適而導(dǎo)致作業(yè)盲計(jì)算等問題。提出一種基于動(dòng)力學(xué)蒙卡動(dòng)態(tài)標(biāo)記語言(KMCDL)和動(dòng)力學(xué)蒙卡模擬可視化系統(tǒng)(KMCViewer)。實(shí)驗(yàn)結(jié)果顯示該系統(tǒng)可以有效簡化基于KMC方法溶解擴(kuò)散模擬的實(shí)現(xiàn),提高分析效率,降低分析難度。
關(guān)鍵詞:動(dòng)力學(xué)蒙特卡洛方法分子模擬計(jì)算過程可視化
動(dòng)力學(xué)蒙特卡羅方法(KMC)能有效解決分子動(dòng)力學(xué)方法(MD)在時(shí)間尺度上存在的問題,描述系統(tǒng)從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的躍遷,這種方法能達(dá)到較長的時(shí)間尺度,在同樣能正確描述系統(tǒng)動(dòng)力學(xué)特征的情況下有效節(jié)省計(jì)算時(shí)間。動(dòng)力學(xué)蒙特卡羅方法(KMC)的應(yīng)用范圍非常廣泛,現(xiàn)已成為仿真方法中一種常用的工具[1]。主要進(jìn)行輻射損傷退火[2]、表面吸附、擴(kuò)散以及生長[3]、生物化學(xué)反應(yīng)和傳熱[4]等方面的模擬。對于在微觀尺度上模擬溶解擴(kuò)散過程,KMC是一種計(jì)算量適中的有效算法,該方法從微觀尺度出發(fā),采用隨機(jī)的方式模擬系統(tǒng)中微粒的運(yùn)動(dòng),通過微觀物質(zhì)量的變化體現(xiàn)系統(tǒng)的宏觀性質(zhì),為宏觀模擬提供重要的數(shù)據(jù)信息[1]。但KMC方法對溶解-擴(kuò)散過程進(jìn)行模擬計(jì)算是十分耗時(shí)的,并且在模擬之前對參數(shù)的選擇帶有一定的猜測性和試探性。為此,用戶需要憑借經(jīng)驗(yàn)來對計(jì)算過程進(jìn)行取舍,并且需要對物質(zhì)數(shù)量擬合來判斷模擬計(jì)算結(jié)果是否正確。
目前已有很多軟件針對分子模擬提供解決方案。在國外,有量子計(jì)算軟件Gaussian[5]、高性能集群計(jì)算化學(xué)軟件NWChem[6]、分子結(jié)構(gòu)可視化軟件GaussianView[7]、Jmol[8],并且VMD[9]已經(jīng)有了廣泛的用戶基礎(chǔ),但是,對于溶解擴(kuò)散的模擬計(jì)算問題仍沒有針對性的解決方案。就目前而言,溶解擴(kuò)散問題關(guān)系到核工業(yè)的可持續(xù)發(fā)展和人類環(huán)境與健康安全,在評價(jià)高放廢物玻璃固化體安全性和耐久性時(shí),需要構(gòu)建溶解擴(kuò)散模型[10]以解決玻璃固化體融水的模擬。目前而言,一般的分子模擬軟件都是將分子結(jié)構(gòu)的模擬計(jì)算和可視化分離的[11],用戶通常無法實(shí)時(shí)地觀察計(jì)算過程中分子結(jié)構(gòu)的變化。此外,用戶在產(chǎn)生給定初始參數(shù)的時(shí)候,還可能會(huì)出現(xiàn)由于參數(shù)不合適,導(dǎo)致作業(yè)盲計(jì)算很長一段時(shí)間,卻得不到好的結(jié)果。因此,利用可視化仿真技術(shù)對模擬計(jì)算作業(yè)的實(shí)時(shí)監(jiān)控,在一定的時(shí)間間隔內(nèi)反饋計(jì)算過程中的分子信息,不但能夠有效避免資源的浪費(fèi),還可以輔助用戶更好地控制計(jì)算過程,從而得到良好的計(jì)算結(jié)果,還能夠?qū)Ψ肿幽M產(chǎn)生更加全新的認(rèn)識(shí)。
本文針對基于KMC對溶解擴(kuò)散進(jìn)行模擬出現(xiàn)的問題,提出了詳細(xì)的解決方案,使用可視化技術(shù),為用戶提供一個(gè)分子模擬可視化交互平臺(tái)。此外,為了降低軟件的使用門檻,設(shè)計(jì)了KMCDL標(biāo)記語言和KMCDL可視化編輯器。最后,基于以上工作,開發(fā)了溶解擴(kuò)散模擬可視化系統(tǒng)(KMCViewer),該系統(tǒng)能夠在對溶解擴(kuò)散進(jìn)行模擬時(shí),對反應(yīng)狀態(tài)進(jìn)行實(shí)時(shí)的繪制,對計(jì)算過程進(jìn)行監(jiān)視、調(diào)控,提高模擬速度和用戶分析效率。
1系統(tǒng)設(shè)計(jì)
為了便于系統(tǒng)的維護(hù)和擴(kuò)展,防止依賴傳遞和變化的擴(kuò)展,系統(tǒng)采用了模塊化設(shè)計(jì),主要由6個(gè)模塊組成(如圖1):(1)配置模塊用來加載和保存系統(tǒng)和用戶的配置信息,它允許用戶根據(jù)自己的偏好進(jìn)行配置,使系統(tǒng)更加人性化;(2)反應(yīng)信息曲線,實(shí)時(shí)地顯示計(jì)算過程中分子或原子的數(shù)量,用戶可以動(dòng)態(tài)地查看計(jì)算過程中每一個(gè)階段數(shù)量信息; (3)3D 可視化模塊提供了一個(gè)統(tǒng)一的接口用來構(gòu)建 3D模型,并且提供了對模型整體的交互操作,用戶可以實(shí)時(shí)地查看計(jì)算過程中分子的結(jié)構(gòu)信息; (4)圖形化用戶界面為用戶提供了一個(gè)友好的可操作界面。(5)數(shù)據(jù)處理模塊用來獲取數(shù)據(jù)、處理數(shù)據(jù),抽取出相應(yīng)的信息;(6)反應(yīng)規(guī)則編輯模塊,提供反應(yīng)規(guī)則的編輯接口,用戶能夠通過該模塊自由定義反應(yīng)規(guī)則。
圖1 系統(tǒng)結(jié)構(gòu)
由于系統(tǒng)需要實(shí)時(shí)地監(jiān)控模擬作業(yè),當(dāng)計(jì)算過程進(jìn)行到新的階段時(shí),需要?jiǎng)討B(tài)地實(shí)時(shí)更新信息曲線圖和分子3D可視化模塊。為了減少不必要的資源調(diào)用以增加系統(tǒng)的效率,本文采用了觀察者的設(shè)計(jì)模式對程序進(jìn)行設(shè)計(jì),當(dāng)模擬階段更新后,將通知信息曲線圖和分子3D可視化,使之獲得數(shù)據(jù)進(jìn)行更新。
2動(dòng)力學(xué)蒙特卡洛動(dòng)態(tài)模擬語言
動(dòng)力學(xué)蒙特卡洛動(dòng)態(tài)模擬標(biāo)記語言(KMCDL)主要針對基于KMC方法的溶解擴(kuò)散過程的模擬,在設(shè)計(jì)該語言時(shí),盡量滿足溶解擴(kuò)散模擬的需求,于是需要從易用性、動(dòng)態(tài)性、規(guī)范性3個(gè)方面對語言的設(shè)計(jì)進(jìn)行考慮。在該標(biāo)記語言中,主要元素是原子、分子和鍵。每個(gè)原子都可以被分配類型和屬性。通常情況下,為了實(shí)現(xiàn)蒙特卡羅分子模擬方案,一般都是將復(fù)雜的分子結(jié)構(gòu)簡單化,復(fù)雜的化學(xué)反應(yīng)規(guī)則化,利用簡單的規(guī)則對分子運(yùn)動(dòng)進(jìn)行計(jì)算和模擬[12],接下來將對KMCDL進(jìn)行簡要介紹。
2.1基本特征
KMCDL文件的開頭和結(jié)尾都是KMCDL標(biāo)簽,一個(gè)KMCDL文件分為Head和Body兩個(gè)部分。Body中包含著可視化對象的相關(guān)信息,Head中包含著全局屬性等信息,被用來指定例如模擬時(shí)間、時(shí)間步長、原子之間的鍵是否應(yīng)該被自動(dòng)規(guī)范、是否需要重復(fù)運(yùn)行等信息。針對用戶不同的需求,該工具還可以對靜態(tài)模型進(jìn)行可視化。
KMCDL的Body部分包含著原子、分子和需要顯示的鍵。每一個(gè)原子、半徑、顏色和位置都可以指定。分子可以包含原子和鍵,每個(gè)分子的唯一信息都可以用三維世界中的位置、軸、轉(zhuǎn)角來確定。原子間的鍵能夠通過原子的唯一標(biāo)示符(ID)在初始化的時(shí)候設(shè)置,然后為鍵分配ID。使用DEFINE結(jié)構(gòu)可以允許用戶自己定義原子的特殊類型,定義之后就可以用它們來實(shí)例化該原子類型的對象。下面的一些例子說明這些標(biāo)簽的使用方法:例如氧和氫原子可以如下定義:
‘0.3’ color=‘0 0 1’ /> ‘0.2’ color=‘1 0 0’ /> 該語句指定氧原子顏色為藍(lán)色,半徑為0.3,氫原子顏色為紅色,半徑為0.2。因此,可以如下定義一個(gè)水分子: 2.2動(dòng)態(tài)性 到目前為止,所有的元素都是靜止的。根據(jù)溶解擴(kuò)散模擬的需求,需要建立溶解模型和為其提供動(dòng)力。KMCDL文件的Body標(biāo)簽內(nèi)包括了可視化模型的所有元素。例如,在三維模型空間中放置兩個(gè)水分子可以如下定義: TRANSLATE和ROTATE被定義以移動(dòng)和旋轉(zhuǎn)原子、分子。針對移動(dòng)和旋轉(zhuǎn),用戶需要首先定義操作對象的ID,然后分別為其定義起始時(shí)間、運(yùn)動(dòng)時(shí)間、終點(diǎn)坐標(biāo),旋轉(zhuǎn)角、旋轉(zhuǎn)時(shí)間。旋轉(zhuǎn)軸由被旋轉(zhuǎn)的物體的質(zhì)量中心定義。不論是原子或分子都可以對其移動(dòng)或者旋轉(zhuǎn)。運(yùn)動(dòng)過程由小球位置或轉(zhuǎn)角變化來表現(xiàn)。使用TRANLATE來移動(dòng)ID為w2的原子代碼如下所示: 該語句含義為,該對象將會(huì)使用0.2 s的時(shí)間移動(dòng)到坐標(biāo)(3.0.1)的位置。在這個(gè)時(shí)間間隔內(nèi),對象的坐標(biāo)將使用初始位置和終點(diǎn)位置并以時(shí)間作為參數(shù)進(jìn)行插值計(jì)算得出。連續(xù)使用TRANLATE,w2的位置將被連續(xù)進(jìn)行計(jì)算。 2.3規(guī)則化 為了使復(fù)雜的反應(yīng)簡單化,簡單的反應(yīng)規(guī)則化,將所有計(jì)算規(guī)則基于蒙特卡洛思想進(jìn)行轉(zhuǎn)化,在KMCDL文件中,采用REACTION標(biāo)簽來實(shí)現(xiàn)規(guī)則的建立,用戶需要自己定義反應(yīng)物、反應(yīng)條件、生成物、反應(yīng)概率、反應(yīng)優(yōu)先級(jí)、連通性等屬性。我們以硅溶于水的過程作為例子,語句如下: REACTION > 該語句意為設(shè)置該反應(yīng)ID為1,優(yōu)先級(jí)為1(最高優(yōu)先級(jí)),反應(yīng)物為硅和水,生成物是兩個(gè)水,該反應(yīng)表示的是硅在水中溶解。 2.4KMCSL語言到圖形的轉(zhuǎn)換 如何將KMCDL文件轉(zhuǎn)換成模型,在這里需要簡要描述一下其中的細(xì)節(jié)。首先,建立了一個(gè)事件解析器(如圖2),這個(gè)包含KMCDL API的類直接報(bào)告解析事件(例如事件的開始和結(jié)束),然后通過回調(diào)函數(shù)直接應(yīng)用。該應(yīng)用程序接收不同的事件以解決不同的事件。相較于將整個(gè)KMCDL文檔編譯為一個(gè)樹結(jié)構(gòu),然后使用應(yīng)用程序?qū)φ麄€(gè)樹進(jìn)行遍歷,后者方案的主要缺點(diǎn)是會(huì)導(dǎo)致系統(tǒng)承受巨大的壓力,特別是如果該文件特別大的時(shí)候。這種基于事件的解析器,能夠提供一個(gè)簡單靈活的方式處理XML文檔。文檔的大小能夠比系統(tǒng)可利用內(nèi)存大的多,程序所需的數(shù)據(jù)結(jié)構(gòu)能夠被回調(diào)函數(shù)直接組織供給。 圖2 事件解析器流程 3KMC計(jì)算過程可視化 3.1分子的表現(xiàn)形式 化學(xué)研究者希望看到反應(yīng)實(shí)時(shí)的狀態(tài)和各種變量的統(tǒng)計(jì)圖,于是我們使用三維模型來對化學(xué)反應(yīng)進(jìn)行實(shí)時(shí)的可視化,使用二維曲線圖來描述各元素的數(shù)量。分子有很多表現(xiàn)形式[11],為了簡化仿真模型,在分析了蒙特卡洛方法進(jìn)行分子模擬的特征后,我們使用球(Sphere) 來表示一個(gè)原子, 用線條來表示兩個(gè)原子之間的化學(xué)鍵,使用規(guī)則的三維網(wǎng)格來代表物體的整體結(jié)構(gòu),一個(gè)格點(diǎn)代表一個(gè)原子或者分子。在一個(gè)計(jì)算化學(xué)的計(jì)算過程中,分子包含的原子類型和數(shù)量是不會(huì)變化的,不斷變化的是每個(gè)原子的位置以及原子之間的化學(xué)鍵。為了提高計(jì)算速度,原子的屬性將進(jìn)行最大程度簡化。 3.2KMC模擬計(jì)算方法 在進(jìn)行模擬之前,用戶需要自己定義體系的大小,各種分子、原子的出現(xiàn)概率,上述信息將決定可視化模型中原子和分子的總量,系統(tǒng)會(huì)根據(jù)用戶產(chǎn)生相應(yīng)的模型。在每一輪計(jì)算中,每個(gè)節(jié)點(diǎn)都會(huì)被系統(tǒng)掃描一遍,如果符合任意一條用戶定義的反應(yīng)規(guī)則,反應(yīng)即被觸發(fā)并立即通知修改KMCDL文件。為了實(shí)現(xiàn)蒙卡實(shí)驗(yàn)中的某些特殊功能,系統(tǒng)中還內(nèi)嵌了一些適用于溶解擴(kuò)散模擬的算法,例如HK[13]算法、遺傳算法[14]等。 3.3可視化模型的優(yōu)化 對分子模擬可視化的一般實(shí)現(xiàn)來說,當(dāng)計(jì)算由一個(gè)階段到達(dá)另一個(gè)階段時(shí),需要重新構(gòu)建整個(gè)三維分子。當(dāng)分子體系很大時(shí),則會(huì)導(dǎo)致重建三維分子的速度變得非常緩慢。為了改善這種情況,根據(jù)需求我們給出了優(yōu)化方案:由于在整個(gè)計(jì)算過程中分子包含的原子是守恒的,變化的只是它們的位置和屬性,因此并不需要構(gòu)建新的對象。這樣就大大提高了計(jì)算過程可視化效率。為了避免系統(tǒng)在同一時(shí)間渲染的圖元過多的情況,位于視野外或者被其他圖形完全遮擋的圖形將不會(huì)渲染。用戶在和模型交互時(shí),可能會(huì)發(fā)生卡頓的現(xiàn)象,于是在用戶交互的時(shí)候會(huì)停止細(xì)節(jié)渲染,僅僅只渲染模型輪廓,為用戶帶來更好的交互體驗(yàn)。 4模擬規(guī)則可視化編輯器 4.1可視化工具 模擬規(guī)則可視化編輯器采用簡約和人性化的設(shè)計(jì)風(fēng)格,以解決用戶交互困難、文件編輯效率低等問題。該編輯器提供元素屬性與模擬規(guī)則的可視化編輯功能,能夠在可視化界面下對模擬所需元素進(jìn)行編輯,并將文本與實(shí)體進(jìn)行相互綁定,該可視化編輯工具旨在降低分析者使用復(fù)雜軟件的門檻,達(dá)到所見即所得的效果。 4.2模擬元素編輯 為了對模擬元素進(jìn)行編輯,用戶需要預(yù)先定義新的分子、原子類型,分子可視化編輯框的界面如圖3所示,新原子的初始化需要設(shè)置原子的形狀、大小、顏色、轉(zhuǎn)角。初始化原子信息后,接下來需要根據(jù)模擬方案的需要定義新的分子類型使用之前已定義的原子。分子的構(gòu)建十分容易,用戶只需要在三維的坐標(biāo)世界中對不同的原子進(jìn)行組合、連接,然后添加上原子之間的鍵,調(diào)整原子之間的二面角,為分子加上名字即可完成構(gòu)建。 4.3模擬規(guī)則編輯 對于模擬規(guī)則的編輯,用戶只需要將反應(yīng)物、生成物、反應(yīng)模式按照提示拖拽到畫板中,并且用線將相應(yīng)圖形進(jìn)行連接即可(如圖4),接著用戶需要根據(jù)自己的需求來定義反應(yīng)公式和反應(yīng)概率計(jì)算公式,使用公式對反應(yīng)概率進(jìn)行設(shè)定,編輯方式類似于Excel的公式編輯器。編輯器中定義有函數(shù)接口,例如Num(a)表示a原子的個(gè)數(shù)、Neighbor(b)對應(yīng)著掃描原子鄰接原子中b原子個(gè)數(shù)等。為了滿足用戶更多的要求,反應(yīng)規(guī)則中還設(shè)置有優(yōu)先級(jí)、連通性等屬性,能夠規(guī)定反應(yīng)的順序,設(shè)置分子是否要與外界連接。 圖3 反應(yīng)信息編輯界面 圖4 反應(yīng)規(guī)則編輯界面 5實(shí)驗(yàn)結(jié)果與分析 5.1系統(tǒng)實(shí)現(xiàn) 系統(tǒng)采用C++語言進(jìn)行編寫,QT作為界面工具,OpenGL作為繪圖工具,具有跨平臺(tái)的特性,如圖5所示。在3D分子模型中,用戶能夠設(shè)置視點(diǎn),如果視點(diǎn)在三維世界中,用戶可以固定視角觀察整個(gè)模型,如果視點(diǎn)在原子上,用戶可以跟隨該原子的位置,在三維世界中進(jìn)行漫游。在物質(zhì)信息視圖當(dāng)中,顯示有各個(gè)物質(zhì)數(shù)量隨計(jì)算步數(shù)變化的曲線。主模型在顯示的過程中會(huì)自動(dòng)根據(jù)時(shí)間間隔記錄當(dāng)前的狀態(tài),用戶可以點(diǎn)擊物質(zhì)視圖上相應(yīng)的時(shí)間查看該時(shí)刻可視化模型的信息。系統(tǒng)可以根據(jù)用戶設(shè)置將數(shù)據(jù)進(jìn)行存儲(chǔ),在模擬實(shí)驗(yàn)完成后可以按照步數(shù)將存儲(chǔ)的數(shù)據(jù)導(dǎo)出為常見文本格式,方便用戶之后進(jìn)行數(shù)據(jù)擬合,確定結(jié)果的正確性。該系統(tǒng)能夠根據(jù)計(jì)算量的大小來自動(dòng)分配繪圖和分析模擬的計(jì)算資源以防止出現(xiàn)UI線程阻塞等情況發(fā)生。在反應(yīng)規(guī)則列表與模擬記錄日志窗口之中,用戶可以查看自己定義的所有反應(yīng)規(guī)則,并且可以點(diǎn)擊規(guī)則進(jìn)行修改,在模擬記錄日志窗口之中,可以輸出重要信息,作為記錄進(jìn)行存儲(chǔ)。 圖5 KMCViewer系統(tǒng)概覽 5.2固化體玻璃融水實(shí)驗(yàn) 為了驗(yàn)證系統(tǒng)的可用性,我們結(jié)合固化體玻璃融水實(shí)驗(yàn)[10]對系統(tǒng)進(jìn)行評估,首先將玻璃融水的過程轉(zhuǎn)換為蒙特卡洛模型。玻璃體的溶解析出平衡式表示為: solid-Sn+nH2O?solid-(OH)n+Sn(n=1~3) 根據(jù)以上公式,考慮了地質(zhì)環(huán)境的因素,在模型中,我們考慮了硅、硼、鋁、鈉4種元素,其中硅、硼、鋁原子按照比例隨機(jī)分布到立方陣列的各點(diǎn)上,硅原子為四配位結(jié)構(gòu)與周圍鄰近原子有4個(gè)鍵,同時(shí)考慮硅的非橋氧結(jié)構(gòu),硼和鋁均為四配位結(jié)構(gòu),鈉原子隨機(jī)分布在網(wǎng)絡(luò)中的間隙位置,用來補(bǔ)償電荷。 硅的溶解反應(yīng)概率由配位環(huán)境決定,采用Ledieu[15]提出的公式以定義硅和鋁的溶解概率: wd(Si,n,m)=wn/rm wd(Al,n,m)=wn/rm+1 定義硅的析出概率為wred(i)=wccSi,硅選擇鄰近隨機(jī)位置析出,硼溶解后不再析出。圖6為模擬固化體玻璃在溫度為90 ℃,S/V=10 cm-1,浸出液中硅、硼和鋁濃度隨時(shí)間步長的變化。根據(jù)實(shí)驗(yàn)得到硅的飽和濃度為21.5 μg/mL, 硅在溶液中的摩爾分?jǐn)?shù)51.382 ,反應(yīng)參數(shù){w1,w2,w3,r} 等于{0.01,0.001,0.000 1,80} ,硅和鋁在鍵的數(shù)量和類型不同情況下的溶解反應(yīng)概率,硅和硼的浸出接近一致性溶解,設(shè)定硼的溶解反應(yīng)概率為0.001。鈉的溶解反應(yīng)概率嚴(yán)格為0。 模擬計(jì)算運(yùn)行大約11 000步后硅元素溶解析出達(dá)到平衡,將程序運(yùn)行5次求平均值并作圖,如圖7所示,當(dāng)?shù)竭_(dá)某一時(shí)刻, 整體的溶解和析出反應(yīng)概率相等,硅的浸出達(dá)到了平衡狀態(tài),這與一階動(dòng)力學(xué)法則相吻合。 由固化體玻璃的浸出液中硅的濃度變化可知,整個(gè)玻璃溶解達(dá)到穩(wěn)定狀態(tài)大概需要210 d左右,模擬計(jì)算所需的時(shí)間步長大約為16 100次,因此相當(dāng)于每天運(yùn)行76步,每一步包含對整個(gè)模型結(jié)構(gòu)的所有格點(diǎn)掃描一次,時(shí)間的統(tǒng)一可與實(shí)驗(yàn)結(jié)果進(jìn)行比較。通過在模擬過程設(shè)置相等的時(shí)間間隔,進(jìn)而提取出硅、硼和鋁原子的個(gè)數(shù),計(jì)算出硅、硼和鋁的摩爾分?jǐn)?shù)并與實(shí)驗(yàn)結(jié)果進(jìn)行比較。如圖7所示,可以看出實(shí)驗(yàn)數(shù)據(jù)與模擬數(shù)據(jù)吻合較好。 圖6 模擬曲線圖 圖7 實(shí)驗(yàn)結(jié)果圖 6結(jié)論 本文根據(jù)基于KMC方法的溶解擴(kuò)散模擬中出現(xiàn)的問題,結(jié)合可視化技術(shù)給出了詳細(xì)的設(shè)計(jì)和實(shí)現(xiàn),并根據(jù)該方案的特殊性,對可視化、數(shù)據(jù)的處理給出了優(yōu)化的解決方案,達(dá)到了很高的實(shí)時(shí)性。但系統(tǒng)中仍然有很多需要改進(jìn)的地方,例如,KMCDL的語法較為有限,能夠進(jìn)行的蒙卡實(shí)驗(yàn)也相對較少,在便捷性方面,用戶只能本地對模擬過程進(jìn)行控制,而不能遠(yuǎn)程操作。對此,在接下來的工作中,我們將擴(kuò)展KMCDL語言,使其擁有更廣的應(yīng)用范圍,并且將增加網(wǎng)絡(luò)功能模塊以實(shí)現(xiàn)網(wǎng)絡(luò)通信功能,使用戶能夠遠(yuǎn)程對模擬過程進(jìn)行控制。 參考文獻(xiàn) [1]高清. 動(dòng)力學(xué)蒙特卡羅方法在多尺度模擬中的研究及應(yīng)用 [D]. 重慶:重慶大學(xué), 2010. [2]BEELER R J, R. Jr J. Displacement spikes in cubic Metals. I. alpha-Iron, Copper, and Tungsten [J]. Physical Review B, 1966, 150. [3]GALLIVAN M A. Optimization, estimation, and control for kinetic Monte Carlo simulations of thin film deposition [J]. Proceedings of the IEEE Conference on Decision & Control, 2003, 4(4):3437 - 3442. [4]TC C, F. W. Kinetic Monte Carlo modeling of chemical reactions coupled with heat transfer[J]. Journal of Chemical Physics, 2008, 128(12):124-130. [5]Gaussian [EB/OL]. [2015-4-16]. http://www.gaussian.com/. [6]NWChem [EB/OL]. [2015-5-07]. http://www.nwchem-sw.org/index.php/Main_page. [7]DENNINGTON, R, KEITH, T, MILLAM, J. GaussView, Version 5.0 [R] Shawnee Mission, KS: Semichem Inc, 2009. [8]JMol: an open-source Java viewer for chemical structures in 3D [EB/OL].[2012-08-23]http://jmol.sourceforge.net/. [9]W H, A D, K. S. VMD: Visual molecular dynamics [J]. Journal of Molecular Graphics, 1996, 14(1):33-38. [10] KERISIT S, RYAN J V, PIERCE E M. Monte Carlo simulations of the corrosion of aluminoborosilicate glasses [J]. Journal of Non-Crystalline Solids, 2013, 378(11):273-281. [11] 陳建華, 段啟智, 金鐘,等. 基于網(wǎng)格的計(jì)算化學(xué)過程可視化 [J]. 計(jì)算機(jī)應(yīng)用研究, 2012,(2):432-434.DOI:10.3969/j.issn.1001-3695.2012.02.006. [12] ARUN B, CHANDRU V, GANGULY A D, et al. Molecular dynamics visualization with XML and VRML [C]. Proceedings of Computer Graphics International. IEEE, 2000,335 - 341. [13] HOSHEN J, KOPELMAN R. Percolation and cluster distribution. I. Cluster multiple labeling technique and critical concentration algorithm[J]. Physical Review B, 1976, 14(8): 3438. [14] WENG X, HAMEL L, MARTIN L M, et al. A genetic algorithm for energy minimization in bio-molecular systems [J]. IEEE Congress on Evolutionary Computation, 2005, 1(1):49 - 56. [15] LOWENSTEIN W. The distribution of aluminum in the tetrahedra of silicates and aluminates [J]. Am. Mineralo- gist,1954,39: 92-96. Visualization of Solution-Diffusion Simulation Based on KMC Method JIANG Hong-yu1, WU Ya-dong1, PENG Juan1, YANG Wen-chao1,LI Li2 (1.SchoolofComputerandTechnology,SouthwestUniversityofScienceandTechnology,Mianyang621010,Sichuan,China; 2.TheArmyinKunming,People’sLiberationArmyofChina,Kunming650000,Yunnan,China) Abstract:Kinetics Monte Carlo (KMC) method is often used to simulate chemical reaction, material changing, etc. The solution-diffusion simulation which based on KMC method is closely related with nuclear waste treatment and environmental safety. At present, there are some problems while using existing software to simulate solution-diffusion, for example, simulation rules building will cost too much time, bad arguments will cause blind computing. To solve the above problems, proposed a KMC simulation visualization system based on KMC dynamic markup language. Finally, experiments show the system can simplify the realization of solution-diffusion simulation based KMC method, make analysis more efficient and simple. Key words:Kinetic Monte Carlo; Molecular Simulation; Visualization of Calculation Processing 中圖分類號(hào):TP391.9 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1671-8755(2016)01-0049-06 作者簡介:蔣宏宇(1994—),男,本科生。通信作者:吳亞東(1979—),男,教授,博士,研究方向?yàn)閳D像圖形處理、可視化。E-mail:morethanvr@outlook.com 基金項(xiàng)目:國家自然科學(xué)基金項(xiàng)目(61303127);核廢物與環(huán)境安全國防重點(diǎn)學(xué)科實(shí)驗(yàn)室基金項(xiàng)目(13zxnk12);四川省科技廳科技支撐計(jì)劃項(xiàng)目(2014SZ0223);四川省教育廳重點(diǎn)項(xiàng)目(13ZA0169)。 收稿日期:2015-07-02