2009年8月4日 星期二

GSAS on Linux安裝筆記

第一次接觸到gsas這套自由軟體,是在成大地科系跟龔老師的高壓礦物研究室學來的。很幸運能夠幫忙開發轉換gsas格式的小程式,僅以此篇作筆記。

一、What's GSAS?
GSAS (General Structure Analysis System)是一套可以藉由中子繞射(neutron diffraction)以及X-ray資料來分析結構模型的一套系統。她可以分析單晶繞射、粉末繞射 (Rietveld analysis),或者兩者同時分析。 愧於筆者並非本領域出身,請詳見該網站的介紹。 作者是Allen C. Larson and Robert B. Von Dreele,Los Alamos National Laboratory。gsas並非開放原始碼軟體,作者也在首頁上說明別寫信跟他要原始碼。

二、下載及安裝
GSAS是一個文字介面(console mode)的程式,想要使用圖形介面還需安裝 EXPGUI;作者建議我們可以安裝bundle的版本:GSAS+EXPGUI。對於Linux的使用者,可以直接下載:

wget -c ftp://ftp.ncnr.nist.gov/pub/cryst/gsas/LINUX_gsas+expgui.tar.gz
假設把gsas放在/opt裡:
tar zxvf LINUX_gsas+expgui.tar.gz -C /opt
此時你需要以root權限設定一些變數:
echo " alias gsasgui=\"/opt/gsas/tcltk84+ /opt/gsas/expgui/expgui\"" >> /etc/skel/.bashrc

echo "export GSASHOME=\"/opt/gsas\"" >> /etc/skel/.profile
echo "export GSAS=\"/opt/gsas/exe\"" >> /etc/skel/.profile
有些linux版本(如RedHat系)可能是/etc/skel/.bash_profile,請自己留意。 最後,你需要在.profile裡對PATH作最後的修正:
export PATH="$HOME/bin:$PATH:$GSAS:$GSASHOME"
正規的Linux設定裡,.bashrc裡規範alias、終端機格式等;在.profile裡規範環境變數、區域變數,因此強烈建議依照筆者的設定方式去設定。 設定完成後,請使用者將/etc/skel裡的設定檔覆蓋到家目錄下即可:
cp /etc/skel/.bashrc ~/
cp /etc/skel/.profile ~/
設定在/etc/skel的好處在後續的維護上,往後新增使用者完全不必在設定一次。

你也可以參考for unix的教學。網站上的教學把alias設定在.profile裡,是違背當初設計的精神的;因此這樣設定雖然不會有誤,但還是強烈建議各位設定在.bashrc,而非.profile。

三、進階設定
使用者可以客製化自己的EXPGUI設定,請參考這裡
    請養成閱讀manual的好習慣,這裡有最新的手冊可以下載。

四、轉換小程式--JRaw2Gsas
我有為成大地科系高壓礦物實驗室寫了一個開放原始碼的小程式--JRaw2Gsas(The Java Raw to Gsas Transforming Program),各位可以到我的協作平台下載使用。不過功能只能轉換成大地科系的兩台X-ray機器,其他的可不保證喔!
這是我寫的第一個圖形程式,也是第一個考過SCJP後寫的小程式,我很高興!雖然功能很簡單,但是我還是把原始碼跟各位分享;只是諸位如果利用我的code修改後,還是要再使用GPL發佈出來唷!

沒有留言: