晶面從不獨行——它以一整疊出現
第 2 篇教你如何為一個晶面貼上標籤 (hkl):讀出截距、取倒數、清掉分數。但一個孤零零地切過晶體的晶面,其實有點虛構。因為晶格永遠重複,那個晶面在晶體裡有無限多個完全相同、彼此平行的複本,傾斜方向全都一樣、而且間距均勻。這疊晶面中相鄰兩個成員之間的垂直距離,就是晶面間距,寫作 d_hkl——正是本篇要談的量。
想像一副撲克牌、一棟高樓的樓層,或百葉窗的葉片。米勒指數 (hkl) 命名的是這疊牌的方位——它朝哪個方向傾斜——而 d_hkl 命名的則是牌疊得多密。在立方晶體裡,整個對稱等價的 {hkl} 晶面族共用同一個 d 值,因為對稱讓它們在幾何上可以互換。所以 d 不是某一個晶面的性質;它是整個晶面族、以及生成它的晶格的性質。
立方的情形——那個值得背下來的公式
對立方晶體而言,間距公式簡潔到不能再簡潔:d = a / sqrt(h^2 + k^2 + l^2),其中 a 是那唯一的立方邊長。用它的平方倒數形式更好記:1/d^2 = (h^2 + k^2 + l^2) / a^2。背後的幾何一看就懂:最靠近原點的 (hkl) 晶面在三軸上分別截於 a/h、a/k、a/l,而從原點到該晶面的垂直距離,算出來恰好就是這個 d——它同時也是這疊晶面中到下一個晶面的縫隙。
給它一個真實的數字。取一個 a = 4.00 埃的立方晶體。於是 d_100 = 4.00 / sqrt(1) = 4.00 埃,d_110 = 4.00 / sqrt(2) = 2.83 埃,d_111 = 4.00 / sqrt(3) = 2.31 埃,而 d_200 = 4.00 / sqrt(4) = 2.00 埃。注意這個趨勢:指數愈大,和 h^2 + k^2 + l^2 就愈大,於是 d 愈小。指數愈高的晶面,彼此疊得愈密——晶面間距方程式把這個規律寫得精確,而我們在底下還會再兌現它兩次。
- 把每個米勒指數平方後相加:對 (111) 是 1 + 1 + 1 = 3;對 (210) 是 4 + 1 + 0 = 5。
- 對這個和取平方根:sqrt(3) = 1.73,sqrt(5) = 2.24。
- 用邊長去除以它:當 a = 4.00 埃 時,d_111 = 4.00 / 1.73 = 2.31 埃,d_210 = 4.00 / 2.24 = 1.79 埃。
- 檢查趨勢是否合理:指數和愈大,d 一定愈小,所以指數愈高的晶面疊得愈密——絕不會反過來。
立方之外——一般的晶面間距方程式
立方是一份大禮,因為單一個長度 a 就決定了一切。在對稱較低的晶體裡,更多晶格常數登場,公式也隨之變長——每一個獨立的軸貢獻一項。每個算式的樣貌直接來自晶系:軸之間的相等關係愈少,方程式裡分開的部件就愈多,直到最一般的三斜情形,把三個邊長與三個角全都拖了進來。
SYSTEM 1 / d^2 =
------------ -------------------------------------------
Cubic (h^2 + k^2 + l^2) / a^2
Tetragonal (h^2 + k^2) / a^2 + l^2 / c^2
Orthorhombic h^2 / a^2 + k^2 / b^2 + l^2 / c^2
Hexagonal (4/3)(h^2 + h k + k^2) / a^2 + l^2 / c^2
Triclinic full expression in a, b, c and all
three angles alpha, beta, gamma (messy)這裡有兩處誠實。第一:立方公式 d = a / sqrt(h^2 + k^2 + l^2) 只適用於立方——把它拿去用在正方或六方晶體上,是一個經典又代價高昂的失誤,因為那些晶系需要自己額外的 c 項。第二,對六方晶體,你在第 3 篇見過四指數的米勒-布拉維系統 (hkil);請注意 d 的公式只用到 h、k、l。那個多餘的第三個指數 i = -(h+k) 不帶任何新資訊,所以它在間距方程式裡根本不會出現。
橋樑:從 d 到布拉格定律
為什麼要如此執著於 d?因為它是那個把看不見的晶格連到你能在桌上儀器讀出的數字的樞紐。布拉格定律說,一疊晶面只有在 lambda = 2 d sin(theta) 時才會強烈反射 X 光,其中 lambda 是波長、theta 是掠射角。想像回聲從一排間距均勻的峭壁反彈回來:反射波只有在某些特殊角度才會同步疊加,而那些角度完全由壁與壁之間的間距 d 決定。
用銅 K-alpha 輻射(lambda = 1.54 埃)為我們那個 d_200 = 2.00 埃 的晶面算一遍。把布拉格定律重排,sin(theta) = lambda / (2 d) = 1.54 / (2 乘以 2.00) = 0.385,於是布拉格角為 theta = arcsin(0.385) = 22.6 度。繞射儀實際上報告的是光束被折彎的總角度,也就是 2-theta = 45.3 度。d 大的晶面在小角度亮起,d 小的晶面在大角度亮起——所以一張繞射圖其實是一份偽裝過的晶面間距清單,而你能從這些 d 反推回邊長 a 與晶系。
關於反射的級數,有一個俐落的重點。更完整的敘述是 n 乘以 lambda = 2 d sin(theta),其中 n 是整數。從 (100) 晶面來的二級 (n = 2) 反射,落在與從 (200) 來的一級反射完全相同的角度,因為 d_100 恰好是 d_200 的兩倍。與其另外拿著一個 n 來回擺弄,現代慣例乾脆把它直接摺進指數裡——每一個反射都寫成對晶面 (nh nk nl) 的一級反射。所以 (200) 本身就代表「(100) 的二級反射」,你永遠不必額外拖著一個 n。
同一件事,用倒晶格的語言說
還有第二種攜帶 d 的方式,而它正是下一階要當作核心的那一種。與其在真實空間裡想像整疊平行的 (hkl) 晶面,不如用單獨一個點來代表整個晶面族。把這個點放在沿晶面法線的方向上,離原點的距離恰好是 1/d_hkl。那個點就是一個倒晶格點,而指向它的向量是 g_hkl,長度為 |g_hkl| = 1/d_hkl。一疊間距很寬的厚牌變成靠近原點的一個點;一疊間距很密的薄牌則變成遠遠在外的一個點。
這把間距公式裡那個彆扭的倒數,變成了線性、好畫的東西。這就是反尺寸關係:真實空間裡小的距離對應到倒空間裡大的距離,而一個大的真實單位晶胞會造出一個小的倒晶胞。而且這不只是記帳的把戲——繞射相機真的就是在拍攝倒晶格,直接把晶體的影子捕捉下來。下一階要建起這個影子世界,以及那顆能顯示某個波長究竟能觸及哪些倒晶格點的埃瓦爾德球。
這就是晶面間距的全部工作,而它是一頭主力牲口:為粉末繞射圖指標化、量測應變(把晶體拉伸,每個 d 都移動,峰也跟著挪),或用一組 d 值為未知物指認指紋。第 5 篇會從間距轉向另一種日常幾何,替這一階收尾——一組晶面共享的晶帶軸 [uvw]、堆在一個晶面上的原子密度(它挑選了滑移與解理),以及兩個晶面或兩個晶向之間的夾角。把這些誠實的邊界帶著走:立方公式只限立方、d 取決於晶格而非基元、位置給出晶胞而強度給出基元,而六方的 i 指數永遠不會進入 d 的公式。