發表文章

目前顯示的是 6月, 2026的文章

拉曼結晶學(Raman Crystallography)

 在材料科學研究中,XRD經常用來做為材料相鑑定及結晶結構解析之工具。然而,基於X光散射之分析方法有以下限制。 第一,X光分析方法很大程度上,取決於材料中各元素對X光之散射強度,以鉍基氧化物為例,鉍周期表上不具有放射性之最高原子量元素,因此其擁有最高之X光散射強度,在鉍基氧化物之X光繞射圖譜中,因為鉍具有最高之X光散射強度,因此其X光繞射圖譜只能呈現結構中Bi之對稱性,而無法呈現O之對稱性。 另一方面,Raman光譜可做為鉍基材料結構鑑定之互補工具,然而這個方法目前仍有許多問題有待解決。在X光結晶學中,只要給定特定材料之結晶結構,即可以使用Fourier轉換,得到該結晶結構之理論X光繞射圖譜。因此可以使用迭代或是擬合的方式,快速回歸求得符合實際情況的晶體結構。 然而在Raman 光譜之研究中,目前仍然依賴群論分析、DFPT理論等工具,進行特定結晶結構之理論Raman光譜計算,基於DFPT理論之計算時間,受限於目前計算速度之限制,耗時非常之久,因此尚難以快速迭代之方式,針對特定Raman光譜逆向求得其材料之結晶結構。 不過我的問題是,有可能加速Raman光譜的運算速度嗎?或是以某種方式加速從Raman光譜回推晶體結構的速度? 畢竟在X光結晶學中,也是採用搜尋、匹配、精算的方式,才能快速地找到合適的晶體結構。 而晶體結構的拉曼光譜,也同樣是與晶體結構的對稱性、晶格參數、原子種類,等等參數有關,有可能研發一個以Raman光譜為起點,逆向找出結晶結構的軟體嗎? 首先來看看在XRD結晶學中的基本工具,第一個是Jade,這個軟體基本上是用來比對XRD圖譜的,使用者在軟體中滙入一個實驗的XRD圖譜,再來利用自動搜尋或是手動搜尋的方式,找到可以對應實驗XRD圖譜的JCPDS卡。在這個過程中可以先對實驗數據做一些精簡(Reduction),例如消除背景訊號,建立基線(baseline)等動作。如果選擇使用自動搜尋功能的話,就要先找到XRD圖譜中的峰的位置,所以需要自動尋峰及擬合的功能。最後則是在資料庫中尋找最符合圖譜特徵的JCPDS卡。 在Raman結晶學中,最大的問題是,目前還沒有像是JCPDS卡的資料庫,也沒有實驗數據資料庫,因此如果真的要開發這個程式的話,必需先創造一個像是JCPDS卡的格式,並且做一個資料庫來裝這些資料。並且資料來源也是一個問題,因為一開始可能沒有辦法...

Studio Project

最近到了寒假待在家沒什麼事可以做,就想來找個專題做做,為我下學期的課程做準備,也讓自已的技能不要因為放假而退步了。但是因為我的印表機放在台北,所以寒假期間只能先用AutoCAD把模型設計好,等開學了才能繼續把成品作出來。 我這次選的專題是SuperSonic Radar Base Lamp,大致上就是一個會藉由感知周遭環境來自動控制LED檯燈的裝置,例如有天你回家後覺得很累不想再花力氣去開燈,這個裝置就會自動幫你做這件事,同樣的他也可以自動幫你開關電扇,自動開關冷氣,你只需要專注在生活就好,再也不用為了電器煩惱,且因為他可以記錄你的生活習慣,所以他可以再發展成為智慧管家,當你的生活習慣有重大改變,像是你家被入侵時,他就可以依照你設定的方式通知你。 106/02/02(FRI) 這塊嘛,對於自造塊我一直覺得是初學者,縱使已經在這個領域玩了3年,但每次只要遇到新的專題,我都會很想像初學者一樣把每個工具、軟體、模組都自已在了解一次。 這次我就自已做了,雷逹的視覺工具,製做LED矩陣資料的工具,兩種工具都需要在Arduino以及Processing中間做配合,常常會因為Arduino跟Processing用的語言不一樣,而有資料型別相衝的問題。例如Arduino的Serial Port輸出的資料是ASCII 0~ 255,而Processing 的Serial Read卻是吐int 出來,這就會造成一些問題。 107/08/20(MON) 時間馬上到了107年的暑假尾聲,這個專題之所以沒有再繼續,是因為跟我配合的人完全沒有程式撰寫的經驗,本來我還期望他可以幫我寫一些控制LED矩陣的程式當做練習,但他顯然幫不上忙,所以最後就在人員短缺的情況下結束了這一個專題。這個經驗告訴我們,如果想要做好一件事,首先就要找到最好的人。 107/10/09(TUE) 於是這個專又在那位先生要找作業的題目再度開始,我們分別負責不同的工作,我做控制系統,他做推進系統,我覺得這樣的分工可以讓他更有動力做下去。 這一次要介紹的是我的遙控系統。我在二年前曾經用RF24L01這個好便宜的模組,想要來土砲一臺遙控車,但是因為Arduino Uno的電源不夠力,再上那個時候的經驗還不夠,所以就於棄了RF24改用WiFi模組來做,相隔了一年,這次我準備了一堆強力的電源,還有一塊新的Ar...

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將系統進行幾何優化到最低能量,再利用phon...