顯示具有 science.software 標籤的文章。 顯示所有文章
顯示具有 science.software 標籤的文章。 顯示所有文章

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發佈出來唷!

2008年12月11日 星期四

matlab R2008A for Linux簡易安裝筆記

因為有學生在問,想想也許研究室的學弟也有需要在UNIX或linux安裝matlab的困擾,因此就做一篇簡單的、圖較多文較少的筆記,希望或多或少有幫助。

1. 將光碟或是iso檔掛載到系統上。假設是光碟機的話,你應該可以在/media/cdrom下面找到一個install的script。假設你是下載學校的iso檔,那麼你可以手動掛載。執行安裝的過程可以由下列簡單的script看出來:

#!/bin/bash
#you must execute this script as root!
mkdir /opt/matlab
mount -o loop MATHWORK_R2008A.iso /mnt
cp /mnt/license.dat /opt/matlab
./mnt/install
不過在我的debian下還是出現了一個錯誤訊息。如果你可以看到安裝圖形,那麼請略過此段。 -------------------------------------------------------------------
An error status was returned by the program 'xsetup',
the X Window System version of 'install'.

The following messages were written to standard error:
/mnt/update/bin/glnx86/xsetup: error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or directory
Attempt to fix the problem and try again.

If X is not available or 'xsetup' cannot be made to work then try the terminal version of 'install' using the command:
install* -t or INSTALL* -t
-------------------------------------------------------------------
Sorry! Setup aborted . . .

原來是缺了一個共享函式。一般而言,這種大型軟體為了求速度跟安裝時的便利性,會用到的share library都不多,通常都是static library。不過既然如此,我們就找找看該怎麼安裝他。

apt-file search libXp.so.6
得到3個結果:
libxp6: /usr/lib/libXp.so.6
libxp6: /usr/lib/libXp.so.6.2.0
libxp6-dbg: /usr/lib/debug/usr/lib/libXp.so.6.2.0
想必就是第一個啦:
aptitude install libxp6 -y
再次以root執行/media/cdrom或/mnt裡的install指令。
01.選擇不從網路安裝。
02.我的習慣是像solaris一樣把使用者自己安裝的第3方程式放在/opt。
你也可以像一般linux的建議放在/usr/local/share,那都是沒有硬性規定的。
03.這個地方指定學校給我們所使用的序號。我偷偷的研究了一下,學校的序號所能使用的工具比較少^^。
04.從這裡自訂需要安裝哪些功能。matlab很多強大的功能我也不是很懂,自己慢慢研究吧~
05.這是matlab貼心的為你做一個軟連結。在linux/unix的世界裡(當然包含mac os),至否支援此命令除了權限以外,還有PATH環境。
一般使用者可以用的命令包含有/usr/bin, /usr/local/bin等等,你可以填入上述兩者皆可。
06. 輸入學校買授權檔案。再次強調...學校買的軟體在學校用就好!
07. 有時後matlab還是找不到你指定的檔案。沒辦法,指定一個給他吧!
08. 找到授權檔之後,就可以開始安裝。
09. 我個人認為安裝的速度很快呢!
10. 安裝成功的訊息。如果你看到這裡,只是成功了一半而已。
11. 啟用matlab需要在一次檢查授權檔。
12. 在指定一次給他吧。我也不知道為什麼,在安裝時已經檢查過的授權檔,為何此時還要在檢查一次呢?
13. 檢查成功後會自動啟用matlab主程式。2008年2月10日的版本耶!第一次用到這麼新的版本,不知道會不會跑比較快?
個人認為跑得快比較重要!
14. matlab的IDE介面。

對於matlab的語法還算蠻有興趣的,感覺不會很難又能畫出漂亮的圖形,改天在試試看好了。

在OpenSource的世界裡,有一個科學計算繪圖的工具叫作octave,不過他沒有圖形介面,據說跟matlab有很好的相容性,許多買不起matlab的機關都會建議使用octave;只可惜,我也不熟...

相關文章:
Octave note
Octave tutorial
Matlab程式設計入門篇
Matlab程式設計與應用--張智星
matlab練習
matlab基礎教學
matlab計算機應用