屈 盛,楊留方,劉涵哲,馬雄韜,王玉林
(云南民族大學電氣信息工程學院,云南昆明650500)

晶面間距是固體物理學中的一個很重要的參數,研究晶體結構時往往會用到它.在《X射線衍射分析》和《材料科學》的不少教材中常常采用下式來計算立方晶格的晶面間距[1-3]:式中,a為立方系晶胞(單胞)的邊長(即晶格常數),而(hkl)是晶面的密勒指數,d為相應的晶面間距.在教學實踐中常常看到,在計算簡單立方晶格的晶面間距時,(1)式是正確無誤的,但在計算面心立方(FCC)晶格和體心立方(BCC)晶格的晶面間距時,(1)式所得出的結果有時是錯誤的.例如,利用(1)式計算 FCC晶格的(100)面和(111)面的晶面間距時,所得的結果分別為 a和 a/,即(1)式可以得出(100)面的晶面間距大于(111)面的晶面間距的結論.但由晶體學知識我們知道,FCC晶格中(111)面為最密排面,其晶面間距應該是所有晶面族中最大的.(1)式計算所得的結果與這個常識相矛盾,可見(1)式并不適用于 FCC晶格晶面間距的計算.
文獻[4]中指出了上述矛盾和(1)式的局限性,然而作者通過計算卻得出FCC晶格中(100)面和(111)面的晶面間距是相等的(均為a/).這顯然是錯誤的,因為FCC晶格中,(100)面和(111)面上的原子排列情況并不相同,(111)面是最密排面,而(100)面并不是最密排面,所以二者的晶面間距理應是不相同的.鑒于教材和文獻中對于晶面間距的計算(尤其是對于立方晶格的晶面間距的計算),過于籠統和不精確,本文對晶面間距的計算進行了深入的總結與討論,并給出一種利用密度比來計算晶面間距的方法,最后利用這些方法分別計算了FCC晶格和BCC晶格的晶面間距.如果不同方法的計算結果是完全相同的,則可以驗證這些計算方法都是正確的.
在有關教材中,常常采用2種基本的重復單元來描述晶格的周期性和對稱性[5-6]:一種是固體物理學原胞,另一種是晶體學單胞(也稱晶胞).對于布喇菲格子來說,原胞只在其頂角處存在原子,而晶胞則在其頂角、面心、體心、底心處均可以存在原子[5-7].因此,原胞和晶胞并不完全相同,只有簡單布喇菲格子(例如簡單立方、簡單四方、簡單正交等晶格)的晶胞才和它的原胞相同.參照文獻中的習慣,為了便于區別,本文也將原胞的基矢記為a1、a2和a3,對應的晶面的參數記為(h1h2h3),稱之為面指數;而將晶胞的基矢記為a、b和c,對應的晶面的參數記為(hkl),稱之為密勒指數[7].利用倒格矢的性質可以知道,(h1h2h3)晶面族的晶面間距可以由下式計算得到[7-9]:


實際工作中,常常用密勒指數(hkl)來表征晶面,而不是用面指數(h1h2h3)來表征晶面.由于晶胞的基矢 a、b、c和原胞的基矢 a1、a2、a3并不一定全同,因而對于同一族晶面,其密勒指數(hkl)與面指數(h1h2h3)并不一定相同,而(hkl)和(h1h2h3)相同,也并不一定表示同一晶面族[7].所以,(2)式和(3)式并沒有直接給出以(hkl)標記的晶面族的晶面間距[7].因此,對于實際工作來說,(2)式和(3)式的使用很有限,必須找出利用密勒指數(hkl)來表示的晶面間距dhkl的公式[8].
根據文獻[8],利用密勒指數(hkl)表示的晶面間距dhkl的計算公式可以歸納為[8]:

其中,Khkl=ha*+kb*+lc*為倒格式,而a*、b*、c*為倒格子基矢,而α=1或者2,是與結構有關的系數.
對于立方系布喇菲格子,由于a=b=c,故晶面間距可表示為:

由文獻[7-8]可知,對于簡單立方晶格,α恒等于1;而對于面心立方晶格,當h、k、l均為奇數時α等于1,否則α等于2;對于體心立方晶格,當h+k+l=偶數時α等于1;否則α等于2.也就是說,面心立方晶格的晶面間距的計算公式為[7-10]:

而體心立方晶格的晶面間距的計算公式為[7,10]:

顯然,(5)式比(1)式更能準確地反映出立方晶系(hkl)晶面族的晶面間距,(1)式只是(5)式在特定情況下的形式,或者說,(1)式只適合于計算簡單立方晶格的晶面間距,這就是本文開始部分中所提到的矛盾所產生的原因.
需要指出的是,(5)式簡化為(1)式的晶面條件和面心(體心)立方晶格產生X線的衍射的晶面條件相同,例如,計算面心立方(111)面的晶面間距時,由于此時滿足h、k、l均為奇數的條件,故(5)式簡化成了(1)式,而此時該結構的(111)晶面恰好也是對X線產生衍射的晶面.
如果將晶格中單位面積內所包含的原子數目定義為面密度σ,而將單位體積內所包含的原子數目定義為體密度ρ,則可以利用下式來計算晶格的晶面間距:

圖1給出FCC和BCC晶格的不同晶面上的原子排布情況,表1則給出了對應的不同晶面上的三角形或四邊形的面積、所含原子數目、計算得到的面密度、晶格的體密度和按照(6)式計算得到的晶面間距.表1的最后一列還給出了由(5)式計算得到的結果.由表1可以看到,(6)式的計算結果和(5)式的計算結果完全一致,因此兩式可以相互驗證對方的正確性.

利用(6)式計算晶面間距時,應注意體密度和面密度的計算要正確.計算體密度時往往取一個晶胞來計算.例如一個體心立方晶胞和一個面心立方晶胞的體積均為a3,且分別含有2個原子和4個原子,因此體心立方晶格和面心立方晶格的體密度分別為2/a3和4/a3.而計算面密度時則稍微復雜些.例如一個體心立方晶胞和一個面心立方晶胞的(100)面的面積均為a2,且分別含有1個原子和2個原子,如圖1所示,因此,體心立方晶格和面心立方晶格(100)面的面密度分別為1/a2和2/a2.故由(6)式計算得到的體心立方晶格和面心立方晶格(100)面的晶面間距均為a/2.
由上面的計算還可以知道,利用(6)式計算晶面間距比利用(5)式計算要復雜一些.但是(6)式沒有使用條件,可以應用于任何一個晶面族的計算,而(5)式應用于不同晶面族的計算時,系數α有所不同,如果記不住其使用條件,那么有可能會計算錯誤.
文中的(1)式并不能正確地計算所有立方晶格的晶面間距,在計算面心立方晶格和體心立方晶格的晶面間距時,應該使用(5)式來計算或者采用本文給出的(6)式來進行計算,(1)式只是(5)式在特定情況下的形式.從本文的例子可以看到,(5)式和(6)式的計算結果是一致的,它們可以相互驗證對方的正確性.

表1 利用密度比的方法來計算FCC和BCC的晶面間距時所得到的結果
[1]黃勝濤.固體X射線學[M].北京:高等教育出版社,1985:33-35.
[2]陳建,嚴文,劉春霞.材料研究方法[M].北京:化學工業出版社,2011:47-48.
[3]石德珂.材料科學基礎[M].北京:機械工業出版社,2003:43-44.
[4]馬天平,譚偉石.由面心立方(111)面間距談幾何晶體學的幾個基本概念[J].物理通報,2012(2):15-17.
[5]黃昆,韓汝琦.固體物理學[M].北京:高等教育出版社,1988:6-11.
[6]方俊鑫,陸棟.固體物理學(上冊)[M].上海:上海科學技術出版社,1980:13-31.
[7]吳英凱.以密勒指數(hkl)標志的晶面族面間距公式[J].大學物理,1991(10):7-14.
[8]馮家顯.面間距公式的一點探討[J].浙江師范大學學報:自然科學版,1989,12(2):84 -89.
[9]馮雙久,張曉紅.有心立方晶格面間距的計算[J].大學物理,2005,24(9):33 -34.
[10]宮秀敏,朱勇,周一志.關于FCC和BCC點陣晶面間距計算式的證明[J].武漢工學院學報,1991,13(1):51-57.