寫在最前:科普向,如有錯誤還望輕拍
寫在最前2:由於是科普向,作者有意避開了一些專業名詞,比如單胞和原胞的差別(因為我發現分不清的還蠻多的)。後來發現這樣貌似並不好敘述,乾脆又加回去了。
學過晶體學或者X射線衍射亦或者電子衍射的同學都應該記得那個虐過N次的消光規律。具體來說就是,由於結構消光的存在,某些滿足布拉格方程的衍射點或衍射峯不見啦。比如在電子衍射中找不到fcc結構的110面也找不到bcc結構的111面。
衍射消光的推導過程應該在幾乎所有的相關書籍中都會提到,不外乎就是用結構因子。直到某一天,有個小夥伴問題起來,然後就有個這篇文章。
小夥伴提到的問題是:衍射消光的點(或者說晶面)對應的倒易點是否存在?
換句話說,我們都知道衍射斑點是倒易點陣的一部分。那麼衍射消光的點是因為晶面對應的倒易矢量在倒空間中不能指向存在倒易點的位置還是指向了倒易點但是因強度為0無法觀測到呢?
帶著這個問題,我諮詢了幾個材料學的老師和研究生(碩博均有)。多數認為僅僅是因為強度為0所以我們無法通過衍射觀測到罷了。理由很簡單,倒空間中的點對應實空間中的面,而倒易點陣是由這些點組成的,當然每一個面都能指向對應倒空間中的點陣啦。
我大致復現一下這個邏輯,以bcc為例,圖1中給出了典型的bcc點陣中(101)和(111)晶面。對於bcc點陣來說,(111)是結構消光的,而(101)是不消光的。我們以此為例來進行計算
根據倒易點陣的運算規則,bcc的倒易點陣是fcc。如圖2所示,我們很容易可以找出(101)和(111)對應的倒易矢量[101]*和[111]*。倒易矢量指向的位置是有倒易點的,這足以說明倒易點存在只是我們無法觀測到了吧。
且慢!這個推導似乎存在一點問題。
按照圖1中的a、b和c三個基矢,你有辦法得到整個bcc點陣嗎?沒有辦法,其實圖1中三個基本矢量的選擇是不合適的。基於最簡單胞原則的話,fcc和bcc點陣的單胞應該是圖3這樣的(其實就是原胞)。我們所熟悉的,便於理解的正方形格子(單胞)其實並不是fcc或者bcc的最簡狀況。因此,fcc和bcc點陣的基矢也應該在真正的單包(原胞)中選擇。就是圖中的 , 和 .
需要說明一下,由於科普向,並不想浪費筆墨在原胞和單胞的相互關係上(領會精神)。這裡我們稱立方體的是單胞,更小的是原胞。
實際上這個問題可以簡化為黨單胞大於原胞時,倒易點陣應該以原胞來計算。這個大家可以看後面。
我們還以bcc為例,上圖中單胞晶格常數為a,正方體的三個基矢分別為 , 和 。那顯然可以得到如下的結論:
為了方便計算,我們把 , , 轉化為以 , 和 為單位的坐標(正交繫好計算啊),那麼以 為例,他的倒易矢量:
注意到:
顯然,我們可以得到: ,
同理 ,
到了這一步我們就可以用原胞的基矢 , , 來描述倒易空間中(110)和(111)面的倒易矢量了。說明一下,這裡的(110)和(111)面仍然指的是以 , 和 為基矢時(也就是單胞單胞)的面指數。
則:
我們知道bcc的倒易點陣就是fcc,從圖3中的fcc晶體中可以看出 的倒易矢量指向了倒易點陣中存在的點。即,以 , 和 為倒易空間的基矢時,倒易點陣中存在(0,0,1)點。但是由於倒易點陣中不存在( , , )點,所以(111)面的倒易矢量在倒易空間中不指向倒易點陣中的點,因而也就無法在衍射中顯示出來。
我們還可以對任意 晶面做上述處理,得到
從圖3的原胞中可以看出顯然只有當倒易矢量的三個分量都是 , 和 的整數倍時才能指向倒易點陣中的點。
顯然只有: ; ; ,其中mnp為非負整數時上式才能指向倒易空間中存在的點
從數學上很容易得到 ,其中q為非負整數。即只有HKL之和為偶數的時候衍射點才能顯示出來。這和從結構因此的推導結果是完全一致的。
上述的結果可能會讓很多人很困惑,上述計算意味著在倒易點陣中單胞的(111)面的倒易矢量實際上是不存在的。這就很有意思了,要知道倒易空間和實空間是互為倒易的,怎麼可能會出現一個實空間中存在但是倒易空間中不存在的點呢?
這個問題其實很好解釋,還是我們在圖3中說的,fcc和bcc的單胞和原胞的問題。
如果我們仍然以立方體建立正交坐標系,那麼bcc單胞的(HKL)面的方程是 ,他在三個軸上的截距是 。如果我們把坐標軸轉換成原胞的 , , 呢。
以為例,幾何法可以算出平面 與 軸相交的坐標為 ,
那麼對的截距為
要知道軸方向的「晶格常數」
所以如果我們按原胞來計算的話,bcc(HKL)面的真正指數應該是(簡單起見不算負數):
同樣可以計算其他兩個方向的晶面指數:
顯然,只有H+K+L為偶數時才能滿足晶面指數必須為整數。這與我們通過結構因子或者倒易空間的推導是完全一致的。這說明什麼呢?這說明由於我們選取的單胞大於原胞導致我們表示出了實際上根本不能用晶面指數來表示的面。比如(111)面在原胞中應該表示成(0.5 0.5 0.5),顯然個面在原胞中是不存在的,因此你也就不可能找到他的倒易點。
寫了那麼多,實際上結構因子的意義是什麼?結果因子是直接從結構上來考慮的,本質上所有原子的散射之和。結構層面的推導,只需要讓每個點陣只包含一個原子就能變成點陣推導。我個人認為對於結構因子F,更多的應該關注其它對衍射強度的影響,而不是說只用來探討消光規律。