Quantum Espresso Hacking
Quantum Espresso Hacking故名思義就是想要從一個駭客的角度,來理解Quantum Espresso這個軟體,會想要做這個題目的最大原因是讀博士班讀到一半,本來以為自己要畢業了,結果因為論文寫不出來和期刊寫不出來,等等理由,被老師多留下來半年。本來想著這半年就拿認真寫論文,但發現當初找的學位考試口委,有其中一個是純理論背景的,為了不要在口認的時候被問倒,所以現在想要靠著每天寫一天關於Quantum Espresso的文章,加減學習一下密度泛函理論的相關知識。
在之前的文章裡,我寫了一個Quantum Espresso的GPU版本的安裝方式,本來裝這個是為了要更快地算出材料的Raman光譜,但後來發現需要有更大VRAM的GPU,才能支援我作到那個工作,而那會花我超多錢,所以現在就退而求其次,先解決其它問題,再來認真的做Quantum Espresso裡的GPU版本計算工作。
在Quantum Espresso裡的Raman 光譜計算工作,有一個對我來說很嚴重的問題,那就是他只支援LDA XC Potential,而我平常在Material Studio 的CASTEP模組裡,都是使用GGA PBE的Potential,因此有可能造成計算結果無法再現的問題。
所以現階段的研究目標,就是讓Quantum Espresso可以支援GGA PBE的Raman 光譜計算。在知道如何實作這個功能前,首先從一個操作面向來看看,怎麼用Quantum Espresso計算出一個材料的Raman光譜。
一個我很想吐槽Quantum Espresso的點就是,比起CASTEP在一開始的設計的時候,就己經朝著虛擬實驗室的方向開發,所以全部有關於現實的實驗數據的運算,都被放在一個可以輕鬆找到的地方,Quantum Espresso就像是一個純粹為物理人寫的程式,很多東西如果沒有仔細地去研究,其實會不知道怎麼用。
舉Raman光譜計算的例子來說,在Quantum Espresso裡,或是一些量子力學教科書的內容裡,Raman光譜可以從聲子(Phonon Dispersion)的頻散(Dispersion)關係中得到,也就是Phonon Dispersion,而在Quantum Espresso中要計算得到Raman光譜,首先得用pw將系統進行幾何優化到最低能量,再利用phonon計算lrraman,再用q2r將其轉換到真實空間,再用matdyn得到dynamical matrix,最後再用dynmat計算得到Raman光譜。老實講在這一連串的計算裡,沒有半個字和Raman光譜有關的,所以也很可以想像初學者在遇到這個計算流程的時候會有多麼的無解。
所以接下來就一一地解析pw, phonon, q2r, matdyn, dynmat各自都做了什麼事。
總而言之,Q2R會把PHonon計算出的力常數結果從q網格,變成原子間的力常數。
matdyn則是接收Q2R的結果,計算聲子的頻率。dynmat則是用matdyn的結果計算IR和Raman的corss section。
OK,所以東一個,西一個地冒出了一堆專有名詞,像是力常數(force constant),原子間力常數(interatomic force constant),聲子(Phonon),聲子頻率(Phonon Frequency),截面積(cross section),這些專有名詞究竟是怎麼被計算出來的?而他們之間又有什麼關係呢?
這個問題,可以到晶格動力學的教科書裡,找找答案。
簡單來說原子間力常數、聲子、聲子頻率和截面積,都和聲子量子化有關。聲子其實就是晶格中原子的集體振動行為,聲子頻率就是晶格振動的頻率,而原子間力常數就是拿來量化晶格動態行為的物理常數。
用比喻來說,晶格就像是一座橋上站了一些人,這些人之間的距離都相同,所以符合晶格的平行移動對稱性。當有一個人晃動這座橋時,橋不一定會跟著晃動,因為如果晃動的頻率,和橋的長度、晃動的傳遞速度,對不上時,晃動和晃動之間就會相互扺消,而當晃動頻率剛好對上橋的自然頻率時,橋就會劇烈晃動。而在物理學中用來描述橋的總總參數,對晃動行為影響的東西,就叫做動態矩陣(Dynamical Matrix),而動態矩陣和外加波函數可以組成一個特徵值問題(Eigen Value Problem),而這個特徵值問題的解,就叫做原子間力常數(Interatomic Force Constant)。
首先和我們的問題最有關係的Raman Cross Section是什麼呢? 在大多數的光譜學裡,Cross Section指的就是入射光和物質交互作用的機會,當Cross Section愈大時,交互作用也就愈大,而Raman Scattering的Cross Section愈大,也就代表該材料會發生Raman Scattering 的機會愈大,訊號也就愈強。
那麼Raman Cross Section為什麼會和dynamical matrix有關呢?
dynamical matrix其實就是interatomic force constant的Fourier變換
dynamics=Newton's Second Law=F=ma.
但如果經常閱讀Raman光譜第一原理計算的文獻,就會知道Raman光譜的計算結果,其實和晶體的對稱性相關的,簡單來說晶體結構決定晶體對稱性,而晶體對稱性決定哪些振動模式會出現。
那麼在Quantum Espresso中,又是如何考慮到對稱性的呢?簡單來說就是利用群論(Group Theory)
因為這個工作就算是一個,每天上來工作一點就來更新一點,日誌型式的內容,所以有時候會發現我寫到一半就沒有了,那就只能下集待續了。另外,在本網誌的其它文章經營上,我發現如果先在Youtube上發一個影片,然後再把人轉到Blogger的話,流量會超級高的,所以未來在這個文章或是相關主題達到一定的規模的時候,應該也會考慮錄個Youtube來擴大一點觸及率。
留言
張貼留言