Gaussian
Gaussian软件广泛地被全世界各地的化学家、化学工程师、生物化学家、物理学家和其他学科的科学家们所使用。Gaussian从量子力学的基本定律出发,在各种不同的化学环境中预测分子结构、能量、振动频率、分子性质与反应。Gaussian的模型既可以应用于稳定的体系与化合物,也适用于实验中很难或不可能观察到的体系或化合物(例如,生存周期很短的中间体和过渡态结构)。
关于Gaussian的更多信息请访问Gaussian官网。
一、作业提交参数说明
用户可通过公共模板提交Gaussian作业,与Gaussian相关的作业参数如下:
参数 | 描述 |
namelist_input | 输入数据文件 |
Gaussian作业运行参考
1.Gaussian.slurm
#!/bin/bash
#SBATCH --account 00f02p98
#SBATCH --ntasks 0
#SBATCH --cpus-per-task 2
#SBATCH --job-name Gaussian_211221164112
#SBATCH --nodes 1
#SBATCH --mail-type ALL
#SBATCH --partition testforcus
#SBATCH --chdir /lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112
#SBATCH --time 20:00:00
#SBATCH -e /lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112/%j.err
#SBATCH -o /lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112/%j.out
ulimit -s unlimited
ulimit -l unlimited
export g09root=/lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112/g09
export PATH=/lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112/g09:$PATH
source /lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112/g09/bsd/g09.profile
export GAUSS_SCRDIR=/lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112/tmp
export GAUSS_EXEDIR=/lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112/g09
module use /lustre1/software/modulefile/
source /lustre1/software/mpi/intel/2021.1/setvars.sh
module load mpi/intel/2021.1.1
module load compiler/gcc/8.3.0
echo -e "The start time is: `date +"%Y-%m-%d %H:%M:%S"`"
echo -e "My job ID is: $SLURM_JOB_ID"
echo -e "The total cores is: $SLURM_NPROCS"
echo -e "The $SLURM_JOB_ID Job info:"
scontrol show job $SLURM_JOB_ID
cd /lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112
mpirun -genv I_MPI_FABRICS ofi g09 /lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112/test000.com
echo -e "The end time is: `date +"%Y-%m-%d %H:%M:%S"`"
2.input文件
job_name=Gaussian_211221164112
partition=testforcus
work_dir=/lustre1/forcestack/home/test_zyouwei/workspace/Gaussian_211221164112
node_num=1
uid=10014
account=00f02p98
run_time=20:00:00
sum_ntasks=0
cpus_per_task=2
namelist_input=/lustre1/software/app-template/gaussian09/test000.com
3.执行脚本
#!/bin/sh
#set -x
source $1/.env
time=`date +%m%d_%H%M%S`
if [ "x$namelist_input" == "x" ];then
echo "The namelist cannot be empty."
exit 1
else
filename=`basename $namelist_input`
cp $namelist_input $work_dir
sbatch_namelist_input=$work_dir/$filename
fi
cp -rf /lustre1/software/app/Gaussian/g09 $work_dir
err_log=$work_dir/%j.err
out_log=$work_dir/%j.out
mkdir $work_dir/tmp
#slurm文件
cat > $work_dir/job.slurm <<EOF
#!/bin/bash
#SBATCH --account $account
#SBATCH --ntasks $sum_ntasks
#SBATCH --cpus-per-task $cpus_per_task
#SBATCH --job-name $job_name
#SBATCH --nodes $node_num
#SBATCH --mail-type ALL
#SBATCH --partition $partition
#SBATCH --chdir $work_dir
#SBATCH --time $run_time
#SBATCH -e $err_log
#SBATCH -o $out_log
ulimit -s unlimited
ulimit -l unlimited
export g09root=$work_dir/g09
export PATH=$work_dir/g09:\$PATH
source $work_dir/g09/bsd/g09.profile
export GAUSS_SCRDIR=$work_dir/tmp
export GAUSS_EXEDIR=$work_dir/g09
source /lustre1/software/mpi/intel/2021.1/setvars.sh
module load mpi/intel/2021.1.1
module load compiler/gcc/8.3.0
echo -e "The start time is: \`date +"%Y-%m-%d %H:%M:%S"\`"
echo -e "My job ID is: \$SLURM_JOB_ID"
echo -e "The total cores is: \$SLURM_NPROCS"
echo -e "The \$SLURM_JOB_ID Job info:"
scontrol show job \$SLURM_JOB_ID
cd $work_dir
mpirun -genv I_MPI_FABRICS ofi g09 $sbatch_namelist_input
echo -e "The end time is: \`date +"%Y-%m-%d %H:%M:%S"\`"
EOF
if [ "x$run_time" == "x" ];then
sed -i '/--time/d' $work_dir/job.slurm
fi
if [ "x$gpus" != "x" ];then
sed -i "/ntasks/a \#SBATCH --gres gpu:$gpus" $work_dir/job.slurm
fi
chown -R $uid:$uid $work_dir