寧媛 張鵬 介軍
摘要:在材料科學(xué)中,位錯(cuò)線是晶體或晶格內(nèi)滑移面上已滑動(dòng)區(qū)的邊界,位錯(cuò)線的識(shí)別對(duì)于鑒定晶體的性能有著重要的影響。該文將三維可視化技術(shù)應(yīng)用到分子動(dòng)力學(xué)領(lǐng)域,改進(jìn)了原有的只能通過計(jì)算結(jié)果分析數(shù)據(jù)、通過二維圖像簡(jiǎn)單觀察數(shù)據(jù)的方法,設(shè)計(jì)了晶體位錯(cuò)可視化系統(tǒng),使得晶體中各原子之間形成的三維結(jié)構(gòu)易于觀察,便于研究晶體位錯(cuò)等重要的材質(zhì)特性,提高位錯(cuò)線的識(shí)別效率。
關(guān)鍵詞:位錯(cuò)線識(shí)別;三維可視化;骨架提取算法
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)16-3896-04
Abstract: In the material science, the dislocation lines are the boundary sliding of a crystal or a lattice slip plane,the identification of dislocation lines have a important impact for the property of crystals. The essay using the application of 3D visualization technology to the field of molecular dynamics and improving the conventional research ways, such as analyzing data by calculating results and observing the data by 2D images inconveniently, designing a visualization system for crystal dislocations. This way can make the 3D structure among atoms be observed easily, which is convenient to research the crystal dislocations and other important material properties, and improve the efficiency of the identification of dislocation lines.
Key words: the identification of dislocation lines; three-dimensional visualization; skeleton extraction algorithm
位錯(cuò)理論是金屬力學(xué)性能的理論基礎(chǔ), 是材料科學(xué)研究中所不可缺少的。1934年,科學(xué)家泰勒· 奧羅萬及波蘭伊幾乎同時(shí)提出了位錯(cuò)的假設(shè), 即認(rèn)為晶體中存在有一種線缺陷, 這一概念的提出成功地解釋了以前所無法解決的現(xiàn)象[1]。位錯(cuò)線的形成和發(fā)展可用弗蘭克-里德位錯(cuò)源(Frank-Read source)增值的原理解釋[2]:當(dāng)應(yīng)力超過臨界應(yīng)力時(shí),位錯(cuò)線擴(kuò)張,形成內(nèi)外兩部分,外部位錯(cuò)逐漸擴(kuò)大,內(nèi)部位錯(cuò)線恢復(fù)原狀,在外力作用下,不斷產(chǎn)生新位錯(cuò)環(huán),因而得到很大的滑移量。一個(gè)位錯(cuò)從材料內(nèi)部運(yùn)動(dòng)到了材料表面,就相當(dāng)于其位錯(cuò)線掃過的區(qū)域整體沿著該位錯(cuò)的伯格斯矢量方向[3]滑移了一個(gè)單位距離。在對(duì)材料進(jìn)行“冷加工”時(shí),其內(nèi)部的位錯(cuò)密度會(huì)因?yàn)槲诲e(cuò)的萌生與增值機(jī)制的激活而升高。因此,從微觀角度來看,位錯(cuò)線的識(shí)別對(duì)鑒定晶體的性能具有很大幫助。
目前,骨架提取算法的研究可以分為四大類:基于拓?fù)渑c幾何分析的方法、基于拓?fù)浼?xì)化的方法、基于距離場(chǎng)的方法以及廣義勢(shì)場(chǎng)方法[4]。綜合以上四類算法的利弊,結(jié)合所研究數(shù)據(jù)對(duì)象的特點(diǎn),該文所采用的改進(jìn)的骨架提取算法有以下幾個(gè)方面的優(yōu)勢(shì):
1)能有效處理點(diǎn)云數(shù)據(jù),適合離散模型,具有很高的執(zhí)行效率;
2)能有效處理網(wǎng)格數(shù)據(jù),有很好的連通性,對(duì)邊界噪聲不敏感;
3)能有效處理封閉的邊界網(wǎng)格,易于實(shí)現(xiàn),能較好的保證原晶體模型的拓?fù)浣Y(jié)構(gòu)。
本文所研究的對(duì)象為晶體的原子結(jié)構(gòu),通過IMD[5]計(jì)算出原子的三維坐標(biāo)以及活動(dòng)參數(shù)。例如原子的質(zhì)量,速度,勢(shì)能等。該算法能夠直接利用原子數(shù)據(jù)模型,獨(dú)立于特定的晶體結(jié)構(gòu),并且能夠維持最大的信息數(shù)量,保證晶體拓?fù)浣Y(jié)構(gòu)的完整,從而很好的識(shí)別出位錯(cuò)線。
2 算法描述
本文所使用的算法是基于拓?fù)浼?xì)化方法[4]和網(wǎng)格收縮法[6]的思想并結(jié)合晶體位錯(cuò)原子數(shù)據(jù)的特點(diǎn)采用了反距離插值法(IDW)[7]。通過讀入晶體位錯(cuò)的原子數(shù)據(jù)顯示出三維晶體,然后計(jì)算原子之間的距離與晶體中臨近原子的關(guān)系構(gòu)造出初始晶體的網(wǎng)格結(jié)構(gòu),再利用網(wǎng)格收縮的思想將已構(gòu)造的網(wǎng)格結(jié)構(gòu)收縮成折線,經(jīng)過后期處理,從而得到位錯(cuò)線,其中線與線之間的交界處可以理解為位錯(cuò)的節(jié)點(diǎn)。
算法的核心步驟如下所述[8]:
1)構(gòu)造初始網(wǎng)格,將原子替代為點(diǎn),原子與鄰近原子之間的歐幾里得距離若小于該晶體完美最近距離的1.2倍時(shí),在它們之間創(chuàng)建邊(線)。
2)在不改變晶體網(wǎng)狀拓?fù)浣Y(jié)構(gòu)的前提下,通過移動(dòng)相鄰節(jié)點(diǎn)使其相互接近收縮網(wǎng)格,當(dāng)網(wǎng)格收縮為一個(gè)由關(guān)鍵節(jié)點(diǎn)組成的折線時(shí),停止收縮。
3)如果兩個(gè)節(jié)點(diǎn)之間的距離下降到低于某一臨界閾值(例如最近鄰原子距離的十分之一)時(shí),合并兩個(gè)節(jié)點(diǎn)以降低網(wǎng)格的復(fù)雜性。
4)分析處理由于收縮、合并所形成的折線,除去閉合的位錯(cuò)環(huán)路,最終達(dá)到骨架化。
算法的具體過程如圖1所示:
2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
整個(gè)系統(tǒng)的設(shè)計(jì)是以上述的改進(jìn)的骨架提取算法為主線再結(jié)合三維技術(shù),調(diào)用三維圖形庫(kù)OpenGL 輔助實(shí)現(xiàn)的。在設(shè)計(jì)和實(shí)現(xiàn)上以低成本、擴(kuò)展性好、易操作、易觀察、專業(yè)性強(qiáng)等為特點(diǎn),在應(yīng)用功能上以較高的實(shí)用性,快速渲染,真實(shí)表達(dá)位錯(cuò)線特點(diǎn)為目的,為分子動(dòng)力學(xué)領(lǐng)域中的位錯(cuò)晶體識(shí)別做了更好的詮釋與演繹。endprint
晶體位錯(cuò)識(shí)別系統(tǒng)由六部分組成,如圖2所示。首先通過讀入由IMD計(jì)算好的數(shù)據(jù)文件顯示出原晶體模型,再根據(jù)限制條件對(duì)讀入的數(shù)據(jù)進(jìn)行分析與處理,然后進(jìn)一步建立收縮網(wǎng)格,當(dāng)網(wǎng)格收縮成一個(gè)滿足提取條件的位錯(cuò)線時(shí),顯示出最終的提取結(jié)果。
2.2 構(gòu)造初始網(wǎng)格
顯示出的晶體模型需要建立初始網(wǎng)格來為后續(xù)的骨架化過程做鋪墊。由原子和近鄰原子之間的關(guān)系創(chuàng)建初始網(wǎng)絡(luò)(無向圖)M =(V,E),為每一個(gè)原子創(chuàng)建一個(gè)節(jié)點(diǎn),定義一組節(jié)點(diǎn)V,若每?jī)蓚€(gè)節(jié)點(diǎn)之間的距離小于一個(gè)給定的閾值時(shí)(通常為完美最近距離的1.2倍),在它們之間創(chuàng)建邊(線),限定邊的集合為E。
使用歐幾里得距離公式計(jì)算每?jī)蓚€(gè)原子之間的距離:
[d=(x1-x2)2+(y1-y2)2+(z1-z2)2] (1)
其中x,y,z為原子的三維坐標(biāo)。初始網(wǎng)格的建立過程如圖3所示:
2.3 網(wǎng)格收縮
在不改變網(wǎng)格拓?fù)浣Y(jié)構(gòu)的前提下,通過移動(dòng)中心原子的臨近原子使原子相互接近實(shí)現(xiàn)網(wǎng)格收縮。這一過程不受約束,直到網(wǎng)格收縮到一個(gè)單一的點(diǎn)時(shí)停止。這時(shí)網(wǎng)格已局部轉(zhuǎn)換成一個(gè)骨架。其中的中心原子(關(guān)鍵節(jié)點(diǎn))通過如下所述的局部拓?fù)溥B接來確定:
設(shè)V'為從v節(jié)點(diǎn)出發(fā)且可以通過任意一條小于等于2的路徑到達(dá)的節(jié)點(diǎn)的集合。當(dāng)且僅當(dāng)從v到v'有一條唯一確定的小于等于2的路徑時(shí),定義v為關(guān)鍵節(jié)點(diǎn),即中心原子,其中v'[∈]V'。這一定義是為防止網(wǎng)格中任意四條或少于四條邊形成環(huán)路,這些環(huán)路將會(huì)影響網(wǎng)格收縮和后來的節(jié)點(diǎn)合并,因此需要被刪除。相反,若無進(jìn)一步的收縮,任一節(jié)點(diǎn)和它們的鄰邊所形成的一個(gè)沒有環(huán)路的連續(xù)路徑即為位錯(cuò)線。
由于在網(wǎng)格收縮的過程中,我們需要中心原子周圍的臨近原子能夠快速向其移動(dòng),而離中心原子較遠(yuǎn)的原子會(huì)由于距離的增大而作用力減小,因此采用反距離插值權(quán)重法(IDW)實(shí)現(xiàn)網(wǎng)格收縮,該方法主要依賴于反距離的冪值,冪參數(shù)可基于距輸出點(diǎn)的距離來控制已知點(diǎn)對(duì)插值的影響,離散點(diǎn)距離插值點(diǎn)越遠(yuǎn),其對(duì)插值點(diǎn)的影響力越低[7]。每個(gè)非關(guān)鍵節(jié)點(diǎn)v[∈]V從當(dāng)前位置[cv]更新到新的位置[cv'],根據(jù)下式考慮所有非關(guān)鍵節(jié)點(diǎn)[Nv]:
[cv'=cv+qn∈Nv(cn-cv)/(||cn-cv||2)m∈Nv1/(||cm-cv||2)] (2)
其中因子[q]控制普遍收縮率,當(dāng)[q]= 0.33時(shí)是收縮速度和精度之間的平衡值。
網(wǎng)格收縮的具體過程如圖4所示:
2.4 合并節(jié)點(diǎn)
為了減少網(wǎng)格的復(fù)雜性,若兩個(gè)節(jié)點(diǎn)之間的距離下降到低于某一臨界閾值時(shí)(例如最近鄰距離的十分之一),將兩個(gè)節(jié)點(diǎn)合并在一起。為防止網(wǎng)格中拓?fù)浣Y(jié)構(gòu)的修改,當(dāng)且僅當(dāng)點(diǎn)[va]和[vb]中至少有一個(gè)點(diǎn)為非關(guān)鍵節(jié)點(diǎn)且它們共享第三個(gè)節(jié)點(diǎn),并且它們所共享的節(jié)點(diǎn)能夠通過小于等于2的路徑到達(dá)時(shí),合并這兩個(gè)節(jié)點(diǎn)。這些要求能夠防止當(dāng)前網(wǎng)格的管道或環(huán)路塌陷,但不能保證在一系列的收縮和合并的過程中不改變拓?fù)浣Y(jié)構(gòu)。合并節(jié)點(diǎn)本身也是通過邊收縮的方法來實(shí)現(xiàn)的。邊([va],[vb])從網(wǎng)格E中刪除,[vb]從一組節(jié)點(diǎn)V中刪除,任意節(jié)點(diǎn)vx與節(jié)點(diǎn)vb組成的邊(vx,vb)由(vx,va)替代。在一個(gè)迭代中,若沒有節(jié)點(diǎn)移動(dòng)和合并則骨架化進(jìn)程終止。節(jié)點(diǎn)合并的過程如圖5所示:
2.5 后期處理
構(gòu)造好的初始網(wǎng)格經(jīng)過收縮和合并后,網(wǎng)格已經(jīng)被矢量化成為以折線表示的骨架。此時(shí),需要考慮兩種情況進(jìn)行修復(fù)處理:
1)位錯(cuò)開始和結(jié)束于位錯(cuò)結(jié)點(diǎn)、自由表面、或者形成一個(gè)閉和的環(huán)路。位錯(cuò)的起始和結(jié)束的交匯點(diǎn)可以認(rèn)為是一個(gè)節(jié)點(diǎn)周圍有不少于兩個(gè)的鄰近節(jié)點(diǎn)在自由表面上通過一個(gè)連結(jié)點(diǎn)連接。這兩個(gè)節(jié)點(diǎn)之間的位錯(cuò)線以折線表示。在這種情況下,如果有任意不屬于這些路徑的邊但屬于其它閉合的回路時(shí),也可以被提取。
2)所提取的位錯(cuò)線不一定在它們的位錯(cuò)中心處,因?yàn)橐粋€(gè)節(jié)點(diǎn)的位置在骨架化中可能會(huì)有顯著的改變。為達(dá)到拓?fù)浣Y(jié)構(gòu)穩(wěn)定,每個(gè)偏離微小位置的節(jié)點(diǎn)歸并到已經(jīng)被合并的所有節(jié)點(diǎn)的坐標(biāo)中去。
3 總結(jié)
讀入的晶體模型數(shù)據(jù)首先通過調(diào)用OpenGL圖形庫(kù)顯示出三維晶體模型,然后將晶體中的原子以點(diǎn)代替,原子間的關(guān)系以線代替構(gòu)造出晶體網(wǎng)格結(jié)構(gòu)。遍歷網(wǎng)格中所有的點(diǎn),對(duì)每一個(gè)點(diǎn)進(jìn)行判斷,若此點(diǎn)為非關(guān)鍵節(jié)點(diǎn),則移動(dòng)此點(diǎn)使網(wǎng)格收縮,當(dāng)任意兩個(gè)節(jié)點(diǎn)之間的距離達(dá)到臨界閾值時(shí),合并這兩個(gè)節(jié)點(diǎn)。當(dāng)所有節(jié)點(diǎn)不再移動(dòng)時(shí),對(duì)所形成的位錯(cuò)折線進(jìn)行后期處理,使其變?yōu)楣饣那€,即為最后的位錯(cuò)線。
本文與三維可視化技術(shù)相結(jié)合使用了一種可用于晶體位錯(cuò)線識(shí)別的骨架提取方法,并結(jié)合該方法設(shè)計(jì)并實(shí)現(xiàn)了晶體位錯(cuò)三維可視化系統(tǒng),為材料科學(xué)中的位錯(cuò)線識(shí)別提供了更直觀的幫助。在實(shí)際工作中,人們可以根據(jù)位錯(cuò)曲線方便的找出位錯(cuò)晶體的分布,從而更好的研究位錯(cuò)晶體的結(jié)構(gòu)特征。
參考文獻(xiàn):
[1] 沈寅忠.位錯(cuò)理論的形成與發(fā)展[J].金屬世界,1995(2).
[2] 余勇,潘曉霞.Frank-Read 位錯(cuò)源的細(xì)觀級(jí)模擬[J].金屬學(xué)報(bào),2009,45(11):1309-1313.
[3] 石德珂.材料科學(xué)基礎(chǔ)[M].北京:機(jī)械工業(yè)出版社,2003.
[4] 彭藝.三維模型骨架提取算法研究與實(shí)現(xiàn)[D].上海:華中科技大學(xué),2008.
[5] J.ROTH.IMD-A Molecular Dynamics Program and Applications[J].World Scientific,1999,1-12.
[6] Au OKC, Tai CL, Chu HK, Or DC, Lee TY. Skeleton Extraction by Mesh Contraction[J]. 2008.
[7] 劉光孟,汪云甲,王允.反距離權(quán)重插值因子對(duì)插值誤差影響分析[J].中國(guó)科技論文在線,2010,5(11):879-884.
[8]Begau C,Hartmaier A,George E P,et al.Atomistic processes of dislocation generation and plastic deformation during nanoindentation[J].Acta Materialia,2011,59(3):934-942.
[9] Ackland G J,Jones A P.Phys Rev B Applications of local crystal structure measures in experiment and simulation [J].2006,73(5):54-104.endprint
晶體位錯(cuò)識(shí)別系統(tǒng)由六部分組成,如圖2所示。首先通過讀入由IMD計(jì)算好的數(shù)據(jù)文件顯示出原晶體模型,再根據(jù)限制條件對(duì)讀入的數(shù)據(jù)進(jìn)行分析與處理,然后進(jìn)一步建立收縮網(wǎng)格,當(dāng)網(wǎng)格收縮成一個(gè)滿足提取條件的位錯(cuò)線時(shí),顯示出最終的提取結(jié)果。
2.2 構(gòu)造初始網(wǎng)格
顯示出的晶體模型需要建立初始網(wǎng)格來為后續(xù)的骨架化過程做鋪墊。由原子和近鄰原子之間的關(guān)系創(chuàng)建初始網(wǎng)絡(luò)(無向圖)M =(V,E),為每一個(gè)原子創(chuàng)建一個(gè)節(jié)點(diǎn),定義一組節(jié)點(diǎn)V,若每?jī)蓚€(gè)節(jié)點(diǎn)之間的距離小于一個(gè)給定的閾值時(shí)(通常為完美最近距離的1.2倍),在它們之間創(chuàng)建邊(線),限定邊的集合為E。
使用歐幾里得距離公式計(jì)算每?jī)蓚€(gè)原子之間的距離:
[d=(x1-x2)2+(y1-y2)2+(z1-z2)2] (1)
其中x,y,z為原子的三維坐標(biāo)。初始網(wǎng)格的建立過程如圖3所示:
2.3 網(wǎng)格收縮
在不改變網(wǎng)格拓?fù)浣Y(jié)構(gòu)的前提下,通過移動(dòng)中心原子的臨近原子使原子相互接近實(shí)現(xiàn)網(wǎng)格收縮。這一過程不受約束,直到網(wǎng)格收縮到一個(gè)單一的點(diǎn)時(shí)停止。這時(shí)網(wǎng)格已局部轉(zhuǎn)換成一個(gè)骨架。其中的中心原子(關(guān)鍵節(jié)點(diǎn))通過如下所述的局部拓?fù)溥B接來確定:
設(shè)V'為從v節(jié)點(diǎn)出發(fā)且可以通過任意一條小于等于2的路徑到達(dá)的節(jié)點(diǎn)的集合。當(dāng)且僅當(dāng)從v到v'有一條唯一確定的小于等于2的路徑時(shí),定義v為關(guān)鍵節(jié)點(diǎn),即中心原子,其中v'[∈]V'。這一定義是為防止網(wǎng)格中任意四條或少于四條邊形成環(huán)路,這些環(huán)路將會(huì)影響網(wǎng)格收縮和后來的節(jié)點(diǎn)合并,因此需要被刪除。相反,若無進(jìn)一步的收縮,任一節(jié)點(diǎn)和它們的鄰邊所形成的一個(gè)沒有環(huán)路的連續(xù)路徑即為位錯(cuò)線。
由于在網(wǎng)格收縮的過程中,我們需要中心原子周圍的臨近原子能夠快速向其移動(dòng),而離中心原子較遠(yuǎn)的原子會(huì)由于距離的增大而作用力減小,因此采用反距離插值權(quán)重法(IDW)實(shí)現(xiàn)網(wǎng)格收縮,該方法主要依賴于反距離的冪值,冪參數(shù)可基于距輸出點(diǎn)的距離來控制已知點(diǎn)對(duì)插值的影響,離散點(diǎn)距離插值點(diǎn)越遠(yuǎn),其對(duì)插值點(diǎn)的影響力越低[7]。每個(gè)非關(guān)鍵節(jié)點(diǎn)v[∈]V從當(dāng)前位置[cv]更新到新的位置[cv'],根據(jù)下式考慮所有非關(guān)鍵節(jié)點(diǎn)[Nv]:
[cv'=cv+qn∈Nv(cn-cv)/(||cn-cv||2)m∈Nv1/(||cm-cv||2)] (2)
其中因子[q]控制普遍收縮率,當(dāng)[q]= 0.33時(shí)是收縮速度和精度之間的平衡值。
網(wǎng)格收縮的具體過程如圖4所示:
2.4 合并節(jié)點(diǎn)
為了減少網(wǎng)格的復(fù)雜性,若兩個(gè)節(jié)點(diǎn)之間的距離下降到低于某一臨界閾值時(shí)(例如最近鄰距離的十分之一),將兩個(gè)節(jié)點(diǎn)合并在一起。為防止網(wǎng)格中拓?fù)浣Y(jié)構(gòu)的修改,當(dāng)且僅當(dāng)點(diǎn)[va]和[vb]中至少有一個(gè)點(diǎn)為非關(guān)鍵節(jié)點(diǎn)且它們共享第三個(gè)節(jié)點(diǎn),并且它們所共享的節(jié)點(diǎn)能夠通過小于等于2的路徑到達(dá)時(shí),合并這兩個(gè)節(jié)點(diǎn)。這些要求能夠防止當(dāng)前網(wǎng)格的管道或環(huán)路塌陷,但不能保證在一系列的收縮和合并的過程中不改變拓?fù)浣Y(jié)構(gòu)。合并節(jié)點(diǎn)本身也是通過邊收縮的方法來實(shí)現(xiàn)的。邊([va],[vb])從網(wǎng)格E中刪除,[vb]從一組節(jié)點(diǎn)V中刪除,任意節(jié)點(diǎn)vx與節(jié)點(diǎn)vb組成的邊(vx,vb)由(vx,va)替代。在一個(gè)迭代中,若沒有節(jié)點(diǎn)移動(dòng)和合并則骨架化進(jìn)程終止。節(jié)點(diǎn)合并的過程如圖5所示:
2.5 后期處理
構(gòu)造好的初始網(wǎng)格經(jīng)過收縮和合并后,網(wǎng)格已經(jīng)被矢量化成為以折線表示的骨架。此時(shí),需要考慮兩種情況進(jìn)行修復(fù)處理:
1)位錯(cuò)開始和結(jié)束于位錯(cuò)結(jié)點(diǎn)、自由表面、或者形成一個(gè)閉和的環(huán)路。位錯(cuò)的起始和結(jié)束的交匯點(diǎn)可以認(rèn)為是一個(gè)節(jié)點(diǎn)周圍有不少于兩個(gè)的鄰近節(jié)點(diǎn)在自由表面上通過一個(gè)連結(jié)點(diǎn)連接。這兩個(gè)節(jié)點(diǎn)之間的位錯(cuò)線以折線表示。在這種情況下,如果有任意不屬于這些路徑的邊但屬于其它閉合的回路時(shí),也可以被提取。
2)所提取的位錯(cuò)線不一定在它們的位錯(cuò)中心處,因?yàn)橐粋€(gè)節(jié)點(diǎn)的位置在骨架化中可能會(huì)有顯著的改變。為達(dá)到拓?fù)浣Y(jié)構(gòu)穩(wěn)定,每個(gè)偏離微小位置的節(jié)點(diǎn)歸并到已經(jīng)被合并的所有節(jié)點(diǎn)的坐標(biāo)中去。
3 總結(jié)
讀入的晶體模型數(shù)據(jù)首先通過調(diào)用OpenGL圖形庫(kù)顯示出三維晶體模型,然后將晶體中的原子以點(diǎn)代替,原子間的關(guān)系以線代替構(gòu)造出晶體網(wǎng)格結(jié)構(gòu)。遍歷網(wǎng)格中所有的點(diǎn),對(duì)每一個(gè)點(diǎn)進(jìn)行判斷,若此點(diǎn)為非關(guān)鍵節(jié)點(diǎn),則移動(dòng)此點(diǎn)使網(wǎng)格收縮,當(dāng)任意兩個(gè)節(jié)點(diǎn)之間的距離達(dá)到臨界閾值時(shí),合并這兩個(gè)節(jié)點(diǎn)。當(dāng)所有節(jié)點(diǎn)不再移動(dòng)時(shí),對(duì)所形成的位錯(cuò)折線進(jìn)行后期處理,使其變?yōu)楣饣那€,即為最后的位錯(cuò)線。
本文與三維可視化技術(shù)相結(jié)合使用了一種可用于晶體位錯(cuò)線識(shí)別的骨架提取方法,并結(jié)合該方法設(shè)計(jì)并實(shí)現(xiàn)了晶體位錯(cuò)三維可視化系統(tǒng),為材料科學(xué)中的位錯(cuò)線識(shí)別提供了更直觀的幫助。在實(shí)際工作中,人們可以根據(jù)位錯(cuò)曲線方便的找出位錯(cuò)晶體的分布,從而更好的研究位錯(cuò)晶體的結(jié)構(gòu)特征。
參考文獻(xiàn):
[1] 沈寅忠.位錯(cuò)理論的形成與發(fā)展[J].金屬世界,1995(2).
[2] 余勇,潘曉霞.Frank-Read 位錯(cuò)源的細(xì)觀級(jí)模擬[J].金屬學(xué)報(bào),2009,45(11):1309-1313.
[3] 石德珂.材料科學(xué)基礎(chǔ)[M].北京:機(jī)械工業(yè)出版社,2003.
[4] 彭藝.三維模型骨架提取算法研究與實(shí)現(xiàn)[D].上海:華中科技大學(xué),2008.
[5] J.ROTH.IMD-A Molecular Dynamics Program and Applications[J].World Scientific,1999,1-12.
[6] Au OKC, Tai CL, Chu HK, Or DC, Lee TY. Skeleton Extraction by Mesh Contraction[J]. 2008.
[7] 劉光孟,汪云甲,王允.反距離權(quán)重插值因子對(duì)插值誤差影響分析[J].中國(guó)科技論文在線,2010,5(11):879-884.
[8]Begau C,Hartmaier A,George E P,et al.Atomistic processes of dislocation generation and plastic deformation during nanoindentation[J].Acta Materialia,2011,59(3):934-942.
[9] Ackland G J,Jones A P.Phys Rev B Applications of local crystal structure measures in experiment and simulation [J].2006,73(5):54-104.endprint
晶體位錯(cuò)識(shí)別系統(tǒng)由六部分組成,如圖2所示。首先通過讀入由IMD計(jì)算好的數(shù)據(jù)文件顯示出原晶體模型,再根據(jù)限制條件對(duì)讀入的數(shù)據(jù)進(jìn)行分析與處理,然后進(jìn)一步建立收縮網(wǎng)格,當(dāng)網(wǎng)格收縮成一個(gè)滿足提取條件的位錯(cuò)線時(shí),顯示出最終的提取結(jié)果。
2.2 構(gòu)造初始網(wǎng)格
顯示出的晶體模型需要建立初始網(wǎng)格來為后續(xù)的骨架化過程做鋪墊。由原子和近鄰原子之間的關(guān)系創(chuàng)建初始網(wǎng)絡(luò)(無向圖)M =(V,E),為每一個(gè)原子創(chuàng)建一個(gè)節(jié)點(diǎn),定義一組節(jié)點(diǎn)V,若每?jī)蓚€(gè)節(jié)點(diǎn)之間的距離小于一個(gè)給定的閾值時(shí)(通常為完美最近距離的1.2倍),在它們之間創(chuàng)建邊(線),限定邊的集合為E。
使用歐幾里得距離公式計(jì)算每?jī)蓚€(gè)原子之間的距離:
[d=(x1-x2)2+(y1-y2)2+(z1-z2)2] (1)
其中x,y,z為原子的三維坐標(biāo)。初始網(wǎng)格的建立過程如圖3所示:
2.3 網(wǎng)格收縮
在不改變網(wǎng)格拓?fù)浣Y(jié)構(gòu)的前提下,通過移動(dòng)中心原子的臨近原子使原子相互接近實(shí)現(xiàn)網(wǎng)格收縮。這一過程不受約束,直到網(wǎng)格收縮到一個(gè)單一的點(diǎn)時(shí)停止。這時(shí)網(wǎng)格已局部轉(zhuǎn)換成一個(gè)骨架。其中的中心原子(關(guān)鍵節(jié)點(diǎn))通過如下所述的局部拓?fù)溥B接來確定:
設(shè)V'為從v節(jié)點(diǎn)出發(fā)且可以通過任意一條小于等于2的路徑到達(dá)的節(jié)點(diǎn)的集合。當(dāng)且僅當(dāng)從v到v'有一條唯一確定的小于等于2的路徑時(shí),定義v為關(guān)鍵節(jié)點(diǎn),即中心原子,其中v'[∈]V'。這一定義是為防止網(wǎng)格中任意四條或少于四條邊形成環(huán)路,這些環(huán)路將會(huì)影響網(wǎng)格收縮和后來的節(jié)點(diǎn)合并,因此需要被刪除。相反,若無進(jìn)一步的收縮,任一節(jié)點(diǎn)和它們的鄰邊所形成的一個(gè)沒有環(huán)路的連續(xù)路徑即為位錯(cuò)線。
由于在網(wǎng)格收縮的過程中,我們需要中心原子周圍的臨近原子能夠快速向其移動(dòng),而離中心原子較遠(yuǎn)的原子會(huì)由于距離的增大而作用力減小,因此采用反距離插值權(quán)重法(IDW)實(shí)現(xiàn)網(wǎng)格收縮,該方法主要依賴于反距離的冪值,冪參數(shù)可基于距輸出點(diǎn)的距離來控制已知點(diǎn)對(duì)插值的影響,離散點(diǎn)距離插值點(diǎn)越遠(yuǎn),其對(duì)插值點(diǎn)的影響力越低[7]。每個(gè)非關(guān)鍵節(jié)點(diǎn)v[∈]V從當(dāng)前位置[cv]更新到新的位置[cv'],根據(jù)下式考慮所有非關(guān)鍵節(jié)點(diǎn)[Nv]:
[cv'=cv+qn∈Nv(cn-cv)/(||cn-cv||2)m∈Nv1/(||cm-cv||2)] (2)
其中因子[q]控制普遍收縮率,當(dāng)[q]= 0.33時(shí)是收縮速度和精度之間的平衡值。
網(wǎng)格收縮的具體過程如圖4所示:
2.4 合并節(jié)點(diǎn)
為了減少網(wǎng)格的復(fù)雜性,若兩個(gè)節(jié)點(diǎn)之間的距離下降到低于某一臨界閾值時(shí)(例如最近鄰距離的十分之一),將兩個(gè)節(jié)點(diǎn)合并在一起。為防止網(wǎng)格中拓?fù)浣Y(jié)構(gòu)的修改,當(dāng)且僅當(dāng)點(diǎn)[va]和[vb]中至少有一個(gè)點(diǎn)為非關(guān)鍵節(jié)點(diǎn)且它們共享第三個(gè)節(jié)點(diǎn),并且它們所共享的節(jié)點(diǎn)能夠通過小于等于2的路徑到達(dá)時(shí),合并這兩個(gè)節(jié)點(diǎn)。這些要求能夠防止當(dāng)前網(wǎng)格的管道或環(huán)路塌陷,但不能保證在一系列的收縮和合并的過程中不改變拓?fù)浣Y(jié)構(gòu)。合并節(jié)點(diǎn)本身也是通過邊收縮的方法來實(shí)現(xiàn)的。邊([va],[vb])從網(wǎng)格E中刪除,[vb]從一組節(jié)點(diǎn)V中刪除,任意節(jié)點(diǎn)vx與節(jié)點(diǎn)vb組成的邊(vx,vb)由(vx,va)替代。在一個(gè)迭代中,若沒有節(jié)點(diǎn)移動(dòng)和合并則骨架化進(jìn)程終止。節(jié)點(diǎn)合并的過程如圖5所示:
2.5 后期處理
構(gòu)造好的初始網(wǎng)格經(jīng)過收縮和合并后,網(wǎng)格已經(jīng)被矢量化成為以折線表示的骨架。此時(shí),需要考慮兩種情況進(jìn)行修復(fù)處理:
1)位錯(cuò)開始和結(jié)束于位錯(cuò)結(jié)點(diǎn)、自由表面、或者形成一個(gè)閉和的環(huán)路。位錯(cuò)的起始和結(jié)束的交匯點(diǎn)可以認(rèn)為是一個(gè)節(jié)點(diǎn)周圍有不少于兩個(gè)的鄰近節(jié)點(diǎn)在自由表面上通過一個(gè)連結(jié)點(diǎn)連接。這兩個(gè)節(jié)點(diǎn)之間的位錯(cuò)線以折線表示。在這種情況下,如果有任意不屬于這些路徑的邊但屬于其它閉合的回路時(shí),也可以被提取。
2)所提取的位錯(cuò)線不一定在它們的位錯(cuò)中心處,因?yàn)橐粋€(gè)節(jié)點(diǎn)的位置在骨架化中可能會(huì)有顯著的改變。為達(dá)到拓?fù)浣Y(jié)構(gòu)穩(wěn)定,每個(gè)偏離微小位置的節(jié)點(diǎn)歸并到已經(jīng)被合并的所有節(jié)點(diǎn)的坐標(biāo)中去。
3 總結(jié)
讀入的晶體模型數(shù)據(jù)首先通過調(diào)用OpenGL圖形庫(kù)顯示出三維晶體模型,然后將晶體中的原子以點(diǎn)代替,原子間的關(guān)系以線代替構(gòu)造出晶體網(wǎng)格結(jié)構(gòu)。遍歷網(wǎng)格中所有的點(diǎn),對(duì)每一個(gè)點(diǎn)進(jìn)行判斷,若此點(diǎn)為非關(guān)鍵節(jié)點(diǎn),則移動(dòng)此點(diǎn)使網(wǎng)格收縮,當(dāng)任意兩個(gè)節(jié)點(diǎn)之間的距離達(dá)到臨界閾值時(shí),合并這兩個(gè)節(jié)點(diǎn)。當(dāng)所有節(jié)點(diǎn)不再移動(dòng)時(shí),對(duì)所形成的位錯(cuò)折線進(jìn)行后期處理,使其變?yōu)楣饣那€,即為最后的位錯(cuò)線。
本文與三維可視化技術(shù)相結(jié)合使用了一種可用于晶體位錯(cuò)線識(shí)別的骨架提取方法,并結(jié)合該方法設(shè)計(jì)并實(shí)現(xiàn)了晶體位錯(cuò)三維可視化系統(tǒng),為材料科學(xué)中的位錯(cuò)線識(shí)別提供了更直觀的幫助。在實(shí)際工作中,人們可以根據(jù)位錯(cuò)曲線方便的找出位錯(cuò)晶體的分布,從而更好的研究位錯(cuò)晶體的結(jié)構(gòu)特征。
參考文獻(xiàn):
[1] 沈寅忠.位錯(cuò)理論的形成與發(fā)展[J].金屬世界,1995(2).
[2] 余勇,潘曉霞.Frank-Read 位錯(cuò)源的細(xì)觀級(jí)模擬[J].金屬學(xué)報(bào),2009,45(11):1309-1313.
[3] 石德珂.材料科學(xué)基礎(chǔ)[M].北京:機(jī)械工業(yè)出版社,2003.
[4] 彭藝.三維模型骨架提取算法研究與實(shí)現(xiàn)[D].上海:華中科技大學(xué),2008.
[5] J.ROTH.IMD-A Molecular Dynamics Program and Applications[J].World Scientific,1999,1-12.
[6] Au OKC, Tai CL, Chu HK, Or DC, Lee TY. Skeleton Extraction by Mesh Contraction[J]. 2008.
[7] 劉光孟,汪云甲,王允.反距離權(quán)重插值因子對(duì)插值誤差影響分析[J].中國(guó)科技論文在線,2010,5(11):879-884.
[8]Begau C,Hartmaier A,George E P,et al.Atomistic processes of dislocation generation and plastic deformation during nanoindentation[J].Acta Materialia,2011,59(3):934-942.
[9] Ackland G J,Jones A P.Phys Rev B Applications of local crystal structure measures in experiment and simulation [J].2006,73(5):54-104.endprint