一種測量晶體表面結構之間距離的方法
【技術領域】
[0001] 本發明專利涉及一種測量晶體表面結構之間距離的方法,用于對大量結構進行自 動分析,能夠測量出兩晶體表面結構之間的距離。
【背景技術】
[0002] 晶體表面結構具有復雜多變的構型,目前,主要有兩種測量晶體表面結構之間 距離的方法:(1)計算表面原子之間的相互距離并進行數據離散化得到能夠表征結構 特征的"指紋"矩陣,然后計算兩結構之間的"指紋"的余弦距離,稱之為指紋余弦距離 (cosine-fingerprint-distance) ; (2)歐幾里德距離(歐氏距離,euclidean-distance) 法,即計算兩結構中原子之間位移的平方和的算術平方根。但是,這兩種方法都存在一定局 限性。指紋技術雖然能夠描述結構間的差別,但是在表達結構的構型方面比較薄弱,隨著 結構差異性的增大,指紋技術不能準確反應出結構之間距離,并且它的物理意義不夠明確。 歐氏距離能夠真實地反映出兩個結構之間距離,但是晶體的表面存在周期性,因此在歐氏 距離中,兩個結構中相應位置的原子之間的位移并不能真正地反映原子之間的實際最短距 離,這會給結構之間距離的測量造成大的誤差。
【發明內容】
[0003] 為了克服現有的用于測量晶體表面結構之間距離的方法的不足,本發明專利提供 一種新型的方法來準確地測量出兩個晶體表面結構之間的距離。
[0004] 以下結合圖1,介紹本發明中用于測量兩個晶體表面結構之間距離的方法,其包括 如下步驟。
[0005] 步驟0 :確定任意兩個待測量相互距離的晶體表面結構。
[0006] 步驟1 :對待測量的兩個晶體表面結構進行信息的讀取和存儲。讀取晶體表面結 構的相關信息并存儲到一個結構體數組,這些信息包括:(1)晶胞參數(一個3X3矩陣), (2)晶胞內原子的類型,(3)每種類型原子的數目,(4)每個原子的坐標,(5)結構的能量。 通過設定基板區厚度和表層區厚度,將整個結構分成三部分,即基板層區,表面層區,真空 層區。將三部分的晶胞參數及原子坐標也分別存儲到結構體數組里。
[0007] 步驟2 :晶體表面結構的原子坐標的整理排序。對要進行比較的兩個結構,選擇 表層區及真空層重新組合,得到一個新的晶胞。整理排序的對象是記錄晶胞內的原子坐標 的矩陣(nX3的矩陣,η表示原子的個數)。根據空間幾何原理對晶體表面結構進行網格化, 即對整個晶胞分成MXNX L個網格體,其中M表示在X軸方向上網格的數目,N表示在Y軸 方向上網格的數目,L表示在Z軸上網格的數目。每個網格立方體的邊長約為0. 5埃米,可 用一組整數[m,n,1]表示網格位置,同時根據網格位置,給每一個網格一個序號K,K的表達 式見公式(1)。計算同種類型的所有原子各自所在的網格位置[m,n,l]及網格序號K。任 意原子(坐標為[X,y,z])所在網格的求取方法,以X軸方向上網格位置為例(見公式(2))。 根據每個原子所處網格的序號K對原子的坐標進行整理排序
注:floor()為向下取整函數,如floor(l. 2) = 1。
[0008] 步驟3 :測量兩個結構之間的距離。本發明中根據幾何對稱性及晶體周期性原理, 發明了周期性空間內兩點位移的測量方法,如公式(3)所示。這種新的位移測量方法能夠 解決周期性對測量晶體表面上兩個原子之間距離造成的影響,可以求得兩個原子之間最短 的距離。將兩個結構之間的空間對應位置的每個原子的位移矢量的模進行平方,然后求和, 最后再開方求算術平方根,便可得到兩個晶體結構之間的距離,稱之為取余歐氏距離,見于 公式(4),
式中, Cooru :結構1中原子i的分數坐標; Coor2^ :結構2中原子i的分數坐標; Iat :晶胞參數的矢量矩陣。Iat包括表層區部分和真空層部分,真空層用于阻斷取余 運算對原子Z軸坐標差的影響; Vul :兩個結構對應位置的原子i之間的位移矢量; ?Ο?/_?//·5 :兩結構之間的距離,即取余歐氏距離; mod():取余運算,注:對于負數,取余運算和正數稍有不同,如mod(-0.2, 1)=0. 8; sign():符號函數。
[0009] 步驟4 :輸出兩結構之間距離的測量結果。輸出兩結構之間距離測量結果,同時輸 出兩個結構的標準格式顯示文件,將該文件加載入到常用建模軟件中便可顯示出結構的三 維圖像。
[0010] 步驟5:結束。
【附圖說明】
[0011] 圖1是本發明的流程圖。
[0012] 圖2是用于實施例中的4個結構。圖中的4個結構均為金紅石型二氧化鈦的(011) 面的結構,每個子圖的上部分為結構的正視圖,下部分為結構的俯視圖,俯視圖中底部的原 子采用點線方式呈現。圖中黑球表示氧原子,白球表示鈦原子。
【具體實施方式】
[0013] 實施例一:按以下步驟實施進行。
[0014] 步驟0.確定要對結構a和結構b進行距離測量。
[0015] 步驟1.讀取結構a,b的結構信息并存儲到一個結構體數組,這些信息包括:(1) 晶胞參數(一個3X3矩陣),(2)晶胞內原子的類型,(3)每種類型原子的數目,(4)每個原 子的坐標,(5)結構的能量。通過設定基板區厚度和表層區厚度,將整個結構分成三部分, 即基板層區,表面層區,真空層區。將三部分的晶胞參數及原子坐標也分別存儲到結構體數 組里。
[0016] 步驟2.對結構a,b的表面原子的坐標整理排序。選擇結構a,b的表層區及真空 層重新組合,得到新的晶胞,對記錄晶胞內的原子坐標的矩陣(nX3的矩陣,η表示原子的 個數)按空間位置進行整理排序。
[0017] 步驟3.測量結構a和結構b之間的取余歐氏距離。
[0018] 步驟4.輸出結構a和結構b的距離測量結果,模型a和模型b之間的距離為2. 530 埃米,并輸出兩結構的標準格式顯示文件,將該文件加載入到常用建模軟件中便可顯示出 結構的三維圖像。
[0019] 步驟5.結束。
[0020] 重復以上步驟,求得結構a和結構c之間的距離為11. 427埃米。由計算結果可以 得出結論:相較結構c而言,結構b與結構a更相似。
[0021] 實施例二:步驟與實施例1中的步驟完全一樣。
[0022] 該實施例中,對模型a, b, d三個結構進行分析。計算模型a與模型b的距離,模 型a與模型d之間的距離,以及模型b模型d之間的距離。
[0023] 輸出的結果為模型a與模型b之間的距離為2. 530埃米,模型a與模型d之間的 距離為3. 674埃米,模型b與模型d之間的距離為2. 460埃米。在圖2a,圖2b和圖2d中 的正視圖中,模型a,b,d三者之間構型差別不是很大,但在俯視圖中,三個模型所成的環形 有很大不同,其中模型b與模型d成環比較相近。從三者之間的距離上分析,也確實可以得 到結論模型b比模型a同模型d更為相近。
【主權項】
1. 一種測量晶體表面結構之間距離的方法,能夠測量出兩個不同晶體表面結構之間的 距離,方法包括以下步驟: 步驟O:任意兩個待測量相互距離的晶體表面結構; 步驟1:對待測量的兩個晶體表面結構進行信息的讀取和存儲; 步驟2 :晶體表面結構的原子的坐標整理排序; 步驟3 :測量兩個結構之間的取余歐氏距離; 步驟4 :輸出兩結構之間距離的測量結果及結構標準格式顯示文件; 步驟5 :結束。2. 根據權利要求1所述的方法,其特征是:發明了周期性空間內兩點位移的測量方法, 其能夠體現晶體表面的幾何對稱性和周期性。3. 根據權利要求1所述的方法,其特征是:在晶體表面結構的原子坐標整理步驟中,發 明了一種使用網格化分的技術對晶體結構中的原子坐標進行重新排序的方法;根據空間幾 何原理對晶體表面結構進行網格化分,即將整個晶胞分成MXNXL個網格體,其中M表示在 X軸方向上網格的數目,N表示在Y軸方向上網格的數目,L表示在Z軸上網格的數目海 個網格立方體的邊長約為0. 5埃米,可用一組整數[m,n,1]表示網格位置,同時根據網格位 置,給每一個網格一個序號K;根據每個原子所處的網格的序號K對原子進行整理排序。
【專利摘要】一種測量晶體表面結構之間距離的方法,其解決了現存的測量方法物理意義不明確和準確度不高的缺陷。本方法根據幾何對稱性及晶體周期性原理,發明了周期性空間內兩點位移的測量方法,先對兩個晶體表面結構的空間內對應位置的原子的位移矢量的模進行平方,然后求和,最后再開方求算術平方根,從而得到兩個晶體表面結構之間的距離。
【IPC分類】G06F17/50
【公開號】CN104915473
【申請號】CN201510245731
【發明人】龔學慶, 丁攀, 盧冠忠, 胡培君, 王海豐, 曹宵鳴, 郭楊龍, 郭耘, 王艷芹, 王筠松
【申請人】華東理工大學
【公開日】2015年9月16日
【申請日】2015年5月15日