Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
faq:chimie:gaussian [2018/07/23 13:42] – créée tjiang | faq:chimie:gaussian [2022/03/03 16:29] (Version actuelle) – [Submission script Gaussian 16] tjiang | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== GAUSSIAN ====== | ====== GAUSSIAN ====== | ||
+ | ===== Submission script Gaussian 16 ===== | ||
+ | <code bash sub_gaussian16.sh> | ||
+ | #!/bin/bash | ||
+ | #$ -S /bin/bash | ||
+ | #$ -N test | ||
+ | #$ -o $JOB_NAME.batch-log | ||
+ | #$ -j y | ||
+ | #$ -cwd | ||
+ | #$ -V | ||
+ | #$ -q E5* | ||
+ | ##$ -pe gaussian8 8 | ||
+ | #$ -pe openmp8 8 | ||
+ | # trace script (debug purpose, not mandatory) | ||
+ | #set -x | ||
+ | # set globals | ||
+ | job=" | ||
+ | ExtIn=" | ||
+ | ExtOut=" | ||
+ | |||
+ | # Environment setting for gaussian | ||
+ | module use / | ||
+ | # Automatically decide which binary to use, depending on the cpu architecture | ||
+ | cpu_arch=" | ||
+ | module use / | ||
+ | if [[ $cpu_arch = *" | ||
+ | module load gaussian/ | ||
+ | elif [[ $cpu_arch = *" | ||
+ | module load gaussian/ | ||
+ | else | ||
+ | echo "" | ||
+ | echo "#########################################################" | ||
+ | echo "This queue (${QUEUE}) is too old for running Gaussian 16!!!" | ||
+ | echo "#########################################################" | ||
+ | echo "" | ||
+ | exit | ||
+ | fi | ||
+ | source " | ||
+ | export Gaussian=" | ||
+ | |||
+ | #cd " | ||
+ | #echo "########## | ||
+ | #env | ||
+ | #echo "########## | ||
+ | echo "########## | ||
+ | hostname | ||
+ | |||
+ | HOMEDIR=" | ||
+ | # Replace ' | ||
+ | # check if scratch exist, create or complain | ||
+ | if [[ -d "/ | ||
+ | then | ||
+ | SCRATCHDIR="/ | ||
+ | mkdir -p " | ||
+ | elif [[ -d "/ | ||
+ | then | ||
+ | SCRATCHDIR=/ | ||
+ | mkdir -p " | ||
+ | elif [[ -d "/ | ||
+ | then | ||
+ | SCRATCHDIR=/ | ||
+ | mkdir -p " | ||
+ | else | ||
+ | echo "/ | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | CalcDir=" | ||
+ | echo " | ||
+ | mkdir -p " | ||
+ | |||
+ | |||
+ | # Gaussian specific ScratchDir | ||
+ | export GAUSS_SCRDIR=" | ||
+ | |||
+ | Machine=$(hostname) | ||
+ | |||
+ | # check if there is a chk or chk.gz | ||
+ | # TODO/FIXME there' | ||
+ | NChk=$(grep -i " | ||
+ | if [ " | ||
+ | then | ||
+ | NChk=$(basename " | ||
+ | fi | ||
+ | if [[ -s " | ||
+ | then | ||
+ | cp " | ||
+ | fi | ||
+ | if [[ -s " | ||
+ | then | ||
+ | cp " | ||
+ | gunzip " | ||
+ | fi | ||
+ | |||
+ | cp " | ||
+ | |||
+ | # logrotate old logs | ||
+ | if [[ -s " | ||
+ | then | ||
+ | Ext=1 | ||
+ | while [[ -s " | ||
+ | do | ||
+ | #let Ext=Ext+1 | ||
+ | Ext=$(( Ext+1 )) | ||
+ | done | ||
+ | mv " | ||
+ | fi | ||
+ | |||
+ | cd " | ||
+ | echo " | ||
+ | ls -al | ||
+ | |||
+ | #echo "time ${Gaussian} < ${job}.${ExtIn} > ${HOMEDIR}/ | ||
+ | |||
+ | #/ | ||
+ | " | ||
+ | |||
+ | if [[ -s " | ||
+ | then | ||
+ | gzip -9 " | ||
+ | cp " | ||
+ | fi | ||
+ | |||
+ | |||
+ | #copy back everything including the huge rwf files, normally we don't need it | ||
+ | #cp -- * " | ||
+ | cp -- outputfiles_only " | ||
+ | |||
+ | # final cleanup (commented during debug) | ||
+ | rm -r " | ||
+ | |||
+ | |||
+ | |||
+ | </ |