批量提交作業
做量化計算時,通常要在 Linux 下的用腳本(q.sh)向 Gaussian 或 Gamess 提交作業(qsub q.sh),而且數量通常是比較大的,這時候就可以借助於腳本批量提交作業。
以 Gaussian 為例。
通常 Gaussian 的作業文件名為 *.com ,提交作業的腳本(q.sh)的前幾行如下:
1 #!/bin/bash 2 #PBS -N test 3 #PBS -l nodes=1:ppn=1 4 ##PBS -l walltime=240:00:00 5 #PBS -j oe 6 #PBS -V 7 8 #Please give the name of the INPUT_FILE, such as test.com or ONLY test . Both of them can work. 9 INPUT_FILE=zzz.com 10 11 #----> enter the working directory <----
通常提交作業只需要將第 9 行的 “zzz.com” 改成具體的 Gaussian 文件的名稱。單需要提交的作業比較多時,可以新建一個腳本文件,用 sed 命令來批量提交作業,具體的代碼如下:
1 #!/bin/bash 2 3 for file in *.com 4 do 5 echo ${file} 6 sed "9s/^.*$/INPUT_FILE=${file}/g" q.sh > ${file}.pbs.sh 7 qsub ${file}.pbs.sh 8 done
提交 Gamess 作業只要將 第 3 行的 “*.com” 改成 "*.inp" 就可以了。