Gaussian16 [TH]
Gaussian เป็น software licenses ทางด้าน Quantum Chemistry สามารถศึกษาข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมได้ที่ https://gaussian.com/
ผู้ใช้งานต้องทำการจัดซื้อสิทธิ์การใช้งานกับบริษัทผู้พัฒนาโปรแกรม และทำการติดตั้งโปรแกรมบนระบบ HPC ก่อนเริ่มการใช้งาน
ขั้นตอนการใช้งาน Gaussian16 version 16.B.01
สำหรับบุคคลากรของ สวทช. โปรดติดต่อ thaisc-support@nstda.or.th เพื่อตรวจสอบสิทธิ์การใช้งาน
สำหรับบุคคลภายนอก สวทช. โปรดติดต่อ https://gaussian.com/orders/ เพื่อซื้อสิทธิ์การใช้งาน หรือหากท่านมีสิทธิ์การใช้งาน Gaussian16 version 16.B.01 เรียบร้อยแล้ว สามารถส่งหลักฐาน license agreement มายัง thaisc-support@nstda.or.th เพื่อเปิดการใช้งาน Gaussian16 module
1. เตรียม input
ตัวอย่าง input สำหรับ Gaussian สำหรับ graphene <carbon.com>
%mem=100GB
%nprocshared=40
%chk=test.chk
# opt b3lyp/6-31g
Title Card Required
0 1
C 3.20693529 0.12361992 0.00000000
C 4.60209529 0.12361992 0.00000000
C 5.29963329 1.33137092 0.00000000
C 4.60197929 2.53987992 -0.00119900
C 3.20715429 2.53980192 -0.00167800
C 2.50955329 1.33159592 -0.00068200
H 2.65717629 -0.82869708 0.00045000
H 5.15160329 -0.82889308 0.00131500
H 6.39931329 1.33145092 0.00063400
H 5.15217929 3.49202292 -0.00125800
H 2.65703229 3.49208292 -0.00263100
H 1.40994929 1.33177892 -0.00086200
สามารถศึกษาข้อมูลโปรแกรม Gaussianได้ที่ https://gaussian.com/techsupport/
2. การเตรียม Job submission script
2.1 การใช้งานบน compute node
สำหรับการรันงานบน compute node
โดยใช้ 40 CPU-cores
และ job time limit 120:00:00
ชั่งโมง สำหรับ input file ชื่อ carbon.com
ภายใต้ project account train001
(จำเป็นต้องเปลี่ยนเป็น project account ที่ท่านเป็นสมาชิกในโครงการฯ)
ตัวอย่าง job submission script <g16-test.sh>
#!/bin/bash -l
#SBATCH -p compute #specific partition
#SBATCH -N 1 --cpus-per-task=40 #specific number of nodes and task per node
#SBATCH -t 120:00:00 #job time limit <hr:min:sec>
#SBATCH -J test #job name
#SBATCH -A train001 #project account
module purge #purge all module
module load intel/2019b #module load intel
module load Gaussian/16.B.01-AVX2 #load gaussian version16
FILENAME=carbon #indicate your input filename
WORKDIR=$SLURM_SUBMIT_DIR
######################################################
# nothing should need changed below here to run unless you do not
#
export GAUSS_SCRDIR=$SLURM_TMPDIR
cd $WORKDIR
cp $FILENAME.com $GAUSS_SCRDIR
cp $FILENAME.chk $GAUSS_SCRDIR
cd $GAUSS_SCRDIR
##run_GAUSSIAN $FILENAME.com
g16 < $FILENAME.com >> $WORKDIR/$FILENAME.log
cp *.chk $WORKDIR/$FILENAME.chk
cp $FILENAME.fch* $WORKDIR/
cp *.cu* $WORKDIR/
rm -rf $GAUSS_SCRDIR/
#----- End of g16 SLURMJOB ---------
2.2 การใช้งานบน memory node
สำหรับการรันงานบน memory node ให้เปลี่ยน #SBATCH -p เป็น memory
และสามารถระบุจำนวน CPU-core ได้สูงสุด 192 CPU-cores
หากต้องการใช้จำนวน CPU ที่น้อยลง แนะนำให้ระบุจำนวน CPU เป็น 24, 48 หรือ 96 เป็นต้น
#!/bin/bash -l
#SBATCH -p memory #specific partition
#SBATCH -N 1 --cpus-per-task=192 #specific number of nodes and task per node
#SBATCH -t 120:00:00 #job time limit <hr:min:sec>
#SBATCH -J test #job name
#SBATCH -A train001 #project account
3. Job submission
ทำการส่งรันงานในระบบ โดยใช้คำสั่ง sbatch และตามด้วยไฟล์ job submission script
Related articles