1#!/bin/sh 2# 3# This is the script for generating files for a specific Dalton test job. 4# 5# For the .check file ksh or bash is preferred, otherwise use sh 6# (and hope it is not the old Bourne shell, which will not work) 7# 8if [ -x /bin/ksh ]; then 9 CHECK_SHELL='#!/bin/ksh' 10elif [ -x /bin/bash ]; then 11 CHECK_SHELL='#!/bin/bash' 12else 13 CHECK_SHELL='#!/bin/sh' 14fi 15 16 17####################################################################### 18# TEST DESCRIPTION 19####################################################################### 20cat > prop_dft_nacme.info <<%EOF% 21 prop_dft_nacme 22 ---------- 23 Molecule: H2 24 Wave Function: B3-LYP / 6-31G** 25 Test Purpose: Calculation of vibrational g-factor as sum 26 over all first order non-adiabatic coupling elements 27%EOF% 28 29####################################################################### 30# MOLECULE INPUT 31####################################################################### 32cat > prop_dft_nacme.mol <<%EOF% 33BASIS 34cc-pVTZ 35N2 HF NACME; basis set : cc-pVTZ 36 37 1 0 38 7.00 2 39N_a 0.000000000000000 0.000000000000000 1.037572100000000 * 40N_b 0.000000000000000 0.000000000000000 -1.037572100000000 * 41FINISH 42%EOF% 43 44####################################################################### 45# DALTON INPUT 46####################################################################### 47cat > prop_dft_nacme.dal <<%EOF% 48**DALTON INPUT 49.RUN PROPERTIES 50**WAVE FUNCTIONS 51.DFT 52 B3LYP 53**PROPERTIES 54.EXCITA 55.NACME 56*RESPON 57.THRESH 58 1.0D-09 59*TROINV 60.SKIP 61*EXCITA 62.FNAC 63.NEXCITA 64 10 65.THRESH 66 1.0D-9 67**END OF DALTON INPUT 68%EOF% 69####################################################################### 70 71 72 73####################################################################### 74 75####################################################################### 76# CHECK SCRIPT 77####################################################################### 78echo $CHECK_SHELL >prop_dft_nacme.check 79cat >>prop_dft_nacme.check <<'%EOF%' 80log=$1 81 82if [ `uname` = Linux ]; then 83 GREP="egrep -a" 84else 85 GREP="egrep" 86fi 87 88if $GREP -q "not implemented for parallel calculations" $log; then 89 echo "TEST ENDED AS EXPECTED" 90 exit 0 91fi 92 93# Basis set 94CRIT1=`$GREP "H * 2 * 1\.0000 * 7 * 5 * \[4s1p\|2s1p\]" $log | wc -l` 95CRIT2=`$GREP "total\: * 2 * 2\.0000 * 14 * 10" $log | wc -l` 96TEST[1]=`expr $CRIT1 \+ $CRIT2` 97CTRL[1]=2 98ERROR[1]="BASIS SET NOT READ CORRECTLY" 99 100# Geometry 101CRIT1=`$GREP "Total number of coordinates\: * 6" $log | wc -l` 102CRIT2=`$GREP "H * \/ * 1 \: * 1 * x * (0| )\.0000000000 * 2 * y * (0| )\.0000000000 * 3 * z * 1\.5000000000" $log | wc -l` 103CRIT3=`$GREP "H * \/ * 2 \: * 4 * x * (0| )\.0000000000 * 5 * y * (0| )\.0000000000 * 6 * z * \-1\.5000000000" $log | wc -l` 104TEST[2]=`expr $CRIT1 \+ $CRIT2 \+ $CRIT3` 105ECHO[2]="$CRIT1 $CRIT2 $CRIT3" 106CTRL[2]=3 107ERROR[2]="GEOMETRY NOT READ CORRECTLY" 108 109# Symmetry 110CRIT1=`$GREP "Number of coordinates in each symmetry\: * 1 * 1 * 1 * 0 * 1 * 1 * 1 * 0" $log | wc -l` 111CRIT2=`$GREP "Number of orbitals in each symmetry\: * 3 * 1 * 1 * 0 * 3 * 1 * 1 * 0" $log | wc -l` 112TEST[3]=`expr $CRIT1 \+ $CRIT2` 113CTRL[3]=2 114ERROR[3]="SYMMETRY NOT CORRECT" 115 116# Energies 117CRIT1=`$GREP "Final MCSCF energy\: * \-1\.04697084862[0-9]" $log | wc -l` 118TEST[4]=`expr $CRIT1` 119CTRL[4]=1 120ERROR[4]="ENERGIES NOT CORRECT" 121 122# Properties setup 123CRIT1=`$GREP "The molecular gradient" $log | wc -l` 124CRIT2=`$GREP "The molecular Hessian" $log | wc -l` 125CRIT3=`$GREP "Electronic excitation energies" $log | wc -l` 126CRIT4=`$GREP "First order nonadiabatic coupling elements" $log | wc -l` 127TEST[5]=`expr $CRIT1 \+ $CRIT2 \+ $CRIT3 \+ $CRIT4` 128ECHO[5]="$CRIT1 $CRIT2 $CRIT3 $CRIT4" 129CTRL[5]=4 130ERROR[5]="CALCULATION OF VIBRATIONAL G-FACTOR NOT SET UP CORRECTLY" 131 132# Vibrational g-factor 133CRIT1=`$GREP "Vibrational g\-factor\: * H * z\[ * 3 * \- * 6\]\/2 * 1\.337[12]" $log | wc -l` 134# Vibrational g-factor: H z[ 3 - 6]/2 1.337202 ! no d-states included /hjaaj 135# Vibrational g-factor: H z[ 3 - 6]/2 1.337165 ! with 2 d-states included /hjaaj 136CRIT2=`$GREP "Vibrational g\-factor\: * H * x\[ * 1 * \+ * 4\]\/2 * (0| )\.413557" $log | wc -l` 137CRIT3=`$GREP "Vibrational g\-factor\: * H * y\[ * 2 * \+ * 5\]\/2 * (0| )\.413557" $log | wc -l` 138CRIT4=`$GREP "Vibrational g\-factor\: * H * z\[ * 3 * \+ * 6\]\/2 * 1\.438462" $log | wc -l` 139CRIT5=`$GREP "Vibrational g\-factor\: * H * x\[ * 1 * \- * 4\]\/2 * (0| )\.302475" $log | wc -l` 140CRIT6=`$GREP "Vibrational g\-factor\: * H * y\[ * 2 * \- * 5\]\/2 * (0| )\.302475" $log | wc -l` 141TEST[6]=`expr $CRIT1 \+ $CRIT2 \+ $CRIT3 \+ $CRIT4 \+ $CRIT5 \+ $CRIT6` 142ECHO[6]="$CRIT1 $CRIT2 $CRIT3 $CRIT4 $CRIT5 $CRIT6" 143CTRL[6]=6 144ERROR[6]="VIBRATIONAL G-FACTOR NOT CORRECT" 145 146PASSED=1 147for i in 1 2 3 4 5 6 148do 149 if [ ${TEST[i]} -ne ${CTRL[i]} ]; then 150 echo "${ERROR[i]} ( test = ${TEST[i]}; control = ${CTRL[i]} ); " 151 echo ${ECHO[i]} 152 PASSED=0 153 fi 154done 155 156if [ $PASSED -eq 1 ] 157then 158 echo TEST ENDED PROPERLY 159 exit 0 160else 161 echo THERE IS A PROBLEM 162 exit 1 163fi 164%EOF% 165####################################################################### 166