basic building nwchem in pc

Salah satu program kimia komputasi bersifat free dan opensource adalah NWChem buatan EMSL. Program ini mampu melakukan beberapa fungsi perhitungan komputasi biasa, simulasi dan perhitungan band structure. NwChem didistribusikan dalam dua jenis, file binary dan source codenya. Menariknya, NWChem didesain agar efektif dijalankan secara paralel (tapi saya hanya punya 1 PC di rumah😦 ). NWChem sendiri tersedia untuk beberapa platform komputer seperti linux, cray, sgi, ibm, sp2, ksr, sun, dec.

Kompilasi NWChem sebenarnya gampang, tinggal ikut petunjuknya saja kok🙂. Hanya saja di versi NWChem yang saya punya, 6.0 kompilasi harus memakai make 3.81 karena pengalaman pernah mengkompilasi menggunakan make 3.82 selalu gagal. Kita langsung saja ke step by stepnya. Di sini saya hanya menggunakan basic build instruction-nya saja karena kompilasi NWCHem tergantung dari platform komputer yang kita gunakan dan juga apakah di PC biasa atau di kluster komputer.
Oia, kompilasi NWCHem, setahu saya pake csh, jika shell defaultnya bash harus diganti dulu dengan csh
$ /bin/csh
%
-> download NwChem-nya dulu.
-> ekstrak file Nwchem-6.0.tar.gz (Saya download ini kira-kira bulan Ramadhan yang lalu)
% tar zxfv Nwchem-6.0.tar.gz
-> pindah ke direktori NwChem-6.0
% cd $HOME/nwchem-6.0
-> set direktori utama nwchem-6.0
% setenv NWCHEM_TOP /home/neax502/nwchem-6.0
-> pindah ke direktori src
% cd $NWCHEM_TOP/src
-> set target kompilasi
% setenv NWCHEM_TARGET LINUX
-> pilih modul yang akan dikompile (semuanya juga boleh)
% make nwchem_config NWCHEM_MODULES all
-> kompilasi semuanya, di sini saya menggunakan gfortran karena pernah memakai f77 hasilnya error. Namun, jika kalian punya kompiler fortran yang lain, misalnya Intel Compiler atau dari Portland monggoo😀
% make FC=gfortran >& make.log & -> jika ada kompiler lain, ganti make FC=kompiler lain.

Kompilasi akan berjalan beberapa saat, kalo di komputer saya sih kurang lebih 1 jam. Setelah kompilasi selesai akan ada file nwchem dan paralel di $NWCHEM_TOP/{NWCHEM_TARGET}. Langkah selanjutnya tinggal mengkopi ke direktori yang bisa dibaca semua user, misalnya saja di /usr/local/
% sudo mkdir /usr/local/NWChem
% sudo mkdir /usr/local/NWChem/bin
% sudo cp $NWCHEM_TOP/bin/${NWCHEM_TARGET}/nwchem /usr/local/NWChem/bin
% sudo cp $NWCHEM_TOP/bin/${NWCHEM_TARGET}/parallel /usr/local/NWChem/bin
% sudo cd /usr/local/NWChem/bin
kemudian kopikan folder data di direktori $NWCHEM_TOP/src ke /usr/local/NWChem
% sudo cp -r $NWCHEM_TOP/src/data /usr/local/NWChem
kopikan folder library basis set ke /usr/local/NWChem/data
% sudo cp -r $NWCHEM_TOP/src/basis/libraries /usr/local/NWChem/data
kopikan juga folder berisi plane wave basis set
% sudo cp -r $NWCHEM_TOP/src/nwpw/libraryps /usr/local/NWChem/data
% kemudian buat file default.nwchemrc di direktori /usr/local/NWChem/data
% sudo vim default.nwchemrc, isi file tersebut adalah sebagai berikut :
nwchem_basis_library /usr/local/NWChem/data/libraries/
nwchem_nwpw_library /usr/local/NWChem/data/libraryps/
ffield amber
amber_1 /usr/local/NWChem/data/amber_s/
amber_2 /usr/local/NWChem/data/amber_q/
amber_3 /usr/local/NWChem/data/amber_x/
amber_4 /usr/local/NWChem/data/amber_u/
spce /usr/local/NWChem/data/solvents/spce.rst
charmm_s /usr/local/NWChem/data/charmm_s/
charmm_x /usr/local/NWChem/data/charmm_x/
setelah itu buat link ke direktori /home/$USER
% ln -s /usr/local/NwChem/data/default.nwchemrc ~/.nwchemrc
sampai di sini semua sudah siap, tinggal coba NWChem-nya saja. Untuk mencobanya agar folder NWChem bisa dibaca oleh semua user saya menggunakan chmod -R 777 dan mengganti owner dari folder tersebut menjadi nama user menggunakan chown [OWNER]:[GROUP]. Terakhir agar NWChem bisa langsung dipanggil dari terminal saya mengedit sedikit .bashrc dan menambahkan alias nwchem=’/usr/local/NWChem/bin/nwchem’, terus source .bashrc.

Sekarang kita tes NWCHemnya menggunakan file examples-nya saja.
~/nwchem-6.0/QA/tests/dft_feco5$ nwchem dft_feco5.nw >& coba.out &
~/nwchem-6.0/QA/tests/dft_feco5$ tail -f coba.out

sedikit tambahan =>
1, dengan basic build seperti di atas kita mengkompilasi NWCHem tanpa adanya interface, NWCHem menggunakan python sebagai interfacenya dan mengkontrol job.
% setenv NWCHEM_MODULES “all python”
set PYTHONHOME & PYTHONVERSION, contohnya
% setenv PYTHONHOME /usr/local/Python-1.5.1
% setenv PYTHONVERSION 1.5 -> angka revisi ketiga dihilangkan
% setenv USE_PYTHON64 y
kemudian langkah selanjutnya tinggal menyesuaikan yang di atas tetapi, saya sendiri belum pernah mencobanya juga😛
2, Jika di komputer kita sudah terinstall ATLAS, kita bisa memakainya juga
% setenv BLASOPT “-L/usr/lib/atlas-base -lf77blas -latlas” -> folder tempat ATLAS.
3, Untuk kompilasi di platform yang lain silakan merujuk ke file INSTALL di direktori utama nwchem-6.0

Oke, sekian dulu, insya Allah kita sambung lagi jika ada waktu dan kesempatan🙂
Semoga Bermanfa’at!

# instruksi kompilasi diambil dari file INSTALL dengan sedikit tambahan.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s