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 > energy_lucita_mc_corehole.info <<'%EOF%' 21 energy_lucita_mc_corehole 22 ------------------------- 23 Molecule: CO 24 Wave Functions: MCSCF (RAS) with LUCITA as CI module 25 Test Purpose: Core-hole excitations using both a frozen and a 26 relaxed core orbital 27%EOF% 28 29####################################################################### 30# MOLECULE INPUT 31####################################################################### 32cat > energy_lucita_mc_corehole.mol <<'%EOF%' 33INTGRL 34Calculation of core-hole excitations using both a frozen and a relaxed 35core orbital. This is a three step job 36 2 2 X Y 1.D-15 37 8. 1 3 1 1 1 38O 0.000000 0.000000 2.132 39 11 5 4015330. 0.000508 -0.000115 0.000000 0.000000 0.0 412299. 0.003929 -0.000895 0.000000 0.000000 0.0 42522.4 0.020243 -0.004636 0.000000 0.000000 0.0 43147.3 0.079181 -0.018724 0.000000 0.000000 0.0 4447.55 0.230687 -0.058463 0.000000 0.000000 0.0 4516.76 0.433118 -0.136463 0.000000 0.000000 0.0 466.207 0.350260 -0.175740 0.000000 0.000000 0.0 471.752 0.042728 0.160934 1.000000 0.000000 0.0 480.6882 -0.008154 0.603418 0.000000 0.000000 0.0 490.2384 0.002381 0.378765 0.000000 1.000000 0.0 500.073760 0.0 0.0 0.0 0.0 1.000000 51 6 4 5234.46 0.015928 0.000000 0.000000 0.0 537.749 0.099740 0.000000 0.000000 0.0 542.280 0.310492 0.000000 0.000000 0.0 550.7156 0.491026 1.000000 0.000000 0.0 560.2140 0.336337 0.000000 1.000000 0.0 570.05974 0.0 0.0 0.0 1.000 58 3 3 592.314 1.000000 0.000000 0.0 600.645 0.000000 1.000000 0.0 610.214000 0.0 0.0 1.0000 62 6. 1 3 1 1 1 63C 0. 0.000000 0.000000 64 11 5 658236. 0.000531 -0.000113 0.000000 0.000000 0.0 661235. 0.004108 -0.000878 0.000000 0.000000 0.0 67280.8 0.021087 -0.004540 0.000000 0.000000 0.0 6879.27 0.081853 -0.018133 0.000000 0.000000 0.0 6925.59 0.234817 -0.055760 0.000000 0.000000 0.0 708.997 0.434401 -0.126895 0.000000 0.000000 0.0 713.319 0.346129 -0.170352 0.000000 0.000000 0.0 720.9059 0.039378 0.140382 1.000000 0.000000 0.0 730.3643 -0.008983 0.598684 0.000000 0.000000 0.0 740.1285 0.002385 0.395389 0.000000 1.000000 0.0 750.04402 0.000000 0.000000 0.000000 0.000000 1.0 76 6 4 7718.71 0.014031 0.000000 0.000000 0.0 784.133 0.086866 0.000000 0.000000 0.0 791.200 0.290216 0.000000 0.000000 0.0 800.3827 0.501008 1.000000 0.000000 0.0 810.1209 0.343406 0.000000 1.000000 0.0 820.03569 0.000000 0.000000 0.000000 1.0 83 3 3 841.097 1.000000 0.000000 0.0 850.318 0.000000 1.000000 0.0 860.100 0.000000 0.000000 1.0 87%EOF% 88 89####################################################################### 90# DALTON INPUT 91####################################################################### 92cat > energy_lucita_mc_corehole__1.dal <<'%EOF%' 93**DALTON INPUT 94.RUN WAVE FUNCTIONS 95**WAVE FUNCTIONS 96.HF 97*SCF INPUT 98.DOUBLY OCCUPIED 99 5 1 1 0 100.THRESHOLD 101 1.D-04 102.NONCANONICAL 103*OPTIMIZATION 104.NEO ALWAYS 105.DETERMIN 106**END OF INPUT 107%EOF% 108 109cat > energy_lucita_mc_corehole__2.dal <<'%EOF%' 110**DALTON INPUT 111.RUN WAVE FUNCTIONS 112**WAVE FUNCTIONS 113.MCSCF 114.WESTA 115*CONFIGURATION INPUT 116.INACTIVE 117 2 0 0 0 118.RAS1 SPACE 119 1 0 0 0 120.RAS2 SPACE 121 4 2 2 0 122.RAS3 SPACE 123 0 0 0 0 124.RAS1 ELECTRONS 125 1 1 126.ELECTR 127 10 128.SYMMET 129 2 130.SPIN MULTIPLICITY 131 1 132*ORBITA 133.MOSTART 134 NEWORB 135.REORDER 136 2 0 0 0 137 2 3 3 2 138.FREEZE 139 1 0 0 0 140 3 141*OPTIMI 142.CI PROGRAM 143LUCITA 144.NEO ALWAYS 145.TRACI 146.NO ABS 147.DETERM 148.MAX MAC 149 30 150*CI VEC 151.PLUS COMBINATIONS 152.STARTHDIAGONAL 153**END OF INPUT 154%EOF% 155 156cat > energy_lucita_mc_corehole__3.dal <<'%EOF%' 157**DALTON INPUT 158.RUN WAVE FUNCTIONS 159**WAVE FUNCTIONS 160.MCSCF 161.WESTA 162*CONFIGURATION INPUT 163.INACTIVE 164 2 0 0 0 165.RAS1 SPACE 166 1 0 0 0 167.RAS2 SPACE 168 4 2 2 0 169.RAS3 SPACE 170 0 0 0 0 171.RAS1 ELECTRONS 172 1 1 173.ELECTR 174 10 175.SYMMET 176 2 177.SPIN MULTIPLICITY 178 1 179*ORBITA 180.MOSTART 181 NEWORB 182*OPTIMI 183.CI PROGRAM 184LUCITA 185.NR ALWAYS 186.TRACI 187.OPTIMA 188.NO ABS 189.DETERM 190.MAX MAC 191 30 192*CI VEC 193.PLUS COMBINATIONS 194.STARTO 195**END OF INPUT 196%EOF% 197####################################################################### 198 199 200 201####################################################################### 202 203####################################################################### 204# CHECK SCRIPT 205####################################################################### 206echo $CHECK_SHELL >energy_lucita_mc_corehole__1.check 207cat >>energy_lucita_mc_corehole__1.check <<'%EOF%' 208log=$1 209 210if [ `uname` = Linux ]; then 211 GREP="egrep -a" 212else 213 GREP="egrep" 214fi 215 216# Basis set 217CRIT1=`$GREP "O * 1 * 8\.0000 * 44 * 32 * \[11s6p3d\|5s4p3d\]" $log | wc -l` 218CRIT2=`$GREP "C * 1 * 6\.0000 * 44 * 32 * \[11s6p3d\|5s4p3d\]" $log | wc -l` 219CRIT3=`$GREP "total\: * 2 * 14\.0000 * 88 * 64" $log | wc -l` 220CRIT4=`$GREP "Spherical harmonic basis used\." $log | wc -l` 221TEST[1]=`expr $CRIT1 \+ $CRIT2 \+ $CRIT3 \+ $CRIT4` 222CTRL[1]=4 223ERROR[1]="BASIS SET NOT READ CORRECTLY" 224 225# Geometry 226CRIT1=`$GREP "Total number of coordinates\: * 6" $log | wc -l` 227CRIT2=`$GREP "1 * x * (0| )\.0000000000" $log | wc -l` 228CRIT3=`$GREP "2 * y * (0| )\.0000000000" $log | wc -l` 229CRIT4=`$GREP "3 * z * 2\.1320000000" $log | wc -l` 230CRIT5=`$GREP "4 * x * (0| )\.0000000000" $log | wc -l` 231CRIT6=`$GREP "5 * y * (0| )\.0000000000" $log | wc -l` 232CRIT7=`$GREP "6 * z * (0| )\.0000000000" $log | wc -l` 233TEST[2]=`expr $CRIT1 \+ $CRIT2 \+ $CRIT3 \+ $CRIT4 \+ $CRIT5 \+ $CRIT6 \+ \ 234 $CRIT7` 235CTRL[2]=7 236ERROR[2]="GEOMETRY NOT READ CORRECTLY" 237 238# Symmetry 239CRIT1=`$GREP "Number of coordinates in each symmetry\: * 2 * 2 * 2 * 0" $log | wc -l` 240CRIT2=`$GREP "Number of orbitals in each symmetry\: * 30 * 14 * 14 * 6" $log | wc -l` 241TEST[3]=`expr $CRIT1 \+ $CRIT2` 242CTRL[3]=2 243ERROR[3]="SYMMETRY NOT CORRECT" 244 245# SCF energy 246CRIT1=`$GREP "Final * HF energy\: * \-112\.77806297" $log | wc -l` 247TEST[4]=`expr $CRIT1` 248CTRL[4]=1 249ERROR[4]="SCF ENERGY NOT CORRECT" 250 251PASSED=1 252for i in 1 2 3 4 253do 254 if [ ${TEST[i]} -ne ${CTRL[i]} ]; then 255 echo "${ERROR[i]} ( test = ${TEST[i]}; control = ${CTRL[i]} ); " 256 PASSED=0 257 fi 258done 259 260if [ $PASSED -eq 1 ] 261then 262 echo TEST ENDED PROPERLY 263 exit 0 264else 265 echo THERE IS A PROBLEM 266 exit 1 267fi 268 269%EOF% 270####################################################################### 271echo $CHECK_SHELL >energy_lucita_mc_corehole__2.check 272cat >>energy_lucita_mc_corehole__2.check <<'%EOF%' 273log=$1 274 275if [ `uname` = Linux ]; then 276 GREP="egrep -a" 277else 278 GREP="egrep" 279fi 280 281# HERMIT input processing 282##CRIT1=`$GREP "Output from HERMIT input processing" $log | wc -l` 283##TEST[1]=`expr $CRIT1` 284##CTRL[1]=0 285##ERROR[1]="HERMIT INPUT PROCESSING SHOULD _NOT_ BE RUN" 286 287# HERINT 288##CRIT1=`$GREP "Output from HERINT" $log | wc -l` 289##TEST[2]=`expr $CRIT1` 290##CTRL[2]=0 291##ERROR[2]="HERMIT SHOULD NOT BE RUN, THIS IS A RESTART" 292 293# RAS 294CRIT1=`$GREP "Number of active orbitals in RAS1\, RAS2\, and RAS3 \: * 1 * 8 * 0" $log | wc -l` 295CRIT2=`$GREP "Minimum number of electrons in RAS1 \: * 1" $log | wc -l` 296CRIT3=`$GREP "Maximum number of electrons in RAS1 \: * 1" $log | wc -l` 297TEST[3]=`expr $CRIT1 \+ $CRIT2 \+ $CRIT3` 298CTRL[3]=3 299ERROR[3]="RAS NOT SET UP CORRECTLY" 300 301# ? 302CRIT1=`$GREP "Number of orbitals frozen with \"\.FREEZE\" * 1" $log | wc -l` 303CRIT2=`$GREP "3 * 1 * 3 * active" $log | wc -l` 304TEST[4]=`expr $CRIT1 \+ $CRIT2` 305CTRL[4]=2 306ERROR[4]="FROZEN ORBITAL NOT CORRECT" 307 308# Energy 309CRIT1=`$GREP "Final MCSCF energy\: * \-102\.288287(1|2)" $log | wc -l` 310TEST[6]=`expr $CRIT1` 311CTRL[6]=1 312ERROR[6]="MCSCF ENERGY NOT CORRECT" 313 314# Occupancy 315CRIT1=`$GREP "2\.000000000 * 2\.000000000 * 1\.000000000 * 1\.973134.* 1\.982492" $log | wc -l` 316CRIT2=`$GREP "0*\.012752.* 0*\.026467" $log | wc -l` 317CRIT3=`$GREP "1\.977401.* * 1\.021652" $log | wc -l` 318CRIT4=`$GREP "1\.92697[12].* * 0*\.079125" $log | wc -l` 319CRIT5=`$GREP "No occupied orbitals" $log | wc -l` 320TEST[7]=`expr $CRIT1 \+ $CRIT2 \+ $CRIT3 \+ $CRIT4 \+ $CRIT5` 321CTRL[7]=8 322ERROR[7]="NO OCCUPANCIES NOT CORRECT" 323 324PASSED=1 325for i in 3 4 6 7 326do 327 if [ ${TEST[i]} -ne ${CTRL[i]} ]; then 328 echo "${ERROR[i]} ( test = ${TEST[i]}; control = ${CTRL[i]} ); " 329 PASSED=0 330 fi 331done 332 333if [ $PASSED -eq 1 ] 334then 335 echo TEST ENDED PROPERLY 336 exit 0 337else 338 echo THERE IS A PROBLEM 339 exit 1 340fi 341 342%EOF% 343####################################################################### 344echo $CHECK_SHELL >energy_lucita_mc_corehole__3.check 345cat >>energy_lucita_mc_corehole__3.check <<'%EOF%' 346log=$1 347 348if [ `uname` = Linux ]; then 349 GREP="egrep -a" 350else 351 GREP="egrep" 352fi 353 354# HERMIT input processing 355#CRIT1=`$GREP "Output from HERMIT input processing" $log | wc -l` 356#TEST[1]=`expr $CRIT1` 357#CTRL[1]=0 358#ERROR[1]="HERMIT INPUT PROCESSING SHOULD _NOT_ BE RUN" 359 360# HERINT 361#CRIT1=`$GREP "Output from HERINT" $log | wc -l` 362#TEST[2]=`expr $CRIT1` 363#CTRL[2]=0 364#ERROR[2]="HERMIT SHOULD NOT BE RUN, THIS IS A RESTART" 365 366# RAS 367CRIT1=`$GREP "Number of active orbitals in RAS1\, RAS2\, and RAS3 \: * 1 * 8 * 0" $log | wc -l` 368CRIT2=`$GREP "Minimum number of electrons in RAS1 \: * 1" $log | wc -l` 369CRIT3=`$GREP "Maximum number of electrons in RAS1 \: * 1" $log | wc -l` 370TEST[3]=`expr $CRIT1 \+ $CRIT2 \+ $CRIT3` 371CTRL[3]=3 372ERROR[3]="RAS NOT SET UP CORRECTLY" 373 374# Energy 375CRIT1=`$GREP "Final MCSCF energy\: * \-102\.32015413" $log | wc -l` 376TEST[4]=`expr $CRIT1` 377CTRL[4]=1 378ERROR[4]="MCSCF ENERGY NOT CORRECT" 379 380# Occupancy 381CRIT1=`$GREP -l "2\.000000000 * 2\.000000000 * 1\.000000000 * 1\.973575.* 1\.982977.*" $log | wc -l` 382CRIT2=`$GREP -l "0*\.012295.* 0*\.026173.*" $log | wc -l` 383CRIT3=`$GREP -l "1\.977380.* 1\.021666.*" $log | wc -l` 384CRIT4=`$GREP -l "1\.927751.* 0*\.078179.*" $log | wc -l` 385CRIT5=`$GREP -l "No occupied orbitals" $log | wc -l` 386TEST[5]=`expr $CRIT1 \+ $CRIT2 \+ $CRIT3 \+ $CRIT4 \+ $CRIT5` 387# crit4 is found three times on master branch 388CTRL[5]=5 389ERROR[5]="NO OCCUPANCIES NOT CORRECT" 390 391PASSED=1 392for i in 3 4 5 393do 394 if [ ${TEST[i]} -ne ${CTRL[i]} ]; then 395 echo "${ERROR[i]} ( test = ${TEST[i]}; control = ${CTRL[i]} ); " 396 PASSED=0 397 fi 398done 399 400if [ $PASSED -eq 1 ] 401then 402 echo TEST ENDED PROPERLY 403 exit 0 404else 405 echo THERE IS A PROBLEM 406 exit 1 407fi 408 409%EOF% 410####################################################################### 411