Gaussian 03

Dari PaloDozen

Gaussian adalah perangkat lunak untuk pemodelan struktur material elektronik, umumnya dipakai untuk simulasi material semi konduktor.

Daftar isi

Lisensi

Gaussian adalah perangkat lunak komersial. Saat ini ITB memiliki lisensi kampus.

Mengunduh

Perangkat lunak ini harus dibeli dari situs [http://www.gaussian.com]

Pemasangan

Gaussian datang dalam versi source atau binary. Pemasangan dilakukan oleh root secara global, dan nantinya bisa dipakai oleh semua pemakai.

Versi Binary

Pemasangan versi binary di Rock Cluster adalah sbb:

# groupadd -r g03users
# mount /mnt/cdrom
# export mntpnt=/mnt/cdrom
# export g03root=/share/apps
# cd $g03root
# cat $mntpnt/TAR/*.TAZ | zcat | tar xvf -
# chown -R root:g03users g03
# cd g03
# ./bsd/install

Mengatur Environment

Agar setiap user anggota g03users bisa memakai dengan benar, edit file /etc/profile.d/g03, tambahkan :

if id -Gn | grep 'g03users'; then
  echo "Welcome g03 user"
  export g03root=/share/apps
  export GAUSS_SCRDIR=/tmp/$UID/g03
  mkdir -p $GAUSS_SCRDIR
  source $g03root/g03/bsd/g03.profile
fi

Mendaftarkan User

Setiap user yang akan memakai, harus dimasukkan ke group g03users dengan cara

usermod -a -G g03users user_name
rocks sync users

Pemakaian

Login ke Kluster

Seperti biasa, anda harus login ke kluster Bantuan:Memakai_Kluster. Jika ada rencana memakai visualisasi, gunakan X redirection.

Untuk bisa menjalankan, anda harus terdaftar sebagai group g03user. Silahkan periksa dengan perintah id

$ id
uid=501(dozen) gid=501(dozen) groups=100(users),402(viz),406(g03users),501(dozen)

Jika dalam list groups tidak ada (g03users), hubungi administrator.

Buat folder

Sebagai user, buat folder kerja

mkdir -p ~/work/g03

Mencoba

Pakai contoh program sediaan g03, misal test817.com

cd ~/work/g03
cp /share/apps/g03/tests/com/test817.com
g03 test817.com
less test817.log

Visualisasi Dengan Molden

Untuk melihat hasil perhitungan Gaussian dengan Molden, maka edit file input gaussian lalu tambahkan sebaris parameter berikut

#P GFINPUT IOP(6/7=3)

Misal setelah file test817 diberi paremeter tersebut, hitung lalu lihat hasilnya sebagai berikut:

g03 test817.com
molden test817.log 

Berkas:Molden.png

Pemakaian Pada Kluster

Untuk menjalankan kerjaan gaussian pada kluster Dozen, harus digunakan Gaussian with Linda yang diluncurkan dengan Sun Grid Engine. Misalkan kita akan menjadwalkan pekerjaan ke antrian cpu.q, terdiri atas 6 komputer, masing masing memiliki 1 prosesor quad core, dan memori 2 GB. Maka langkah-langkahnya:

Parameter Input File

Siapkan input file Gaussian, misal test817p.com. Pada awal script tersebut harus ditambahkan parameter:

%NProcLinda=6
%NprocShared=2
%mem=6GB 
#P GFINPUT IOP(6/7=3)

Dimana:

  •  %NProcLinda : jumlah prosesor paralel yang akan digunakan. Karena ada 6 komputer quad core, maka maksimum adalah 24.
  •  %NProcShared : jumlah prosesor paralel dalam 1 komputer. Untuk quad core, maksimum 4
  •  %mem : memori maksimal yang diperlukan (GB = gigabyte)
  • #P : mengartur format agar bisa ditampilkan dengan Molden

Buat Script Bash

Selanjutnya untuk mengirim kerjaan tersebut dengan SGE, kita perlu membuat skrip. Salin saja dulu dari yang standar, lalu edit:

$ cp /share/apps/g03/scripts/sge-g03l.sh test817.sh
$ mcedit test817.sh

Silahkan ganti nama file INPUT, dan jika perlu NODELIST host yang akan dipakai.

#!/bin/bash
# SGE sample script for launchig Gaussian job
#$ -S /bin/bash
#$ -cwd
# Use MPI environment, with 6 slots
#$ -pe mpi 6

# Set the SGE environment
export SGE_ROOT=/opt/gridengine
source $SGE_ROOT/default/common/settings.sh

# Set the G03 environment
export g03root=/share/apps
export PATH=$PATH:$g03root/g03/bsd
(cd $g03root/g03/bsd)
source ${g03root}/g03/bsd/g03.profile

# Make local scratch folder
export GAUSS_SRCDIR=/state/partition1/tmp/$UID
mkdir -p $GAUSS_SRCDIR

# Pakai SSH
# Ketik quote dan double-quote persis seperti ini !
OPT='"Tsnet.Node.lindarsharg: ssh"'

# List nama node untuk dikirimi JOB, sesuaikan dengan ketersediaan mesin
NODELIST='"compute-1-0 compute-1-1 compute-1-2 compute-1-3"'

# Nama input file, sesuaikan dengan pekerjaan anda
$INPUT=test817

# mulai berjalan ...
export GAUSS_LFLAGS="-nodelist $NODELIST -opt $OPT"
g03l $INPUT

Kirim Kerjaan

Lalu submit kerjaan dengan SGE:

[user@dozen]$ qsub test817p.sh

Lihat Status

[user@dozen]$ qstat
job-ID  prior   name       user         state submit/start at     queue  slots ja-task-ID
-----------------------------------------------------------------------------------------
     63 0.50500 test817p.sh user        r     10/05/2009 16:42:25        6

Hasil

Setelah dijalankan ada beberapa berkas

  • berkas test817p.sh.* adalah hasil keluaran SGE, isinya antara lain pesan kesalahan.
  • Berkas test817p.log adalah keluaran Gaussian yang anda inginkan

Kontributor: Mursito